mohammed firdous

Kubernetes Multicluster Deployment Samples

·source

A collection of PipeCD deployment manifests that validates multicluster pipeline patterns, canary, baseline, traffic shifting, Kustomize overlays, and Helm across geographically distributed clusters.

Kubernetes Multicluster Samples is a test suite for PipeCD's kubernetes_multicluster plugin. Each folder is a self-contained application with a PipeCD pipeline config and Kubernetes manifests, covering the full range of deployment strategies the plugin supports across two clusters.

What it is

A multicluster CD validation suite with:

  • Deployment Strategies: Canary (with and without service creation), primary rollout, and baseline deployments for A/B scenarios.
  • Traffic Routing: PodSelector-based and Istio-based traffic shifting across clusters.
  • Per-Stage Filtering: Canary stages scoped to cluster-eu only, with full rollout unlocked in a subsequent stage.
  • Workload Coverage: Deployment, StatefulSet, DaemonSet, Init Container image extraction, and CronJob health checks.
  • Config Flexibility: Kustomize per-target overlays and Helm chart integration with custom values.
  • Resilience Testing: Partial failure handling so one cluster error does not kill the entire multi-target pipeline.

How It's Built

  • CD Platform: PipeCD with the kubernetes_multicluster plugin.
  • Clusters: cluster-eu and cluster-us as named targets in each pipeline config.
  • Config Format: app.pipecd.yaml defines pipeline stages; deployment.yaml and service.yaml define workloads.
  • Templating: Go Template manifests for dynamic per-target configuration.
  • Traffic Management: Both native PodSelector and Istio VirtualService approaches covered.

What I Learned

  • Multicluster CD Complexity: Traffic isolation between regions requires explicit per-stage target filtering, blanket rollouts carry more risk than they appear to.
  • Plugin Validation Practice: Writing targeted manifests per deployment pattern is more reliable than relying on end-to-end tests alone.
  • Partial Failure Semantics: Defining what "success" means in a multi-target rollout (all clusters vs. quorum) is a design decision that affects rollback behaviour.