
Пример манифестов для запуска двух контейнеров доступных с мира при помощи Ingress'a
Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: app1
spec:
replicas: 2
selector:
matchLabels:
app: app1
template:
metadata:
labels:
app: app1
spec:
containers:
- name: app1
image: dockersamples/static-site
env:
- name: AUTHOR
value: app1
ports:
- containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: app2
spec:
replicas: 2
selector:
matchLabels:
app: app2
template:
metadata:
labels:
app: app2
spec:
containers:
- name: app2
image: dockersamples/static-site
env:
- name: AUTHOR
value: app2
ports:
- containerPort: 80
Service:
apiVersion: v1
kind: Service
metadata:
name: app1
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: app1
---
apiVersion: v1
kind: Service
metadata:
name: app2
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: app2
Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
name: app
spec:
rules:
- host: test.site.com
http:
paths:
- backend:
serviceName: app1
servicePort: 80
path: /app1
- backend:
serviceName: app2
servicePort: 80
path: /app2
test.site.com — меняем на нужный домен, и после этого:
- test.site.com/app1 — будет отвечать контейнер app1;
- test.site.com/app2 — будет отвечать контейнер app2.