首页 > 解决方案 > 使用 initContainer 加载的证书/密钥设置 NGINX TLS

问题描述

我发现了几页描述如何设置NGINX为使用 HTTPS/TLS。
但是,所有人都建议secret tls使用密钥和证书设置 a。
我们希望能够使用 TLS,但要求 NGINX 通过init-container加载密钥/证书,在这种情况下由acs-keyvault-agent实现。

有任何想法吗?

标签: azuresslnginxkubernetes

解决方案


如果您的唯一目标是从 Azure Key Vault 获取 TLS 密钥/证书,那么您最好使用 Azure 的Key Vault FlexVolume项目。这样做的好处是根本不使用 init 容器,只处理卷和卷挂载。

由于您明确想要使用Hexadite/acs-keyvault-agent并且在默认模式下(顺便说一句,它使用卷挂载),因此这里的项目示例文件夹中有一个如何执行此操作的完整示例:examples/acs-keyvault-deployment.yaml #L40-L47

显然,您需要为您的环境正确构建、推送和配置容器。然后你需要配置 Nginx 以使用文件夹中的CertFileName.pemand 。KeyFilename.pem/secrets/certs_keys/

希望这可以帮助。


推荐阅读