※※2019 / 08 / 14 追記 YouTubeに投稿されたセッションのリンクを追加しました。※※
Cloud CodeとコンテナツールでK8sを使った開発を徹底効率化
- 岩成祐樹
- Google Cloud
- カスタマーエンジニア
- YouTube
container or k8s
コンテナを用いた選択肢
- GAE(source base)
- Cloud Run (container base& serverless)
- GKE(container base)
k8sを使ってローカル開発を効率化
- 開発者はコードにフォーカスしたいがやることがたくさんある
- インフラ管理
- OS
- middle ware
- monitoring - etc...
- インフラ管理
k8sを用いた開発の難しさ
- painful deployment cycle
- ソースの修正のたびに繰り返し作業が発生
- context switch
- ブラウザ、IDE等の移動で生産性↓
- high learning cost
- 全部は把握しきれない(k8s自体の開発がかなり早い)
- チームとして把握していることが望ましいがなかなか難しい
Cloud Code
- コードにフォーカスしてできる
- IDEで一元管理
- deploy
- debug
- Pod管理
- etc
- IDEで一元管理
特徴
- k8sの開発サイクル
- バックエンドではskaffold
- デバッグ
- コンテナ内のデバッグとか
- IDEからbreak pointを置ける
- クラスター管理
- podの状況
- YAMLの修正の可視化
- 反映させなくてもわかるようになっている
- テンプレートと編集支援
- deployment, debugが用意されたテンプレートから作成できる
- エコシステムとの統合
- 新規のプロダクトに対してのキャッチアップの時間を削りたい...!
- GCPとの統合
- GCPの情報をIDEの中でみることができる
- GCPの情報をIDEの中でみることができる
- 自動で認証情報を登録される(./kube/config)
- deployの選択肢
- ワンショットのデプロイ
- 継続的デプロイ(ソースの変更を検知してデプロイ)
- GKEだけじゃなくてEKSやAKSにも使える
skaffold
- k8sアプリをのCDをサポートするCLI
- クライアントのみでも動作し、プラグイン機構で拡張できる
まとめ
- k8sの学習コストを抑えつつ、ローカル開発を最大限に効率化させるためのCloud Code
個人的ToDo
- skaffold