每次执行az aks get-credentials后需重复kubelogin命令,如何永久生效?
解决Azure AKS凭证刷新后需重复执行kubelogin转换的问题
方法1:配置Azure CLI默认使用kubelogin
执行以下命令,让az aks get-credentials默认生成适配kubelogin的kubeconfig:
az configure --defaults aks.use-kubelogin=true
之后再执行az aks get-credentials刷新凭证时,生成的kubeconfig会自动包含kubelogin的exec认证配置,无需手动转换。
方法2:设置环境变量永久生效
如果你不想修改Azure CLI的全局配置,可以通过环境变量实现:
- 打开你的shell配置文件(比如
~/.bashrc、~/.zshrc或~/.profile) - 添加以下内容:
export AZURE_KUBECONFIG_USE_EXEC=1
- 执行
source ~/.bashrc(对应你的配置文件)使变更立即生效
后续每次执行az aks get-credentials时,都会自动生成使用kubelogin的kubeconfig。
方法3:手动自定义kubeconfig模板(进阶)
如果上述方法不适用,可以自定义kubeconfig模板:
- 导出当前的kubeconfig模板:
az aks get-credentials --export-template > aks-kubeconfig-template.yaml
- 编辑模板文件,将认证部分替换为kubelogin的exec格式(替换占位符为你的集群信息):
users: - name: clusterUser_<resource-group>_<cluster-name> user: exec: apiVersion: client.authentication.k8s.io/v1beta1 command: kubelogin args: - get-token - --login-method=azurecli - --server-id=<aks-aad-server-id>
- 之后刷新凭证时指定该模板:
az aks get-credentials --template aks-kubeconfig-template.yaml
内容的提问来源于stack exchange,提问作者Joly
相关产品推荐
相关产品推荐

