使用kubectl连接AKS集群时出现令牌获取失败权限拒绝问题
解决AKS连接时kubelogin的DNS权限报错
问题原因
你遇到的socket: permission denied是因为snap安装的kubelogin被沙箱限制,未获取到网络权限,导致无法发起DNS查询和HTTPS请求。
修复步骤
- 给kubelogin添加网络权限:
sudo snap connect kubelogin:network sudo snap connect kubelogin:network-bind - 验证权限是否生效:
确认snap connections kubeloginnetwork和network-bind的状态为connected。 - 重新配置AKS集群凭证:
rm ~/.kube/config az aks get-credentials --resource-group <resource_group> --name <cluster_name> --overwrite-existing kubelogin convert-kubeconfig -l azurecli - 测试集群连接:
kubectl get deployments
备选方案(权限调整无效时)
如果snap沙箱权限问题无法解决,直接安装二进制版kubelogin:
curl -LO https://github.com/Azure/kubelogin/releases/latest/download/kubelogin-linux-amd64.zip unzip kubelogin-linux-amd64.zip sudo mv kubelogin /usr/local/bin/ chmod +x /usr/local/bin/kubelogin
安装完成后重新执行kubelogin convert-kubeconfig -l azurecli,再测试集群连接。
内容的提问来源于stack exchange,提问作者Péter Szilvási
相关产品推荐
相关产品推荐

