gateway/gke-gateway-controller/demo-app.yaml (118 lines of code) (raw):

apiVersion: v1 kind: Namespace metadata: name: default --- apiVersion: apps/v1 kind: Deployment metadata: name: foo namespace: default spec: replicas: 2 selector: matchLabels: app: foo template: metadata: labels: app: foo spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 ports: - containerPort: 8080 env: - name: METADATA value: "foo" --- apiVersion: v1 kind: Service metadata: name: foo-svc namespace: default annotations: cloud.google.com/neg: '{"exposed_ports": {"80":{}}}' spec: selector: app: foo ports: - port: 80 targetPort: 8080 --- apiVersion: apps/v1 kind: Deployment metadata: name: bar namespace: default spec: replicas: 2 selector: matchLabels: app: bar template: metadata: labels: app: bar spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 ports: - containerPort: 8080 env: - name: METADATA value: "bar" --- apiVersion: v1 kind: Service metadata: name: bar-svc namespace: default annotations: cloud.google.com/neg: '{"exposed_ports": {"80":{}}}' spec: selector: app: bar ports: - port: 80 targetPort: 8080 --- apiVersion: apps/v1 kind: Deployment metadata: name: foo-v2 namespace: default spec: replicas: 1 selector: matchLabels: app: foo-v2 template: metadata: labels: app: foo-v2 spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 ports: - containerPort: 8080 env: - name: METADATA value: "foo-v2" --- apiVersion: v1 kind: Service metadata: name: foo-v2-svc namespace: default annotations: cloud.google.com/neg: '{"exposed_ports": {"80":{}}}' spec: selector: app: foo-v2 ports: - port: 80 targetPort: 8080