【问题标题】:Setting NGINX TLS with certificate/key loaded by initContainer使用 initContainer 加载的证书/密钥设置 NGINX TLS
【发布时间】:2020-01-08 06:23:44
【问题描述】:

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

有什么想法吗?

【问题讨论】:

    标签: azure ssl nginx kubernetes


    【解决方案1】:

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

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

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

    希望这会有所帮助。

    【讨论】:

    • 谢谢,我们考虑过使用 FlexVolume,但它还有其他缺点。这不是这里的问题:) 这样或那样,我看不出使用 FlexVolume 将如何帮助回答我的问题,因为它会以类似的方式将秘密安装到卷
    • 好吧,让我们退后一步,您打算如何配置/部署 acs-keyvault-agent?具体是默认模式还是cron模式?
    • 默认模式。这个想法是直接从 Azure KeyVault 检索证书,而不需要创建一个脚本来下载证书并创建一个 tls 机密
    猜你喜欢
    • 2023-03-23
    • 2013-01-16
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多