ingress-nginx-helm/docs/examples/multi-tls/multi-tls.yaml
2022-06-10 04:01:52 -07:00

135 lines
3 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
---
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
replicas: 1
template:
metadata:
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
containers:
- name: nginx
image: gcr.io/google_containers/nginx
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: http-svc
labels:
app.kubernetes.io/name: http-svc
app.kubernetes.io/part-of: ingress-nginx
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app.kubernetes.io/name: http-svc
app.kubernetes.io/part-of: ingress-nginx
---
apiVersion: v1
kind: ReplicationController
metadata:
name: http-svc
labels:
app.kubernetes.io/name: http-svc
app.kubernetes.io/part-of: ingress-nginx
spec:
replicas: 1
template:
metadata:
labels:
app.kubernetes.io/name: http-svc
app.kubernetes.io/part-of: ingress-nginx
spec:
containers:
- name: http-svc
image: registry.k8s.io/e2e-test-images/echoserver:2.3
ports:
- containerPort: 8080
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: foo-tls
namespace: default
spec:
ingressClassName: nginx
tls:
- hosts:
- foo.bar.com
# This secret must exist beforehand
# The cert must also contain the subj-name foo.bar.com
# https://github.com/kubernetes/ingress-nginx/blob/main/docs/examples/PREREQUISITES.md#tls-certificates
secretName: foobar
- hosts:
- bar.baz.com
# This secret must exist beforehand
# The cert must also contain the subj-name bar.baz.com
# https://github.com/kubernetes/ingress-nginx/blob/main/docs/examples/PREREQUISITES.md#tls-certificates
secretName: barbaz
rules:
- host: foo.bar.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: http-svc
port:
number: 80
- host: bar.baz.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80