apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- example.com
secretName: example-tls
- hosts:
- subdomain.example.com
secretName: subdomain-tls
rules:
- host: example.com
http:
paths:
- path: /
backend:
serviceName: frontend-service
servicePort: 80
- host: subdomain.example.com
http:
paths:
- path: /
backend:
serviceName: backend-service
servicePort: 80
在上面的yaml文件中,我们定义了两个TLS证书,一个是针对example.com域名的证书(named example-tls),另一个是针对subdomain.example.com域名的证书(named subdomain-tls)。我们还定义了两个规则,第一个规则处理example.com域名的请求,并将它们路由到名为frontend-service的服务上。第二个规则将subdomain.example.com的请求路由到名为backend-service的服务上。在这种情况下,frontend-service使用example-tls证书进行TLS终止,而backend-service则使用subdomain-tls证书进行TLS终止。
5