如何禁用AKS的kubelogin认证,恢复常规身份验证方式?
解决方案
临时修复(针对单个集群)
执行以下命令重新获取AKS凭证,明确禁用kubelogin:
az aks get-credentials --resource-group centralus-aks-01-rg --name aks-centralus-01 --disable-kubelogin
执行后,kubeconfig里的用户认证部分会自动切换为使用Azure CLI获取token,此时再运行kubectl get nodes就会弹出浏览器窗口完成交互式登录。
永久全局配置(避免后续新集群自动用kubelogin)
如果不想每次获取凭证都加参数,直接修改Azure CLI的默认配置:
az config set aks.disable_kubelogin=true
之后所有az aks get-credentials命令都会默认跳过kubelogin,生成基于Azure CLI的认证配置。
手动修改现有kubeconfig(适用于已生成的配置)
如果不想重新获取凭证,可以直接编辑kubeconfig文件(默认路径~/.kube/config),把原有的kubelogin认证块替换为Azure CLI的exec配置:
users: - name: clusterUser_centralus-aks-01-rg_aks-private-centralus-01 user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - get-credentials - --resource-group - centralus-aks-01-rg - --name - aks-centralus-01 command: az env: null interactiveMode: IfAvailable provideClusterInfo: false
保存后,kubectl会调用Azure CLI处理认证流程,弹出浏览器窗口让你完成登录。
内容的提问来源于stack exchange,提问作者medinibster
相关产品推荐
相关产品推荐

