Skip to content

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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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

  1. 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
  2. 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)

Tài liệu tham khảo chính