k8s与tls主机的多个入口

时间:2018-11-06 13:46:29

标签: ssl kubernetes kubernetes-ingress google-kubernetes-engine

我正在尝试在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上发布了一个问题。

1 个答案:

答案 0 :(得分:0)

升级到k8s 1.11+解决了该问题。