gateway/gke-gateway-controller/multi-tenant-demo-app.yaml (128 lines of code) (raw):
apiVersion: v1
kind: Namespace
metadata:
name: shared-infra-ns
---
apiVersion: v1
kind: Namespace
metadata:
name: foobar-ns
---
apiVersion: v1
kind: Namespace
metadata:
name: bam-ns
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: foo
namespace: foobar-ns
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: foobar-ns
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: foobar-ns
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: foobar-ns
annotations:
cloud.google.com/neg: '{"exposed_ports": {"80":{}}}'
spec:
selector:
app: bar
ports:
- port: 80
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bam
namespace: bam-ns
spec:
replicas: 2
selector:
matchLabels:
app: bam
template:
metadata:
labels:
app: bam
spec:
containers:
- name: whereami
image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20
ports:
- containerPort: 8080
env:
- name: METADATA
value: "bam"
---
apiVersion: v1
kind: Service
metadata:
name: bam-svc
namespace: bam-ns
annotations:
cloud.google.com/neg: '{"exposed_ports": {"80":{}}}'
spec:
selector:
app: bam
ports:
- port: 80
targetPort: 8080