Kubernetes kubectl 全功能命令手册

基础资源操作​

​命令​​语法​​解析​​示例​
​获取资源​kubectl get <资源类型>列出集群资源信息
-o wide:显示详细信息
-A:所有命名空间
kubectl get pods
kubectl get nodes -o wide
kubectl get svc -n kube-system
​资源详情​kubectl describe <资源类型>/<名称>显示资源完整配置
● 包含事件、状态、IP等关键信息
kubectl describe pod/nginx
kubectl describe node/node01
​创建资源​kubectl create -f <文件>通过YAML/JSON创建资源
● 支持标准输入(-f -)
kubectl create -f deploy.yaml
cat pod.json | kubectl create -f -
​删除资源​kubectl delete -f <文件>
kubectl delete <资源类型> <名称>
删除指定资源
-l:按标签删除
--all:删除所有
kubectl delete pod nginx
kubectl delete -l app=nginx

​部署管理​
​命令​​语法​​解析​​示例​
​暴露服务​kubectl expose <资源类型>/<名称> --port=<端口> --type=<类型>创建Service暴露应用
● 类型:ClusterIP/NodePort/LoadBalancer
kubectl expose deploy/nginx --port=80 --type=NodePort
​扩缩容​kubectl scale --replicas=<数量> <资源类型>/<名称>调整副本数量
--current-replicas:当前副本数验证
kubectl scale --replicas=5 deploy/nginx
​自动伸缩​kubectl autoscale <资源类型>/<名称> --min=<最小值> --max=<最大值> --cpu-percent=<百分比>基于CPU使用率自动扩缩
● 需安装metrics-server
kubectl autoscale deploy/nginx --min=2 --max=10 --cpu-percent=80
​滚动更新​kubectl rollout <子命令> deploy/<名称>部署版本管理
history:查看历史
undo:回滚版本
status:查看状态
kubectl rollout undo deploy/nginx
kubectl rollout history deploy/nginx

​容器操作​
​命令​​语法​​解析​​示例​
​进入容器​kubectl exec -it <pod名称> -- <命令>在容器内执行命令
-c:指定容器
--:分隔kubectl与容器命令
kubectl exec -it nginx -- bash
kubectl exec nginx -c sidecar -- ls /
​查看日志​kubectl logs <pod名称>查看容器日志
-f:实时跟踪
--tail=100:最后100行
--since=1h:最近1小时日志
kubectl logs -f nginx
kubectl logs nginx --since=30m
​文件传输​kubectl cp <pod名称>:<容器路径> <本地路径>
kubectl cp <本地路径> <pod名称>:<容器路径>
容器与主机文件互传kubectl cp nginx:/etc/nginx.conf ./
kubectl cp config.ini nginx:/app/

​配置管理​
​命令​​语法​​解析​​示例​
​声明式更新​kubectl apply -f <文件>应用配置变更
● 自动计算差异并更新
kubectl apply -f updated-config.yaml
​编辑配置​kubectl edit <资源类型>/<名称>直接编辑资源配置
● 保存后自动生效
kubectl edit deploy/nginx
​打标签​kubectl label <资源类型>/<名称> <键>=<值>添加/更新标签
--overwrite:强制覆盖
<键>-:删除标签
kubectl label pods nginx env=prod
kubectl label node node01 disk-
​添加注释​kubectl annotate <资源类型>/<名称> <键>=<值>添加注释信息
● 常用于记录变更原因
kubectl annotate deploy/nginx release="v2.3"

​集群管理​
​命令​​语法​​解析​​示例​
​资源监控​kubectl top nodes
kubectl top pods
查看资源使用率
● 需安装metrics-server
kubectl top nodes
kubectl top pods -A
​节点维护​kubectl cordon <节点>
kubectl drain <节点>
kubectl uncordon <节点>
节点维护三部曲:
1. 标记不可调度
2. 安全驱逐Pod
3. 恢复调度
kubectl cordon node02
kubectl drain node02 --ignore-daemonsets
kubectl uncordon node02
​设置污点​kubectl taint nodes <节点> <键>=<值>:<效果>节点调度限制
● 效果:NoSchedule/PreferNoSchedule/NoExecute
kubectl taint nodes gpu-node gpu=true:NoSchedule

​诊断调试​
​命令​​语法​​解析​​示例​
​端口转发​kubectl port-forward <pod名称> <本地端口>:<容器端口>将本地端口映射到Pod
● 无需Service直接访问
kubectl port-forward nginx 8080:80
​API代理​kubectl proxy创建API服务器代理
● 默认端口8001
kubectl proxy &
curl http://localhost:8001/api/v1/pods
​权限验证​kubectl auth can-i <操作> <资源>检查当前用户权限kubectl auth can-i delete pods
kubectl auth can-i create deployments

​高级操作​
​命令​​语法​​解析​​示例​
​配置热更新​kubectl patch <资源类型>/<名称> -p '{"<字段>":<值>}'局部更新资源配置kubectl patch deploy/nginx -p '{"spec":{"replicas":3}}'
​配置转换​kubectl convert -f <文件> -o <格式>配置格式转换
● 支持不同API版本
kubectl convert -f old.yaml -o yaml
​资源替换​kubectl replace -f <文件>强制替换资源
--force:先删除后重建
kubectl replace --force -f new-deploy.yaml

​实用工具​
​命令​​语法​​解析​​示例​
​上下文管理​kubectl config use-context <上下文>
kubectl config current-context
切换集群上下文
● 多集群管理核心命令
kubectl config use-context prod-cluster
​版本信息​kubectl version查看客户端/服务端版本
--short:简洁输出
kubectl version --short
​API版本​kubectl api-versions列出支持的API版本kubectl api-versions
​命令补全​source <(kubectl completion bash)启用命令自动补全
● 支持bash/zsh
echo 'source <(kubectl completion bash)' >> ~/.bashrc

使用技巧速查

  1. ​安全操作预览​​:

    kubectl apply -f change.yaml --dry-run=client  # 测试配置不实际执行
    kubectl diff -f change.yaml                   # 显示具体变更内容
  2. ​复杂筛选​​:

    # 联合筛选示例
    kubectl get pods -l 'env in (prod,staging),app=nginx'
    kubectl get pods --field-selector=status.phase=Running
  3. ​批量操作​​:

    # 跨命名空间重启Deployment
    kubectl rollout restart deploy -n namespace1
    kubectl rollout restart deploy -n namespace2

​注意事项​​:

  • 生产环境操作前务必使用--dry-run验证
  • 删除操作建议先kubectl get确认资源名称
  • 节点维护时drain需配合--ignore-daemonsets
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值