Kubernetes 入门:安装 kubectl 并掌握基础命令

 

🔥「炎码工坊」技术弹药已装填!
点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】

 

——从零开始,解锁容器编排的“万能钥匙”


一、为什么程序员需要掌握 kubectl?

Kubernetes(简称 K8s)作为云原生时代的操作系统,已经成为容器编排的行业标准。而 kubectl 就是操作 Kubernetes 集群的“遥控器”,它通过命令行与集群的 API Server 交互,实现资源管理、故障排查、应用调试等核心功能。
对于程序员而言,无论是本地开发调试、CI/CD 流水线集成,还是跨团队协作,掌握 kubectl 都是高效使用 Kubernetes 的必经之路。本文将以 Ubuntu 22.04 LTS 为例,手把手带你完成安装与基础操作。


二、安装 kubectl:三种主流方式详解

方式 1:二进制文件安装(推荐)

# 1. 安装依赖包  
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl  

# 2. 下载最新版本 kubectl  
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"  

# 3. 验证二进制文件(可选但推荐)  
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"  
echo "$(<kubectl.sha256)  kubectl" | sha256sum --check  

# 4. 安装到系统路径  
chmod +x kubectl  
sudo mv kubectl /usr/local/bin/  

方式 2:使用包管理器(适用于快速部署)

# 适用于 Ubuntu/Debian 系统  
sudo apt-get update && sudo apt-get install -y kubectl  

方式 3:通过云厂商工具链安装(企业级场景)

以 AWS 为例: 

# 安装 AWS CLI 后自动关联 kubectl  
aws eks install-kubectl --region <your-region>  

三、验证安装:检查客户端与集群连接

1. 查看客户端版本

kubectl version --client  
# 输出示例:  
# Client Version: v1.28.0 (官方稳定版)  

2. 配置集群访问凭证(关键步骤!)

Kubernetes 集群的访问依赖 ~/.kube/config 文件。若使用云服务(如 GKE/EKS),可通过控制台导出配置文件: 

# 从云平台下载 kubeconfig 文件  
export KUBECONFIG=~/.kube/config  

若自建集群,需手动拷贝证书文件并配置上下文(Context)。


四、基础命令实战:掌握集群的“健康体检”

命令 1:kubectl get nodes

功能:查看集群节点状态 

kubectl get nodes  
# 输出示例:  
NAME           STATUS   ROLES    AGE   VERSION  
worker-node-1  Ready    <none>   2d    v1.28.0  
master-node    Ready    master   2d    v1.28.0  

解读字段: 

  • STATUS:节点状态(Ready/NotReady) 
  • ROLES:节点角色(master/worker) 
  • VERSION:Kubernetes 版本一致性是稳定性保障

常见问题定位: 

  • 若节点状态为 NotReady,检查 kubelet 服务状态: 
    systemctl status kubelet  
    journalctl -u kubelet -n 10m  

命令 2:kubectl cluster-info

功能:查看集群核心组件地址 

kubectl cluster-info  
# 输出示例:  
Kubernetes control plane is running at https://<master-ip>:6443  
CoreDNS is running at https://<master-ip>:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy  

实用技巧: 

  • 结合 --context 参数切换集群上下文: 
    kubectl config use-context <context-name>  
  • 输出 JSON 格式用于自动化解析: 
    kubectl cluster-info -o json  

五、进阶技巧:提升效率的必备技能

1. 命令自动补全(节省 50% 键盘输入)

# 安装 bash-completion  
sudo apt-get install -y bash-completion  

# 启用 kubectl 补全  
source <(kubectl completion bash)  
echo "source <(kubectl completion bash)" >> ~/.bashrc  

效果演示: 

kubectl get po<TAB键>  # 自动补全为 "kubectl get pods"  

2. 资源对象缩写速查表

资源类型支持缩写示例命令
Podpokubectl get po
Servicesvckubectl describe svc my-service
Deploydeploykubectl rollout status deploy/web-app

六、故障排查锦囊:从“小白”到“老司机”的关键点

场景 1:kubectl: command not found

  • 解决方案:检查 PATH 环境变量是否包含 /usr/local/bin,确认安装路径权限: 
    echo $PATH && ls -l /usr/local/bin/kubectl  

场景 2:The connection to the server <IP> was refused

  • 排查步骤: 
    1.  检查 kubeconfig 文件有效性: 
      cat ~/.kube/config | grep server  
    2. 确认 API Server 是否存活: 
      curl -vk https://<master-ip>:6443  

七、总结与扩展学习

本文从零到一完成了 kubectl 的安装与基础命令实践。作为程序员,你已具备:
✅ 快速部署 kubectl 的能力
✅ 集群状态监控的核心技能
✅ 故障排查的初步经验 

下一步学习建议: 

  1. 掌握 YAML 文件操作:kubectl apply -f <file>
  2. 学习 Pod 日志分析:kubectl logs <pod-name>
  3. 探索 Helm 包管理器:helm install stable/nginx-ingress

参考资料: 

  • Kubernetes 官方文档:https://kubernetes.io/docs/reference/kubectl/ 
  • kubectl 备忘录(Cheat Sheet):https://kubernetes.io/docs/reference/kubectl/cheatsheet/

 

🚧 您已阅读完全文99%!缺少1%的关键操作:
加入「炎码燃料仓」
🚀 获得:
√ 开源工具红黑榜 √ 项目落地避坑指南
√ 每周BUG修复进度+1%彩蛋
(温馨提示:本工坊不打灰工,只烧脑洞🔥)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值