apiVersion: v1 kind: Pod metadata: name: client namespace: istio-vt-t49 labels: app: client annotations: sidecar.istio.io/inject: "true" spec: containers: - name: curl image: curlimages/curl:8.14.1 command: ["sleep", "infinity"] --- apiVersion: v1 kind: ConfigMap metadata: name: coredns-corefile-verify namespace: istio-vt-t49 data: Corefile: | .:53 { errors hosts /hosts/addn gslb.verify.internal { ttl 5 reload 2s fallthrough } forward . /etc/resolv.conf cache 5 } --- apiVersion: apps/v1 kind: Deployment metadata: name: lab-dns-verify namespace: istio-vt-t49 labels: { app: lab-dns-verify } spec: replicas: 1 selector: { matchLabels: { app: lab-dns-verify } } template: metadata: labels: { app: lab-dns-verify } annotations: { sidecar.istio.io/inject: "false" } spec: containers: - name: coredns image: registry.k8s.io/coredns/coredns:v1.11.3 args: ["-conf", "/etc/coredns/Corefile"] ports: [{ containerPort: 53, protocol: UDP }, { containerPort: 53, protocol: TCP }] volumeMounts: - { name: corefile, mountPath: /etc/coredns } - { name: hosts, mountPath: /hosts } - name: writer image: busybox:1.36 command: ["sh", "-c", "touch /hosts/addn; while true; do sleep 3600; done"] volumeMounts: [{ name: hosts, mountPath: /hosts }] volumes: - { name: corefile, configMap: { name: coredns-corefile-verify } } - { name: hosts, emptyDir: {} } --- apiVersion: v1 kind: Service metadata: { name: lab-dns-verify, namespace: istio-vt-t49 } spec: selector: { app: lab-dns-verify } ports: - { name: dns-udp, port: 53, protocol: UDP } - { name: dns-tcp, port: 53, protocol: TCP } --- apiVersion: apps/v1 kind: Deployment metadata: { name: backend-a, namespace: istio-vt-t49, labels: { app: backend-a } } spec: replicas: 1 selector: { matchLabels: { app: backend-a } } template: metadata: { labels: { app: backend-a }, annotations: { sidecar.istio.io/inject: "false" } } spec: containers: - name: http-echo image: hashicorp/http-echo:0.2.3 args: ["-text=backend-a", "-listen=:8080"] ports: [{ containerPort: 8080 }] --- apiVersion: v1 kind: Service metadata: { name: backend-a, namespace: istio-vt-t49 } spec: { selector: { app: backend-a }, ports: [{ port: 8080, targetPort: 8080 }] } --- apiVersion: apps/v1 kind: Deployment metadata: { name: backend-b, namespace: istio-vt-t49, labels: { app: backend-b } } spec: replicas: 1 selector: { matchLabels: { app: backend-b } } template: metadata: { labels: { app: backend-b }, annotations: { sidecar.istio.io/inject: "false" } } spec: containers: - name: http-echo image: hashicorp/http-echo:0.2.3 args: ["-text=backend-b", "-listen=:8080"] ports: [{ containerPort: 8080 }] --- apiVersion: v1 kind: Service metadata: { name: backend-b, namespace: istio-vt-t49 } spec: { selector: { app: backend-b }, ports: [{ port: 8080, targetPort: 8080 }] } --- apiVersion: apps/v1 kind: Deployment metadata: name: gslb-client namespace: istio-vt-t49 labels: { app: gslb-client } spec: replicas: 1 selector: { matchLabels: { app: gslb-client } } template: metadata: labels: { app: gslb-client } annotations: proxy.istio.io/config: | proxyStatsMatcher: inclusionRegexps: [".*upstream_cx.*", ".*membership_change.*"] spec: dnsPolicy: None dnsConfig: nameservers: ["10.250.177.219"] searches: ["istio-vt-t49.svc.homelab.local", "svc.homelab.local", "homelab.local"] options: [{ name: ndots, value: "5" }] containers: - name: fortio image: fortio/fortio:1.63.4 args: ["server"] - name: curltools image: curlimages/curl:8.14.1 command: ["sleep", "infinity"]