gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:32 27 4
gpt4 key购买 nike

我正在处理一组微服务,我需要保护各个服务之间的通信(使用 https + TLS)

服务部署有一个服务对象,该对象设置有分配的集群 IP。 kube-dns 在创建服务时自动创建格式为 *.cluster.local 的 DNS 记录。问题是我不允许在我的组织中使用包含“本地”的 SN 创建 TLS 证书。因此,我为服务创建的任何证书最终都会因证书验证失败而失败,因为 SN 与域名不匹配。我想做的是使用我自己的自定义域名(即 servicename.cluster-internal.com)向 kube-dns 添加一个 CNAME,它将返回 *.cluster.local 域,然后解析为正确的 ClusterIP .我会创建 SN 设置为我的自定义域的证书,以便在服务尝试握手和建立安全连接时证书验证不会失败。

我对其他方式持开放态度,但我宁愿不依赖其他类型的 DNS 提供商或必须自己编写。

最佳答案

在我们以正确的方式解决问题之前,我们在集群中运行的服务中禁用了证书验证。我不推荐这种方法,但它是一种更容易解锁的方法。

我们通过自定义 DNS 以正确的方式解决了这个问题。由于我们使用 ACS-Engine 部署集群,因此只需使用 cluster definition 中的一些更新选项重新部署我们的集群即可。 .

见下文:

"kubernetesConfig": {
"kubeletConfig": {
"--cluster-domain": "domain.you.own"
}
}

这使我们能够削减“domain.you.own”中的证书并重新打开证书验证。

关于ssl - 使用 https 和 TLS 保护 Kubernetes 集群中的内部服务通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49262896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com