Slide 3
Slide 3 text
弊社プロダクトの CD における課題
dev#1
dev#2
prd#1
prd#2
・・・ ・・・
templateファイル
(Deployment/etc...)
変数ファイル
(e2e/dev/prd)
envsubst
Kubernetes のコンテキスト情報
をパイプラインの中で選択し
kubectl コマンドによりデプロイ
1. お手製シェルによるマニフェスト生成
● 変数ファイルに環境ごとの変数を設定
● envsubst でテンプレートファイルに変数を埋め込んで
マニフェスト生成
○ envsubst はシンプルだがやれることが限られる
2. Kubernetes コンテキストを意識するデプロイ
● どのクラスタにデプロイするか(どのコンテキストを使う
か)はパイプラインにパラメータとしてユーザが渡す
○ 潜在的なオペミスのリスク
○ Jenkins サーバ上でコンテキストを管理する必要性
3. リソースのデプロイが手続き的
● パイプライン内部で kubectl コマンドを利用してデプロイ
○ どのクラスタにどのアプリがデプロイされているの
かは宣言的に管理されていない
■ 規模が大きくなるにつれて運用が辛くなる