Kubernetes Coding Guidelines
Requirements
- Kubernetes ≥ 1.28, Kustomize ≥ 5, GitOps (Flux).
Essentials
- Organization - Use namespaces, labels, annotations consistently, see reference/deployments.md
- Container images - No
latesttags, set requests/limits and probes, see reference/deployments.md - Security - Run as non-root, read-only FS, drop capabilities, see reference/deployments.md
- Configuration - Use ConfigMaps/Secrets, SOPS/External Secrets for secrets, see reference/configmaps-secrets.md
- Multi-environment - Manage with Kustomize bases/overlays, validate with
--dry-run, see reference/kustomize.md, reference/validation.md
Progressive disclosure
- Read reference/deployments.md - When creating or updating Deployment resources
- Read reference/services.md - When exposing applications or configuring load balancing
- Read reference/configmaps-secrets.md - When externalizing configuration or managing secrets
- Read reference/kustomize.md - When managing multiple environments with overlays
- Read reference/network-policies.md - When implementing network isolation between pods
- Read reference/validation.md - When validating manifests before applying to cluster