我们是否可以将 TLS 证书作为机密存储在 Azure 密钥保管库中,并在 Azure Kubernetes 服务的入口



要允许 Kubernetes 将 TLS 证书和私钥用于入口控制器,请创建并使用 Secret。与其这样,我们不能将 .crt 和 .key 文件存储在 Azure 密钥保管库中并创建一个机密并在入口中使用它吗?

下面的文章描述了创建 Kubernetes 密钥并在入口对象中使用它的步骤 https://learn.microsoft.com/en-us/azure/aks/ingress-own-tls

有什么方法可以使用 Azure 密钥保管库代替 Kubernetes 机密?如果是这样,您能否提供一些建议,或者我们如何实现这一目标?

是的,这是可能的,你需要在文件中连接 .crt 和 .key,并作为证书导入到 Azure 密钥保管库中。安装 azure-key-vault-controller 以从 Azure 密钥保管库读取机密/证书,并从中创建 k8s 机密。

kind: AzureKeyVaultSecret
metadata:
name: ingress-cert
namespace: default
spec:
vault:
name: <vault name> # name of key vault
object:
name: <newly created cert name from vault>
type: certificate
output:
secret:
name: ingress-secret-tls # kubernetes secret name
type: kubernetes.io/tls # kubernetes secret type

最好的方法是使用 azure FlexVol https://github.com/Azure/kubernetes-keyvault-flexvol 并从附加到 Pod 的卷获取机密。

有关更多详细信息和选项,请参阅官方文档。

最新更新