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

TKG x GitOps で KaaS@home にチャレンジ!

ttani03
June 17, 2023

TKG x GitOps で KaaS@home にチャレンジ!

ttani03

June 17, 2023
Tweet

More Decks by ttani03

Other Decks in Technology

Transcript

  1. ©2023 VMware, Inc. TKG x GitOps で KaaS@home にチャレンジ︕ ⾕垣

    友喜(Twitter: @ttani03) Sr. TSE / CTO Ambassador @VMware 2023/6/16
  2. ©2023 VMware, Inc. 2 p 名前︓⾕垣 友喜(Twitter: @ttani03) p 所属︓VMware

    株式会社 p 役職︓Senior Technical Support Engineer, CTO Ambassador 主にネットワーク製品(NSX-T, NSX-ALB)を担当 ⾃⼰紹介
  3. ©2023 VMware, Inc. 3 今⽇のテーマ TKG x GitOps で KaaS@home

    にチャレンジ︕ 注)VMware としては公式にはサポート外
  4. ©2023 VMware, Inc. 4 背景 Platform Engineering Meetup #1 Git

    で KaaS を 運⽤しています TKG でも GitOps で クラスタの作成・運⽤が可能︖
  5. ©2023 VMware, Inc. 5 ⽬標 1. Kubernetes クラスタを Git ベースで作成可能

    2. 作成した Kubernetes クラスタにアプリケーションを展開可能 挑戦した結果 1, 2 ともに達成︕ ただしスマートではない⽅法...
  6. ©2023 VMware, Inc. 6 vCenter Bootstrap manage ment manage ment

    ⾃宅ラボの環境 ハードウェア p E200-D x 1 p UM480 x 2 ソフトウェア p vSphere 7.0 U3 p TKG 2.2 p CD ツール ü Flux ü Argo CD ESXi x 3 manage ment workload 管理 manage ment workload
  7. ©2023 VMware, Inc. 7 https://github.com/ttani03/tunacon9-kaas-home GitHub リポジトリの構成 Argo CD ⽤(Workload

    Cluster の yaml) Flux ⽤(Workload Cluster 上のアプリケーション)
  8. ©2023 VMware, Inc. 8 1. Management Cluster に Argo CD

    をインストール 2. GitHub 上に参照⽤リポジトリを作成 3. 2 のリポジトリに以下のリソースを含む yaml ファイルを配置 ※ “tanzu cluster create --dry-run” でベースとなる yaml ファイルを⽣成可能 ü Secret ü VSphereCPIConfig ü ClusterBootstrap ü Cluster 4. 3 を参照する Argo CD の Application を作成 5. Workload Cluster が作成 Workload Cluster の作成
  9. ©2023 VMware, Inc. 10 1. Management Cluster に Flux をインストール

    2. アプリケーションを定義した yaml ファイルを参照する Flux の GitRepository / Kustomization を参照⽤リポジトリに作成 3. Workload Cluster 上にアプリケーションを展開 Workload Cluster へのアプリケーションの展開
  10. ©2023 VMware, Inc. 11 Argo CD での問題 p Workload Cluster

    の追加には CLI 操作が必要 ü ServiceAccount / ClusterRole / ClusterRoleBinding を作成する必要あり => これが Git のみで対応できず、Flux を使うことに… ü Flux は Cluster API に対応し、kubeconfig を指定するだけで OK Flux での問題 p Workload Cluster がエラーで作成できない… ü Cluster/default/workload01 dry-run failed, reason: could not get secret for key: default/workload01: Secret "workload01" not found: admission webhook "tkr-vsphere-resolver-webhook.tanzu.vmware.com" denied the request: could not get secret for key: default/workload01: Secret "workload01" not found なぜ Argo CD と Flux を使い分けるのか︖
  11. ©2023 VMware, Inc. 12 挑戦した結果 p TKG でも GitOps で

    KaaS が実現可能︕ p ただし、すべての作業を Git ベースで⾏うのは難しい… ü ArgoCD では新規クラスタの追加ができない ü Flux では Workload Cluster の展開に失敗 結論 p TMC(Tanzu Mission Control)を使った⽅が(たぶん)よさそう 😇 まとめ