kubernetes - 在 Kubernetes 1.3 Ingress 中使用通配符和非通配符 TLS 证书

标签 kubernetes google-cloud-platform kubectl

我的 Kubernetes 配置中的所有内容都适用于单个 TLS 证书。我将证书定义为 Secret并在我的 Ingress 中引用它按名称进行对象配置,我的 HTTPS 流量与证书一起提供。

当我也尝试使用我的其他证书时,我的问题就出现了。我的一个证书有 www.DomainA.com作为 CN 和 DomainA.com,DomainB.com,DomainC.com作为 SAN 的。我的另一个证书是 *.DomainA.com 的通配符.

当我将两个证书都添加到我的 Kubenetes 配置中时(有或没有定义的 hosts 字段),只有第一个指定的证书被添加到接口(interface)中并提供给任何流量。

奇怪的是,当我运行 kubectl describe ingress my-ingress我懂了:

TLS:
  non-wildcard-cert terminates DomainA.com,DomainB.com,DomainC.com
  wildcard-cert terminates *.DomainA.com

所以我知道这两个证书都是由 Kubernetes 提取的,它似乎没有在 GCP 中使用(或存储)。

如何使用这两个证书?

最佳答案

看起来,目前,GCP 不支持 Kubernetes spec正确地根据 GCE Ingress Controller doc .当他们确实从规范中添加了完整的 SNI 支持时,我应该能够做我需要的事情。

我看到 nginx Ingress controller has SNI support但我只想使用官方的、透明的、由 Google 维护的 Ingress Controller 。

关于kubernetes - 在 Kubernetes 1.3 Ingress 中使用通配符和非通配符 TLS 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253521/

相关文章:

google-cloud-platform - google_osconfig 在 Google Cloud Platform 上对 VM 的 CPU 使用率稳步上升

Kubernetes - 发现和访问另一个集群服务,如自托管

Kubernetes Engine API 删除 pod

kubernetes - 降级kubectl版本以匹配minikube k8s版本

kubernetes - 使用名称和字段选择器列出 Pod

kubernetes - 为什么即使在禁用交换后 kubeadm 也无法启动?

kubernetes - Kubernetes 中 Prometheus 的动态目标?

tomcat - kubernetes redinessProbe httpGet on tomcat 图像报告连接被拒绝

kubernetes - 如何在Prometheus中以字节为单位获取Pod的磁盘I/O读写

ssl - 使用 https 和 TLS 保护 Kubernetes 集群中的内部服务通信