Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Abstract GitOps

Abstract GitOps

社内LT用に作成したGitOpsの概要資料です

0e6d6c941ee392a1670b8b10308d17e4?s=128

Junki Mano

July 25, 2019
Tweet

Transcript

  1. GitOps Future-Daily-Standup-Meeting Kubernetes Ecosystem Study Mano Junki

  2. What GitOps?

  3. GitOpsとは • 「宣言的」なインフラ定義と、Gitを組み合わせたワークフロー • Kubernetesはその手段と言い張る強さ 引用: https://www.infoq.com/jp/news/2018/11/gitops-weaveworks/

  4. GitOps Workflow Git (Code) Git (Manifests) CI CD Container Image

    Register Kubernetes Cluster 1. コード変更 & PRレビュー イメージビルド 2. マニフェスト変更 & PRレビュー イメージタグの更新 kubectl diff による差分確認 kubectl apply
  5. 簡単に言うと.. ifコードのPRが上がってマージ ⇨コンテナイメージがビルドされる ⇨コンフィグ変更のPRが上がる if コンフィグのPRが上がってマージ ⇨CDが即デプロイ

  6. GitOpsガイドライン 1. Gitを真実の情報源(source of truth)とする • ※コンテナイメージをプッシュするのではない • ※CodeとManifestのリポジトリは分離 2.

    KubernetesのCLIツールである“kubectl”を直接使用しないこと • ※ 使ったら負け 3. “オペレータパターン(operator pattern)”に従ってKubernetesコント ローラを使用すること • ※Gitベースの“真実の情報源”と常に同期するようにクラスタを設定する。要は、diff とsyncツールを活用しようってこと
  7. None
  8. 参考URL • https://www.infoq.com/jp/news/2018/11/gitops-weaveworks/ • https://thinkit.co.jp/article/14164