azure - 使用 initContainer 加载的证书/密钥设置 NGINX TLS
问题描述
我发现了几页描述如何设置NGINX
为使用 HTTPS/TLS。
但是,所有人都建议secret tls
使用密钥和证书设置 a。
我们希望能够使用 TLS,但要求 NGINX 通过init-container加载密钥/证书,在这种情况下由acs-keyvault-agent实现。
有任何想法吗?
解决方案
如果您的唯一目标是从 Azure Key Vault 获取 TLS 密钥/证书,那么您最好使用 Azure 的Key Vault FlexVolume项目。这样做的好处是根本不使用 init 容器,只处理卷和卷挂载。
由于您明确想要使用Hexadite/acs-keyvault-agent并且在默认模式下(顺便说一句,它使用卷挂载),因此这里的项目示例文件夹中有一个如何执行此操作的完整示例:examples/acs-keyvault-deployment.yaml #L40-L47。
显然,您需要为您的环境正确构建、推送和配置容器。然后你需要配置 Nginx 以使用文件夹中的CertFileName.pem
and 。KeyFilename.pem
/secrets/certs_keys/
希望这可以帮助。
推荐阅读
- dataframe - 如何在 Julia 中嵌套/取消嵌套数据框?
- for-loop - 在for循环中使用整数计数器(i,j,k)来生成表名/地址时,如何显式调用Lua表值?
- excel - 循环通过另一个工作簿用户窗体上的控件
- c# - 如何更改 ListView 中项目的高度?
- drake - BodyFrame 类与 DifferentialInverseKinematicsIntegrator 的构造函数参数不兼容
- mysql - SELF JOIN 上的 MySQL CONCAT 值
- flutter - 错误预期类型为 '(() => void)?' 的值,但得到类型为 '+Future 的值之一
' - swift - 在范围内找不到变量
- r - 什么 R 函数可以帮助我从数据框中选择和导出列?
- git - 使用 git,如何从另一个分支中的文件(绕过合并)强制覆盖一个分支中的文件并提交?