PipeCD's kubernetes_multicluster plugin deploys one application to several clusters at once. This repo tests it. Each folder is a self-contained app with a pipeline config (app.pipecd.yaml) and Kubernetes manifests, and together they cover the strategies the plugin supports.
Besides the rollout strategies above, the samples cover:
- Canary with and without service creation, and baseline deployments for A/B tests
- Traffic shifting with both PodSelector and Istio VirtualService
- Kustomize per-target overlays, Helm charts with custom values, and Go Template manifests
What I learned
- Keeping traffic in one region needs explicit per-stage target filtering. Rolling out to every cluster at once is riskier than it looks.
- Focused manifests for each pattern catch more than end-to-end tests alone.
- What counts as "success" in a multi-target rollout, every cluster or a quorum, is a design choice, and it changes how rollback works.