More Related Content Similar to Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kubernetes meetup #9 (20) Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kubernetes meetup #92. 青山 真也 (Masaya Aoyama)
@amsy810
普段の主な仕事↓
世界で 138 番目
https://adtech.cyberagent.io/techblog/
archives/3086
6. High Velocity の重要性
Kubernetes を使って High Velocity を実現しましょう!
※ 変更から反映までの間隔を出来るだけ短くすること
溜まりすぎて巨大な Commit にしてしまうとマージコストが高い
ビジネスロジックを作ってからマージまで長いと機会損失
8. 1. Image First
● Immutable なコンテナにする
● コンテナ起動時に実行プログラムを DL しない(イメージに内包させる)
● 前回起動時と異なる動作を行う処理を Entrypoint で行わない
● local / dev / prd で同じイメージを利用する
● latest タグは使わない
● 時間指定でイメージのロールバックを出来るように履歴を取っておく
● GitHub の特定のコミットと Image Tag を紐付けておく
● local でビルドして push はしない(自動化必須)
10. 3. Maintain Application Portability
クラスタが消し飛んだときに復旧できますか? (会場では x hour ~ x day の声)
● 設定ファイルはコンテナイメージに内包せず ConfigMap / Secret を使う
○ Docker Build は出来るだけ避ける
○ 環境変化に強い設計にする
● Helm Charts 化も検討する
○ アプリケーション、ネットワーク周りを一括で管理できるため復旧が早い
● ディザスタリカバリのテストもする
11. 4. Outsource Cluster Management
● クラスタの管理は専門チームに任せる
● 開発者はアプリケーションの開発のみに専念する
● 但し、スケーラビリティや冗長化を頭に入れて開発しておく
● Certified Kubernetes Conformance Program に準拠した構成にしましょう
○ 一部の Kubernetes 環境にしかない機能に依存すると移行が難しい
12. 5. Connect all the dots
CodeFresh
コンテナに特化した Spinnaker + Concourse CI + DockerHub のようなもの
● Github のコード変更を検知して CI/CD Pipeline
● Docker Image の作成
● Deployment の Config や Helm Charts を生成
● Unit Test / Performance Test
● Kubernetes クラスタにデプロイ
18. is coming soon...
今年はココらへんの話で発表したい!
「GKE 互換のオンプレコンテナ基盤 AKE (Adtech Container Engine)」
https://developers.cyberagent.co.jp/blog/archives/12058/
「Kubernetes をいじって Hardware LoadBalancer で “type LoadBalancer” を実装」
https://adtech.cyberagent.io/techblog/archives/3127
「オンプレでも GKE Like な Ingress を使うために 自作 Ingress Controller を実装」
https://adtech.cyberagent.io/techblog/archives/3758