第11章:GitOps/CI/CD(検証→本番の流れ)
この章の学習目標(3〜5)
- 検証→本番の流れを、GitOps/CI/CD の観点で説明できる
- 差分吸収戦略(環境差分、段階的リリース)を整理できる
- 監査性(変更履歴/承認/ログ)を運用に組み込める
「この構成で検証し、本番をクラウドにする」現実性
Proxmox 検証を “現実的” にする条件は次です。
- Git を単一のソースにし、差分を Pull Request で承認できる
- 検証で「本番と同一化できるもの」と「置き換えるもの」を分けて設計する
- 本番の IaC(ネットワーク/IAM/LB/Storage 等)と、Kubernetes 側(アプリ/アドオン)の境界を固定する
逆に、次をやると “余計な手間” になりやすいです。
- 検証でクラウド依存へ寄せすぎる(本番以外で再現できない)
- 検証の都合で手作業が増え、Git に残らない(監査/再現ができない)
検証(Proxmox)で “同一化できるもの / できないもの”
できる(同一化しやすい)
- Namespace 設計、ラベル規約
- RBAC(最低限)
- Deployment 戦略(rolling update、probe、resources)
- アプリ設定(ConfigMap の論理構造)
- Helm release 構造(名前/namespace/values 構成)
できない(本番で置き換える前提)
- Cloud Load Balancer(検証は MetalLB 等)
- Cloud Storage(検証は local/NFS 等)
- IAM/SSO 統合(検証は最小)
- 監視基盤の一部(組織標準へ統合する部分)
GitOps(例: Argo CD)で “環境差分を吸収する”
GitOps は「クラスタ外の作業者が kubectl を叩く」のではなく、クラスタが Git を見て同期する 方式です。
本書の例(Kustomize overlay を GitOps の同期対象にする):
examples/apps/sample-app/kustomize/overlays/proxmox-devexamples/apps/sample-app/kustomize/overlays/cloud-prod
Argo CD Application 例:
kubectl apply -f examples/gitops/argocd/sample-app-project.yaml
kubectl apply -f examples/gitops/argocd/sample-app-application.yaml
注記:
repoURL/path/destinationは環境に合わせて変更してください- 本番向けは
pathを cloud-prod へ切り替えるか、Application を分けます
CI/CD(例): lint → test → build → GitOps 反映
典型のパイプライン例です(組織要件に合わせて最小化します)。
- PR 作成(アプリ/マニフェスト変更)
- CI: lint(YAML/Chart)、テスト、セキュリティスキャン
- image build/push(必要な場合)
- Chart/package 更新(Helm を採用する場合)
- GitOps リポジトリ(環境差分)へ反映 → Argo CD/Flux が同期
公式ドキュメント(参照)
まとめ
検証→本番を成立させる鍵は「変更の再現性」と「差分の制御」です。運用フローとして固定します。
章末チェックリスト(3〜10)
- 検証→本番の昇格フローを説明できる
- 環境差分の管理方法(overlays/values 等)を決めた
- 監査性(変更履歴/承認/ログ)を意識した運用方針になっている