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.9k
Cloud Spanner Monitoring 入門 / Cloud Spanner Monitoring Introduction
sakajunquality
1
1.4k
GKE Overview March 2021: Introducing Autopilot
sakajunquality
1
870
Introduction to Cloud Run 2021
sakajunquality
3
1.6k
Building Reliable Distributed Systems on GCP
sakajunquality
1
280
Istio 1.5 Updates
sakajunquality
4
2k
GCP 101: Getting Started through Cloud Run
sakajunquality
6
3.8k
Seeking Observability, Getting Started with Service Mesh
sakajunquality
0
180
Fastly Yamagoya Meetup: Leveraging Cloud Portability with Fastly
sakajunquality
0
16k
Other Decks in Technology
See All in Technology
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
720
AI駆動開発の実践とその未来
eltociear
2
500
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1k
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.4k
Claude Codeを使った情報整理術
knishioka
11
8.5k
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
270
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
4k
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
5
870
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
1
420
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
460
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
180
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
160
Featured
See All Featured
Design in an AI World
tapps
0
100
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Accessibility Awareness
sabderemane
0
24
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
210
Building AI with AI
inesmontani
PRO
1
580
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
94
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Between Models and Reality
mayunak
0
150
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
280
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