7. Kubernetes 向け CD ツール
● CD パイプライン構築系
○ Jenkins X
○ Spinnaker
● ワークフローエンジン系
○ Tekton
● GitOps 系
○ Argo CD
○ Flux v1
○ GitOps Toolkit (Flux v2)
7
8. GitOps とは
2017/08 Weaveworks が提唱
https://www.weave.works/blog/gitops-operations-by-pull-request
8
Person outline icon made by iconixar from www.flaticon.com
Git logo made by Jason Long
Robot icon made by Zlatko Najdenovski from www.flaticon.com
push
merge clone
apply
delete
Git リポジトリに Kubernetes
マニフェストを push すると…
GitOps ツールが
自動でクラスタに適用
9. GitOps とは
2017/08 Weaveworks が提唱
https://www.weave.works/blog/gitops-operations-by-pull-request
9
push
merge clone
apply
delete
Git リポジトリが
Source of Truth に
Person outline icon made by iconixar from www.flaticon.com
Git logo made by Jason Long
Robot icon made by Zlatko Najdenovski from www.flaticon.com
10. Flux v1
2017/08 v1.0 リリース
10
Person outline icon made by iconixar from www.flaticon.com
Git logo made by Jason Long
クラスタ
push
merge clone
apply
delete
Flux デーモン API サーバ
Git リポジトリを
ポーリング
● マニフェストを kubectl apply
● リポジトリから消えたリソースを
kubectl delete
12. クラスタ
apply
delete
Flux デーモン API サーバ
Flux v1 - コンテナイメージの自動更新
12
イメージタグの
更新を commit
Git logo made by Jason Long
Containers icon made by Freepik from www.flaticon.com
Pod テンプレートの
spec.containers[].image を
新しいタグに更新
新しいイメージの
タグを取得
コンテナイメージレジストリ