You need to enable JavaScript to run this app. 如何在Ubuntu 16.04/18.04 LTS WSL安装kubectl及解决AKS连接报错
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu 16.04/18.04 LTS WSL安装kubectl及解决AKS连接报错

WSL环境(Ubuntu 16.04/18.04 LTS)kubectl安装指引与AKS连接异常排查

1. Kubectl 安装步骤

  • 导入Kubernetes软件源的校验公钥,避免安装过程出现源签名校验失败的问题:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  • 添加Kubernetes的apt软件源,适配Ubuntu 16.04、18.04 LTS的系统版本:
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
  • 更新软件包索引,安装kubectl:
sudo apt update && sudo apt install -y kubectl

*注意:安装的kubectl版本需要和目标AKS集群的版本差不超过1个小版本,避免出现API兼容性问题。

2. 连接AKS集群报localhost:8080 was refused的解决方法

这个报错的核心原因是kubectl没有加载到有效的集群连接配置,触发了默认的本地API Server连接逻辑,和真实集群的网络连通性无关,可按以下步骤逐一排查解决:

  • 检查az aks get-credentials命令的执行结果,确认命令执行过程中没有出现权限不足、路径写入失败的提示。正常执行完成后,集群的认证凭证会默认写入WSL环境下~/.kube/config文件。
  • 校验KUBECONFIG环境变量的指向:执行echo $KUBECONFIG查看输出,如果返回值不是~/.kube/config,说明环境变量指向了不存在的配置路径,导致kubectl无法读取凭证,回退到默认的本地8080端口连接。可执行export KUBECONFIG=~/.kube/config临时修正,再将这行命令追加到~/.bashrc配置文件中实现永久生效。
  • 检查kubeconfig文件的访问权限和内容:执行ls -l ~/.kube/config,确保当前WSL用户对该文件有读取权限,权限异常时可执行chmod 600 ~/.kube/config修正。如果之前使用sudo执行过az aks get-credentials命令,可能会把凭证写入到root用户的家目录下,导致普通WSL用户无法读取配置,此时需要重新以普通用户身份执行凭证拉取,或者将/root/.kube/config的文件所有权转移给当前登录用户。再执行kubectl config view,确认输出中包含目标AKS集群的API Server地址、认证信息,不存在空配置的情况。
  • 确认kubectl当前使用的上下文:执行kubectl config get-contexts,查看输出列表中目标AKS集群对应的行是否带有*标记的当前上下文标识。如果未选中,可执行kubectl config use-context <对应AKS集群的上下文名称>切换到正确的配置上下文。
  • 如果az aks get-credentials因路径权限问题没有正确写入配置,可手动指定配置文件路径执行凭证拉取:
az aks get-credentials --resource-group <资源组名称> --name <集群名称> --file ~/.kube/config

内容的提问来源于stack exchange,提问作者Sapnandu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 08:45:08