如何在Linux中安装并使用Kubectl命令 Linux管理K8s集群的方法

2026-06-01电脑数码47860

最稳妥安装kubectl的方法是用curl下载对应版本二进制并校验SHA256,再安装到/usr/local/bin;配好~/.kube/config(权限600)后,用kubectl get nodes、get pods -A、auth can-i三条命令验证连通性与权限。

直接装对版本的 kubectl,再配好 ~/.kube/config,就能连上集群发命令了——没这俩,kubectl 就是块废铁。

怎么装 kubectl 才不踩坑

最稳妥的是用 curl 下载二进制,而不是依赖系统包管理器里的旧版。Ubuntu 的 apt install kubectl 默认给 v1.22 或更老的版本,而当前稳定版已是 v1.36(2026 年 5 月),版本差太多会导致 apply 失败、字段被静默忽略,甚至 get 不出新资源类型。

  • 查当前稳定版:curl -L -s https://dl.k8s.io/release/stable.txt(输出类似 v1.36.0
  • 下载对应架构二进制(x86_64):curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl
  • 校验完整性(关键!别跳过):curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl.sha256,然后运行 echo "$(cat kubectl.sha256) kubectl" | sha256sum --check,必须看到 kubectl: OK
  • 安装到系统路径:sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
  • 验证:kubectl version --client --output=yaml,确认 gitVersion 是你刚下的那个号

~/.kube/config 配错了连不上集群

装完 kubectl 后它默认找 ~/.kube/config,这个文件一旦缺失或格式错,所有命令都会报 The connection to the server localhost:8080 was refusedUnable to connect to the server: x509: certificate signed by unknown authority

CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。

下载

  • 如果你有现成集群(比如 Rancher、EKS、自建 kubeadm),管理员一般会提供一段完整配置文本;把它原样存为 ~/.kube/config,注意权限:chmod 600 ~/.kube/config
  • 如果只是本地单节点(如 kind/minikube),它们启动时会自动写好该文件,不用手动生成
  • 别用 kubectl config view --raw > ~/.kube/config 去“备份”——这只会把当前生效上下文 dump 出来,若当前根本没连上任何集群,结果是空文件或报错
  • 多集群切换用 kubectl config use-context my-prod-cluster,但前提是那个 context 已存在于 config 文件里

第一次连上后必试的三条命令

不是为了炫技,而是快速暴露配置是否真有效、集群是否健康:

  • kubectl get nodes:看节点状态是不是 Ready,不是就说明证书/网络/权限任一环节断了
  • kubectl get pods -A:检查 kube-system 等核心命名空间里有没有 CrashLoopBackOff 的 pod(比如 coredns、kube-proxy)
  • kubectl auth can-i list deployments --all-namespaces:验证当前凭据是否有基础读权限,避免因 RBAC 配置太严导致后续操作全拒

真正麻烦的从来不是装不上 kubectl,而是装上了却连不到集群——因为错误往往藏在 config 里那些不起眼的缩进、证书路径、server 地址末尾多写的斜杠,或者用了 http 协议去连 https 的 apiserver。每次连不上,先 cat ~/.kube/config | head -20 看前三行,比重装十遍都管用。

《如何在Linux中安装并使用Kubectl命令 Linux管理K8s集群的方法.doc》

下载本文的Word格式文档,以方便收藏与打印。