Kevin Falting
03/02/2023, 8:04 PMMike Lee
03/02/2023, 8:43 PM/service-x
/deployment
/base
kustomization.yaml
deployment.yaml
service.yaml
config.yaml
/overlays
/development
kustomization.yaml
config.yaml
/staging
kustomization.yaml
config.yaml
/production
kustomization.yaml
config.yaml
Then to generate the complete configuration we had an ArgoCD Application that would run `kustomize build` on the overlay that corresponded with the target service & environment being deployed.
This was only configuration though; secrets were being managed in Hashicorp Vault and the Vault Agent injector.kustomize build
yourself and commit the Kubernetes manifests that are built to a single Github repository that contains the manifests for all of your services.
That is to put the Kustomize “templates” into each service’s repository:
# repo service-x
/service-x
/deployment
/base/...
/overlays
/development/...
/staging/...
/production/...
# repo service-y
/service-y
/deployment
/base/...
/overlays
/development/...
/staging/...
/production/...
Then have the CI run kustomize build
on them and dump the complete manifests to a central repository for all services.
# repo service-deployments
/service-deployments
/service-x
/development/manifest.yaml
/staging/manifest.yaml
/production/manifest.yaml
/service-y
/development/manifest.yaml
/staging/manifest.yaml
/production/manifest.yaml
This is only one way though and I’m curious to hear how others have done it.Asaf Erlich
03/02/2023, 10:42 PMKush Shah
03/02/2023, 11:22 PMKevin Falting
03/03/2023, 11:50 PMDayuan Li
03/09/2023, 9:02 AM