gpt4 book ai didi

ssl - 代理服务和部署之间的 Kubernetes 自定义 CA 和证书

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

我的 Kubernetes 集群有 2 个应用程序。

  • 通过 https:// 连接到外部 API 的部署- 让我们称之为 Fetcher
  • 终止 HTTPs 的代理服务请求检查 header 以进行速率限制 - 称为 Proxy

部署使用提到的代理,架构如下图

Fetcher deployment <-- private network / Kubernetes --> Proxy <-- Internet --> external API

在我迁移到 Kubernetes 之前,通过创建一个自签名证书和证书颁发机构 CA 来信任并将它们放在 Fetcher 和代理上来解决这个问题。该证书仅包含作为 SAN 的 docker 的 IP 地址。

X509v3 Subject Alternative Name: 
DNS:example.com, DNS:www.example.com, DNS:mail.example.com, DNS:ftp.example.com, IP Address:192.168.99.100, IP Address:192.168.56.1, IP Address:192.168.2.75

但是我不能在 Kubernetes 中执行此操作,可以吗?由于无法保证部署和服务的 IP 地址,因此 IP 可能会更改。我正在使用 Kubernetes CoreDNS解决方案,我可以在证书中添加 dns 地址吗?我对 ssl/certificates 了解不够理解。

我如何在 Kubernetes 中创建证书和 CA,以在代理发送的证书与获取程序上的自定义证书颁发机构之间建立信任?

最佳答案

如果您通过服务公开代理部署,那么默认情况下会为其分配一个 ClusterIP,即使运行代理的 pod 的 IP 可能会随时间变化,该 IP 也会保持稳定。您将希望使用与服务的 ClusterIP 相对应的 IPSAN 生成证书,而不是 pod 的任何 IP。查看official docs regarding the "service" concept .

关于ssl - 代理服务和部署之间的 Kubernetes 自定义 CA 和证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57462050/

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