Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~
Search
sakajunquality
December 03, 2018
Technology
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~
Kubernetes in Startup ~UbieのインフラをKubernetesに乗せた話~
Japan Container Days v18.12 MeetUp
sakajunquality
December 03, 2018
More Decks by sakajunquality
See All by sakajunquality
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
3
7.9k
DevFest Tokyo 2023: Google Cloudでチームで安全にデプロイをする
sakajunquality
10
2k
Cloud Spanner Monitoring 入門 / Cloud Spanner Monitoring Introduction
sakajunquality
1
1.6k
GKE Overview March 2021: Introducing Autopilot
sakajunquality
1
930
Introduction to Cloud Run 2021
sakajunquality
3
1.7k
Building Reliable Distributed Systems on GCP
sakajunquality
1
330
Istio 1.5 Updates
sakajunquality
4
2.1k
GCP 101: Getting Started through Cloud Run
sakajunquality
6
3.9k
Seeking Observability, Getting Started with Service Mesh
sakajunquality
0
230
Other Decks in Technology
See All in Technology
会社説明資料
persolserverworks
0
9.8k
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
890
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
820
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Metadata - Section 1: HTML Basics
mohab1
0
120
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
200
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
270
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
280
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
14
40k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Side Projects
sachag
456
43k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
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