Chương 46: Cloud Deploy & GitOps — Progressive Delivery
Tại sao chương này quan trọng
Triển khai phần mềm lên production là điểm giao giữa tốc độ và rủi ro. Các đội engineering hiện đại không còn triển khai theo kiểu "push và cầu nguyện" — họ cần cơ chế kiểm soát: ai được phép deploy, khi nào, ra môi trường nào, với mức độ rủi ro thế nào, và khả năng rollback ra sao nếu có sự cố.
Cloud Deploy giải quyết bài toán này bằng cách cung cấp một Continuous Delivery pipeline có quản lý: từ artifact production (CI) đến việc triển khai tuần tự qua chuỗi môi trường (dev → staging → production), với approval gates, progressive delivery strategies (canary/blue-green), verification hooks, và audit trail đầy đủ.
Config Sync (GitOps) giải quyết một bài toán khác: làm thế nào để trạng thái cluster luôn nhất quán với source of truth trong Git. Không phải CI/CD pipeline push manifests — mà là một reconciliation loop liên tục kéo configs từ Git và enforce cluster state về đúng trạng thái mong muốn. Drift không tồn tại vì hệ thống tự heal.
Hai công nghệ này bổ sung cho nhau: Cloud Deploy quản lý vòng đời của application delivery (artifacts, promotions, approval); Config Sync quản lý vòng đời của cluster configuration (infrastructure, policies, CRDs).
Sau chương này, bạn sẽ có đủ mental model để thiết kế một deployment pipeline production-grade trên GCP — không chỉ biết cấu hình mà hiểu tại sao mỗi thành phần hoạt động như vậy.
Điều kiện tiên quyết
- Chương 45: Cloud Build & Artifact Registry — CI/CD Foundations
- Kubernetes Deployments: RollingUpdate strategy, readiness probes, PodDisruptionBudget
- Chương 10: Admission Control (để hiểu Binary Authorization integration)
- Chương 18: GKE Fleet Management (để hiểu multi-cluster GitOps)
Nội dung chương
Phần I: Cloud Deploy — Managed Continuous Delivery
Cloud Deploy Internal Model — Pipeline, Targets, Releases, Rollouts
- Resource hierarchy: DeliveryPipeline → Target → Release → Rollout → Phase → Job → JobRun
- Cơ chế render và deploy, lifecycle của một rollout
- Cloud Build integration, Cloud Storage artifact storage
- Promotion mechanics: serial pipeline, parallel targets
Skaffold Integration — Render & Deploy Pipeline
- Skaffold là gì trong context của Cloud Deploy và tại sao nó tồn tại
- Render phase:
skaffold diagnose+skaffold render— output là gì - Deploy phase:
skaffold apply— cách manifests được apply lên cluster - Profiles, modules, và rendering tools (Helm, Kustomize) qua Skaffold
Progressive Delivery Strategies — Canary & Blue-Green
- Canary: 3 loại (automated/custom-automated/custom), traffic splitting mechanics cho GKE vs Cloud Run
- Canary phases, analysis jobs, advancement conditions
- Blue-green: parallel environments, cutover, rollback
- Khi nào dùng canary vs blue-green vs rolling
Verification, Hooks & Automation
- Pre-deploy và post-deploy hooks: cơ chế execution, execution environments
- Verify jobs: post-deploy checks, analysis integration
- Cloud Deploy Automation: promote automation, canary advance automation, rollback repair
- AutomationRun lifecycle và debugging
Governance — Approval, Rollback & Deploy Policies
- Approval flows: Pub/Sub notification, IAM roles (deployer vs approver separation)
- Rollback mechanics: một-click rollback hoạt động thế nào, reuse deployment parameters
- Deploy Policies: time-based restrictions, action-based restrictions
- Notifications và audit trail
- Cloud Deploy IAM: role separation, service account requirements
Phần II: GitOps với Config Sync
Config Sync — GitOps Engine Bên Trong
- Tại sao GitOps khác CD pipeline truyền thống
- Kiến trúc Config Sync: Reconciler Manager, per-sync Reconcilers, ResourceGroup Controller
- Reconciler pipeline: source fetch → render → apply → drift detection
- RootSync vs RepoSync: scope, permissions, use cases
- Sources: Git, OCI, Helm — cơ chế fetch khác nhau như thế nào
- Drift detection: reactive self-healing vs proactive admission webhook
Multi-Cluster GitOps & Policy Controller
- Multi-cluster Config Sync: RootSync per-cluster vs fleet-level management
- Fleet integration: cluster selector, namespace sameness
- Hierarchical repo structure: root vs tenant repos
- Policy Controller với GitOps: deploy ConstraintTemplates qua Config Sync
- Config Sync + Cloud Deploy: GitOps cho infrastructure, CD pipeline cho applications
Mức độ sâu và phạm vi
Mức độ sâu: 4/5
Chương này tập trung vào cơ chế hoạt động bên trong của Cloud Deploy và Config Sync, không phải quickstart hay feature listing. Mục tiêu: sau khi đọc xong, bạn có thể reason về tại sao một rollout fail, tại sao Config Sync không sync, và thiết kế pipeline phù hợp với requirements cụ thể của tổ chức.
Phạm vi không bao gồm:
- Cloud Build internals (Chương 45)
- Binary Authorization policy management (Chương 34)
- GKE Fleet fundamentals (Chương 18)