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

Abstract GitOps

Abstract GitOps

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

Junki Mano

July 25, 2019
Tweet

More Decks by Junki Mano

Other Decks in Technology

Transcript

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

    View Slide

  2. What GitOps?

    View Slide

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

    View Slide

  4. GitOps Workflow
    Git
    (Code)
    Git
    (Manifests)
    CI
    CD
    Container
    Image
    Register
    Kubernetes
    Cluster
    1. コード変更 & PRレビュー
    イメージビルド
    2. マニフェスト変更 & PRレビュー
    イメージタグの更新
    kubectl diff による差分確認
    kubectl apply

    View Slide

  5. 簡単に言うと..
    ifコードのPRが上がってマージ
    ⇨コンテナイメージがビルドされる
    ⇨コンフィグ変更のPRが上がる
    if コンフィグのPRが上がってマージ
    ⇨CDが即デプロイ

    View Slide

  6. GitOpsガイドライン
    1. Gitを真実の情報源(source of truth)とする
    • ※コンテナイメージをプッシュするのではない
    • ※CodeとManifestのリポジトリは分離
    2. KubernetesのCLIツールである“kubectl”を直接使用しないこと
    • ※ 使ったら負け
    3. “オペレータパターン(operator pattern)”に従ってKubernetesコント
    ローラを使用すること
    • ※Gitベースの“真実の情報源”と常に同期するようにクラスタを設定する。要は、diff
    とsyncツールを活用しようってこと

    View Slide

  7. View Slide

  8. 参考URL
    • https://www.infoq.com/jp/news/2018/11/gitops-weaveworks/
    • https://thinkit.co.jp/article/14164

    View Slide