Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~
Search
sakajunquality
December 03, 2018
Technology
1
1.3k
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~
Japan Container Days v18.12 MeetUp
sakajunquality
December 03, 2018
Tweet
Share
More Decks by sakajunquality
See All by sakajunquality
DevFest Tokyo 2023: Google Cloudでチームで安全にデプロイをする
sakajunquality
10
1.8k
Cloud Spanner Monitoring 入門 / Cloud Spanner Monitoring Introduction
sakajunquality
1
1.3k
GKE Overview March 2021: Introducing Autopilot
sakajunquality
1
810
Introduction to Cloud Run 2021
sakajunquality
3
1.5k
Building Reliable Distributed Systems on GCP
sakajunquality
1
230
Istio 1.5 Updates
sakajunquality
4
1.9k
GCP 101: Getting Started through Cloud Run
sakajunquality
6
3.6k
Seeking Observability, Getting Started with Service Mesh
sakajunquality
0
140
Fastly Yamagoya Meetup: Leveraging Cloud Portability with Fastly
sakajunquality
0
16k
Other Decks in Technology
See All in Technology
Kubernetes x k6 で負荷試験基盤を開発して 負荷試験を民主化した話 / Kubernetes x k6
sansan_randd
2
730
君も受託系GISエンジニアにならないか
sudataka
1
370
家電アプリ共通PF "Linova" のAPI利用とPostman活用事例ご紹介
yukiogawa
0
130
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
SCSAから学ぶセキュリティ管理
masakamayama
0
140
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
日経電子版 x AIエージェントの可能性とAgentic RAGによって提案書生成を行う技術
masahiro_nishimi
1
290
RSNA2024振り返り
nanachi
0
500
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
550
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
110
スクラムのイテレーションを導入してチームの雰囲気がより良くなった話
eccyun
0
110
Featured
See All Featured
Designing Experiences People Love
moore
139
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Docker and Python
trallard
44
3.3k
GitHub's CSS Performance
jonrohan
1030
460k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Producing Creativity
orderedlist
PRO
343
39k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Designing for humans not robots
tammielis
250
25k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Transcript
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~ Japan Container Days v18.12 MeetUp @sakajunquality
- Google Developers Expert - Software Engineer @ Ubie Inc.
- やってること #infrastructure #docker #kubernetes - 好きなこと #coffee #beer About @sakajunquality
About Ubie - 医療スタートアップ - 創業約1年半 - エンジニア 6名 -
内インフラ: 1
Today’s Agenda - PaaSから Kubernetes に移行した話 - Kubernetes 移行で苦労した話 -
Kubernetes 移行後苦労した話
PaaS から Kubernetes に移行した 話
Why Kubernetes? - すでに複数のサービスが動いている、今後もサービスが増える予定 - GCPにはマネージドのKubernetesがある - 個人的に好き
- フロント1つ + 複数のバックエンドが稼働 - バックエンドは、Ruby on Rails から Kotlin
w/ Spring Boot に移行中 Services in Ubie
- フロント1つ + 複数のバックエンドが稼働 - さらにサービスは増える予定 Services in Ubie
GCP - Heroku から GCP に移行することが決まっていた - セキュリティやマネージドサービスなどの理由 - GKE
- マネージド Kubernetes - CI / CDもマネージド - マネージド Istio など今後も期待
個人的に好き - 個人的には結構重要だと思う
移行 - 移行 - 新しいバックエンドのサービスの稼働 - 既存のサービスの移行 - スケジュール -
2018年10月にUbie入社 - 2018年11月頭に移行完了 - (本当は10月中に終わらせたかった )
PaaS から Kubernetes に載せ替えて - リソースが効率化された - Compute / Memory
/ Disk - サービス間の通信で無駄に外に行くことがなくなった - インターナルなサービスで通信 - 体感速度も上がった! - プロセスの監視もしっかりできるようになった - デプロイフローも GitOps で統一できた
GitOpsの話はシアトルで!
Kubernetes is Great!
Kubernetes 移行で苦労した話
Kubernetes 移行で苦労した話 - Dockernize・環境変数 - なぜか動かないのでデバッグ - Kubernetes 自体
Dockernize - そもそものDocker化されていなかった
Dockernize - そもそものDocker化されていなかった - → Docker化してもらった
Dockernize - そもそものDocker化されていなかった - → Docker化してもらった - → いざ動かしたら動かないw
環境変数 - 環境変数がコード化されていない - heroku config すればOK - 本番・ステージで微妙に違ったり・・・
環境変数 - 環境変数がコード化されていない - heroku config すればOK - 本番・ステージで微妙に違ったり・・・ -
→ 泥臭く精査(いらないもの消したり)
なぜか動かないのでデバッグ - コンテナにtcpdump入れてリクエストを見てみたり・・・ - kubectl exec をひたすら繰り返す
Kubernetes 自体が難しい - アプリケーション開発者には Kubernetes は意識させたくない - が、すぐにそこまで作り込めないので触って貰う必要がある
外部でやったハンズオンを社内でやったり https://github.com/sakajunquality/gke-getting-started
Kubernetes is Difficult!
- 場合によっては、Kubernetes で動かすところまでたどり着くのも難しい - 慣れてないと、Kubernetes 自体難しい Kubernetes is Difficult!
Kubernetes 移行後苦労した話
Kubernetes 移行後苦労してる話
Kubernetes 移行後苦労してる話 - ジョブの実行 - Podがevicted - デプロイの通知 - namespaceの区切り方ミス
ジョブの実行 - DBマイグレーションなどの定常的なジョブ - → デプロイのパイプラインに組み込む - → 問題なし
ジョブの実行 - 順序を気にするようなアドホックのコマンドを実行する - → batch/v1のJob? - → kubectl exec?
- どう自動化に組み込むか? - リッチなCI用意する?
Podがevicted - Podの一覧を見るとevictedになっている - 割り当てたディスクを使い果たす - → アプリケーションのバグだったの修正 - 割り当てたメモリを使い果たす
- → 調査中
デプロイの通知 - ローリングアップデートの通知がわかりにくい - 単純に作ればいいが、時間が取れていない・・
- RubyからKotlinへの書き換えをしているので、言語でnamespaceを区切った - → RBACのことを考えると、組織の発展を考えた区切り方にしたほうが良かった namespaceの区切り方
Kubernetes is Hard!
Kubernetes is Hard! - 本番運用し始めてから気づくことも - 運用の大変なところはコンテナにしてもそうじゃなくても変わらないところが大き い - どう自動化するかとか
Kubernetes is still Great?
- オーケストレーションとしてよくできていると思う - アプリケーション開発者に意識させない用にするには、結構作り込みがいる気 がする - ただし作り込めば、新しいサービスを増やす際も共通の基盤として使える Kubernetes is still
Great?
Kubernetes in startup? - リソースが限られているので、作り込みが甘いのは多少しょうがない - Kubernetes を使って実現したい世界をアプリケーション開発者に共有し、協力 を得る
Conclusion
Conclusion - Kubernetes is Great! - Kubernetes is Difficult! -
Kubernetes is Hard! - Kubernetes is Great!
Thank you