如何在AKS私有集群中自定义镜像源安装Azure Key Vault Secrets Provider插件
解决AKS Azure Key Vault Secrets Provider插件使用自定义镜像仓库的问题
AKS托管的Azure Key Vault Secrets Provider插件会通过控制器自动维护资源配置,直接修改DaemonSet会被覆盖,必须通过AKS官方配置参数指定自定义镜像仓库,以下是具体解决方案:
一、启用插件时直接指定自定义镜像仓库
使用az aks enable-addons命令时,通过--addon-config参数传入镜像仓库配置,让AKS直接基于你的Harbor地址部署插件:
az aks enable-addons \ --addons azure-keyvault-secrets-provider \ --name myAKSCluster \ --resource-group myResourceGroup \ --addon-config '{"secretsStoreCsiDriver":{"imageRepository":"harbor.mycompany.com/oss/azure"}}'
注意:需确保Harbor中同步的镜像路径与原MCR路径对应,比如原镜像
mcr.microsoft.com/oss/azure/secrets-store-csi-driver:v1.4.0,你的Harbor仓库需同步到harbor.mycompany.com/oss/azure/secrets-store-csi-driver,因此imageRepository只需填到父路径harbor.mycompany.com/oss/azure即可,AKS会自动拼接镜像名称和版本标签。
二、已安装插件后更新配置
如果已经用默认方式完成插件安装,可通过更新插件配置来替换镜像仓库,无需手动修改DaemonSet:
- 查看当前插件配置(可选步骤):
az aks show \ --name myAKSCluster \ --resource-group myResourceGroup \ --query addonsProfiles.azureKeyvaultSecretsProvider.config
- 执行更新命令,传入自定义镜像仓库参数:
az aks enable-addons \ --addons azure-keyvault-secrets-provider \ --name myAKSCluster \ --resource-group myResourceGroup \ --addon-config '{"secretsStoreCsiDriver":{"imageRepository":"harbor.mycompany.com/oss/azure"}}'
该命令会重新部署插件,后续AKS控制器将使用你指定的Harbor地址维护镜像,不会再自动恢复为MCR地址。
三、验证配置生效
部署完成后,检查DaemonSet的镜像地址确认配置生效:
kubectl get daemonset secrets-store-csi-driver -n kube-system -o jsonpath='{.spec.template.spec.containers[0].image}'
若输出为harbor.mycompany.com/oss/azure/secrets-store-csi-driver:<对应版本>,则说明配置已生效。
额外注意事项
- 需确保Harbor已同步以下两个核心镜像:
mcr.microsoft.com/oss/azure/secrets-store-csi-driver和mcr.microsoft.com/oss/azure/csi-secrets-store-provider-azure,插件依赖这两个组件。 - 如果Harbor的镜像路径与原MCR路径结构不同,需调整
imageRepository的值,保证能正确匹配到同步后的镜像。
内容的提问来源于stack exchange,提问作者Habbakuk barrera gomez
相关产品推荐
相关产品推荐

