I have a GKE/GCE ingress file which has 2 hosts.
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: myfirstdomain # <-------- override this via kustomize
http:
paths:
- path: /abc
backend:
serviceName: abc
servicePort: abc
- path: /def
backend:
serviceName: def
servicePort: def
- path: /ghi
backend:
serviceName: ghi
servicePort: ghi
- host: myseconddomain # <-------- override this via kustomize
http:
paths:
- backend:
serviceName: xyz
servicePort: xyz
I want to declare the host
values via kustomize so that i can specify different host
values for different environments.
My overlay patch file for dev environment looks like this:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: dev1.example.com
- host: dev2.example.com
However, the output of running kustomize build overlays/dev
looks like this:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: dev1.example.com
- host: dev2.example.com
All other specs are lost.
It ends up replacing the entire host
blocks instead of replacing just the host
lines.
How can i solve this? I am using:
- kustomize version
v4.1.2
- kubectl version
v1.21.0