Skip to content

Commit dff0932

Browse files
committed
Add kubernetes-multi-cluster-fleet-management-configuration article
1 parent cbcdef6 commit dff0932

6 files changed

Lines changed: 979 additions & 962 deletions

File tree

.vscode/settings.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
"glidejs",
7373
"Gobreaker",
7474
"gomodule",
75+
"gotk",
7576
"GSAP",
7677
"hikari",
7778
"hocho",
@@ -101,6 +102,7 @@
101102
"kubeval",
102103
"kubie",
103104
"kustomization",
105+
"Kustomizations",
104106
"Kyverno",
105107
"labelledby",
106108
"LGPD",

COVERS.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -797,3 +797,25 @@ Create an image of a bridge being built between two islands: "Ingress Island" (e
797797
### Prompt 5: The Team Handoff
798798

799799
Design an image of a relay race with three runners representing different teams (Infra → Platform → App). The first runner carries a baton labeled "GatewayClass," hands off to "Gateway," who hands off to "HTTPRoute." Compare with a single runner doing everything (Ingress). Style: relay teamwork, role separation, handoff coordination, 16:9 aspect ratio.
800+
801+
## kubernetes-multi-cluster-fleet-management-configuration
802+
803+
### Prompt 1: The Fleet Admiral
804+
805+
Create an image of a naval admiral (platform engineer) overlooking a fleet of ships (Kubernetes clusters) from a control tower. Some ships are in formation (consistent), others slightly off course (drifted). The admiral uses a telescope (monitoring) to check each ship's position against a map (desired state). Style: naval command, fleet coordination, oversight visualization, 16:9 aspect ratio.
806+
807+
### Prompt 2: The Configuration Tree
808+
809+
Design an image of a tree where the trunk represents base configuration, main branches represent environments (dev, staging, prod), and smaller branches represent individual clusters. Leaves on each branch show cluster-specific settings. A gardener (platform engineer) prunes branches to maintain consistency while allowing growth. Style: tree metaphor, inheritance visualization, maintenance, 16:9 aspect ratio.
810+
811+
### Prompt 3: The Synchronized Orchestra
812+
813+
Illustrate an orchestra where each section (cluster) plays from the same sheet music (Git repository) but with section-specific dynamics (environment overrides). A conductor (GitOps controller) ensures they stay synchronized. Musicians who drift off tempo are highlighted. Style: orchestral coordination, synchronization, drift detection, 16:9 aspect ratio.
814+
815+
### Prompt 4: The Manufacturing Line
816+
817+
Create an image of a manufacturing facility with multiple production lines (clusters) all producing the same product (platform services). Quality inspectors (drift detectors) check each line's output against a reference standard. Lines showing variance are flagged for adjustment. Style: manufacturing consistency, quality control, standardization, 16:9 aspect ratio.
818+
819+
### Prompt 5: The Wave Deployment
820+
821+
Design an image of waves rolling onto a beach, each wave representing a deployment wave (canary → staging → production regions). A surfer (platform engineer) rides the first wave, checking conditions before the next wave arrives. Warning flags mark any issues that should stop subsequent waves. Style: wave progression, phased rollout, validation checkpoints, 16:9 aspect ratio.

_TODO.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,6 @@ Complex Text and Instruction Following: The model demonstrates an enhanced under
251251
error-budget-policy-slo-velocity-reliability-tradeoffs
252252
event-schema-versioning-compatibility-evolution
253253

254-
kubernetes-multi-cluster-fleet-management-configuration
255254
kubernetes-pod-disruption-budget-autoscaler-node-rotation
256255
kubernetes-pod-resource-requests-limits-qos-classes
257256
kubernetes-secrets-external-secrets-operator-csi-vault

src/content/articles/gitops/index.mdx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,41 @@ gitops-repo/
8080

8181
```
8282

83+
```bash
84+
/
85+
├── clusters/ # Entry points for GitOps controllers (ArgoCD/Flux)
86+
│ ├── production/ # Specific configuration for the production cluster
87+
│ │ ├── flux-system/ # Flux-specific bootstrap (if using Flux)
88+
│ │ └── kustomization.yaml
89+
│ └── staging/ # Specific configuration for the staging cluster
90+
91+
├── infrastructure/ # Core cluster services (shared across environments)
92+
│ ├── base/ # Global defaults (e.g., ingress-nginx, cert-manager)
93+
│ ├── production/ # Production-specific infrastructure overrides
94+
│ └── staging/ # Staging-specific infrastructure overrides
95+
96+
├── apps/ # Application workloads
97+
│ ├── base/ # Common manifest templates for all environments
98+
│ ├── production/ # Overlays/patches for production (e.g., more replicas)
99+
│ └── staging/ # Overlays/patches for staging (e.g., debug mode)
100+
101+
└── components/ # Reusable manifest snippets (RBAC, Quotas, etc.)
102+
```
103+
104+
Core Components
105+
106+
- clusters/: Contains the bootstrap configuration for each unique cluster. It acts as the "root" that the GitOps controller watches to discover which other directories to apply.
107+
- infrastructure/: Managed primarily by DevOps/SRE teams, this folder contains middleware and platform services like monitoring stacks, service meshes, or ingress controllers.
108+
- apps/: Managed by application developers or release engineers, containing the actual business logic workloads.
109+
- base/ and overlays/: A standard pattern using Kustomize where common YAML resides in base and environment-specific changes (like image tags or resource limits) are defined in overlays.
110+
111+
Best Practices for 2026
112+
113+
- Environment-per-Folder: Use a single branch (usually main) and separate environments by directory to simplify release promotion and visibility.
114+
- Separate Repos for Code and Config: Keep application source code in its own repository and use the GitOps repo strictly for Kubernetes manifests to decouple build and deployment lifecycles.
115+
- App-of-Apps Pattern: Use a "root" application or ArgoCD ApplicationSets to automatically discover and deploy new services added to the directory structure.
116+
- Secret Management: Never store raw secrets in the repo. Use tools like SOPS or External Secrets Operator to pull values from a secure vault.
117+
83118
Immutable Tags: In 2026, standard practice is to use unique, immutable tags—typically the Git Commit SHA (e.g., my-app:a3f5b2c).
84119

85120
OPA, Kyverno, and Gatekeeper

0 commit comments

Comments
 (0)