ingress/multi-cluster/mci-https-e2e/app.yaml (152 lines of code) (raw):

apiVersion: apps/v1 kind: Deployment metadata: name: foo namespace: multi-cluster-demo spec: replicas: 2 selector: matchLabels: app: foo template: metadata: labels: app: foo version: v1 spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.15 env: - name: METADATA value: "foo" - name: ECHO_HEADERS value: "True" ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /healthz port: 8080 scheme: HTTP - name: haproxy image: haproxytech/haproxy-alpine:2.4 ports: - name: https containerPort: 443 - name: http containerPort: 80 volumeMounts: - name: haproxy-volume mountPath: /usr/local/etc/haproxy - name: cert-volume mountPath: /usr/local/etc/haproxy-cert volumes: - name: haproxy-volume configMap: name: haproxy-config - name: cert-volume secret: secretName: haproxy-cert --- apiVersion: apps/v1 kind: Deployment metadata: name: bar namespace: multi-cluster-demo spec: replicas: 2 selector: matchLabels: app: bar template: metadata: labels: app: bar version: v1 spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.15 env: - name: METADATA value: "bar" - name: ECHO_HEADERS value: "True" ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /healthz port: 8080 scheme: HTTP - name: haproxy image: haproxytech/haproxy-alpine:2.4 ports: - name: https containerPort: 443 - name: http containerPort: 80 volumeMounts: - name: haproxy-volume mountPath: /usr/local/etc/haproxy - name: cert-volume mountPath: /usr/local/etc/haproxy-cert volumes: - name: haproxy-volume configMap: name: haproxy-config - name: cert-volume secret: secretName: haproxy-cert --- apiVersion: apps/v1 kind: Deployment metadata: name: default-backend namespace: multi-cluster-demo spec: replicas: 1 selector: matchLabels: app: default-backend template: metadata: labels: app: default-backend spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.15 env: - name: METADATA value: "default-backend" ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /healthz port: 8080 scheme: HTTP - name: haproxy image: haproxytech/haproxy-alpine:2.4 ports: - name: https containerPort: 443 - name: http containerPort: 80 volumeMounts: - name: haproxy-volume mountPath: /usr/local/etc/haproxy - name: cert-volume mountPath: /usr/local/etc/haproxy-cert volumes: - name: haproxy-volume configMap: name: haproxy-config - name: cert-volume secret: secretName: haproxy-cert