我正在尝试在gke上配置一个入口,以在两个不同的主机上提供两个不同的ssl证书。
我的SSl证书存储为机密信息,我的k8s版本是1.10.9-gke.0(我目前正在尝试升级到1.11,以查看是否有任何改变)。
这是我的入口配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/backends: '{"k8s-be-30086--b1574396a1d7162f":"HEALTHY","k8s-be-31114--b1574396a1d7162f":"HEALTHY"}'
ingress.kubernetes.io/forwarding-rule: k8s-fw-default-si-preproduction-ingress--b1574396a1d7162f
ingress.kubernetes.io/https-forwarding-rule: k8s-fws-default-si-preproduction-ingress--b1574396a1d7162f
ingress.kubernetes.io/https-target-proxy: k8s-tps-default-si-preproduction-ingress--b1574396a1d7162f
ingress.kubernetes.io/ssl-cert: k8s-ssl-default-si-preproduction-ingress--b1574396a1d7162f
ingress.kubernetes.io/static-ip: k8s-fw-default-si-preproduction-ingress--b1574396a1d7162f
ingress.kubernetes.io/target-proxy: k8s-tp-default-si-preproduction-ingress--b1574396a1d7162f
ingress.kubernetes.io/url-map: k8s-um-default-si-preproduction-ingress--b1574396a1d7162f
creationTimestamp: 2018-10-26T09:45:46Z
generation: 9
name: si-preproduction-ingress
namespace: default
resourceVersion: "1846219"
selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/si-preproduction-ingress
uid: e9bba9ad-d903-11e8-872e-42010a840feb
spec:
tls:
- hosts:
- domain_1
secretName: cert_1
- hosts:
- domain_2
secretName: cert_2
rules:
- host: domain_1
http:
paths:
- backend:
serviceName: si-preproduction-service
servicePort: 80
path: /*
- host: domain_2
http:
paths:
- backend:
serviceName: si-preproduction-service
servicePort: 80
path: /*
status:
loadBalancer:
ingress:
- ip: our_ip
我的cert_1可以在domain_1上正确提供,但它也可以在domain_2上(而不是cert_2)提供,因此应该可以保护我的连接。
我还在github here上发布了一个问题。
答案 0 :(得分:0)
升级到k8s 1.11+解决了该问题。