Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Labels and annotations not merging for specific resources in overlays
I'm trying to implement bases and overlays for some Kubernetes configurations that I have, but I'm running into an issue where labels and annotations are not being applied correctly to some specific resource files.
Basically, I have a base configuration consisting of configmap.yaml
, service.yaml
, deployment.yaml
, kustomization.yaml
, and virtual-service.yaml
. These files contain common configuration settings that apply to all environments.
# Common /path/to/project-name/base/kustomization.yaml file
apiVersion: kustomize.config.k8s.io/v1beta1
commonAnnotations:
k8s.company/build-system: build-system.domain.tld
# Some other common annotation that apply to all environments
kind: Kustomization
labels:
- includeSelectors: true
includeTemplates: true
pairs:
k8s.something/cost-center: group
k8s.something.else/project: project
# Some other common labels that apply to all environments
resources:
- configmap.yaml
- deployment.yaml
- service.yaml
- virtual-service.yaml
In one environment, everything works as expected. In another one, where I need to add two additional configuration files: autoscaler.yaml
and destination-rules.yaml
, the labels and annotations from the base kustomization.yaml
are not being correctly to autoscaler.yaml
and destination-rules.yaml
, but for the rest of the files.
The kustomization.yaml
for this environment looks like:
# /path/to/project-name/env2/kustomization.yaml file for ENV2
apiVersion: kustomize.config.k8s.io/v1beta1
commonAnnotations:
k8s.foo/bar: value-to-be-merged-with-the-common-ones-for-this-env
kind: Kustomization
labels:
- includeSelectors: true
includeTemplates: true
pairs:
k8s.something/environment: env2
resources:
- ../base
- autoscaler.yaml
- destination-rules.yaml
Is there a way to resolve this issue?
0 comment threads