【K8S系列】Kubernetes常用 命令

在这里插入图片描述

以下为的 Kubernetes 超全常用命令文档,涵盖集群管理、资源操作、调试排错等核心场景,结合示例与解析, 高效运维 Kubernetes 环境。


一、集群与节点管理

1. 集群信息查看
  • 查看集群基本信息
    kubectl cluster-info  # 显示API Server、DNS等核心组件地址 
    
  • 查看当前上下文
    kubectl config current-context  # 显示当前使用的集群上下文 
    
  • 切换上下文
    kubectl config use-context <context-name>  # 用于多集群环境切换 
    
2. 节点管理
  • 列出所有节点状态
    kubectl get nodes  # 显示节点名称、状态、版本等基本信息 
    
  • 查看节点详细信息
    kubectl describe node <node-name>  # 包括资源分配(CPU/内存)、Pod分布等 
    
  • 监控节点资源使用
    kubectl top nodes  # 需提前部署 Metrics Server 
    

二、命名空间(Namespace)管理

1. 基本操作
  • 查看所有命名空间
    kubectl get ns  # 缩写形式,等同于 `kubectl get namespaces` 
    
  • 创建命名空间
    kubectl create ns <namespace-name>  # 例如 `kubectl create ns test` 
    
  • 删除命名空间及资源
    kubectl delete ns <namespace-name>  # 级联删除命名空间内所有资源 
    
2. 命名空间切换
  • 设置默认命名空间
    kubectl config set-context --current --namespace=<namespace>  # 后续命令默认使用该命名空间 
    
  • 使用插件快速切换
    安装 kubens 后,执行 kubens <namespace> 切换当前命名空间 。

三、Pod 管理

1. 基础操作
  • 查看所有 Pod
    kubectl get pods -A -o wide  # 跨命名空间显示 Pod 及所在节点信息 
    
  • 查看指定命名空间的 Pod
    kubectl get pods -n <namespace>  # 例如 `kubectl get pods -n kube-system` 
    
  • 查看 Pod 详情与事件
    kubectl describe pod <pod-name>  # 包含容器状态、事件日志等 
    
2. 交互与日志
  • 进入容器终端
    kubectl exec -it <pod-name> -- /bin/bash  # 若镜像精简,使用 `/bin/sh` 
    
  • 查看容器日志
    kubectl logs <pod-name>  # 实时日志追加 `-f` 参数 
    
3. 删除与重建
  • 强制删除 Pod
    kubectl delete pod <pod-name> --force --grace-period=0  # 立即终止 
    

四、工作负载管理(Deployment/Service)

1. Deployment 操作
  • 创建 Deployment
    kubectl create deployment nginx --image=nginx --replicas=3  # 指定镜像与副本数 
    
  • 扩缩容
    kubectl scale deployment nginx --replicas=5  # 动态调整副本数 
    
  • 回滚版本
    kubectl rollout undo deployment nginx  # 回退到上一版本 
    
2. Service 管理
  • 查看 Service 列表
    kubectl get svc -A  # 显示所有服务的 ClusterIP 和端口 
    
  • 端口转发测试
    kubectl port-forward <pod-name> 8080:80  # 本地访问 `localhost:8080` 映射到容器端口 
    

五、配置与存储管理

1. ConfigMap 与 Secret
  • 创建 ConfigMap
    kubectl create configmap app-config --from-file=config.properties  # 从文件生成 
    
  • 查看 Secret 内容
    kubectl get secret <secret-name> -o jsonpath='{.data}'  # 解码后查看明文 
    
2. 持久化存储
  • 查看 PVC/PV 状态
    kubectl get pvc  # 查看 PersistentVolumeClaim 
    kubectl get pv   # 查看 PersistentVolume 
    

六、调试与排错

1. 事件与资源状态
  • 查看集群事件
    kubectl get events --sort-by='.metadata.creationTimestamp'  # 按时间排序 
    
  • 检查资源配额
    kubectl describe quota  # 显示命名空间资源限制 
    
2. 网络测试
  • Pod 内网络连通性测试
    kubectl exec <pod-name> -- curl http://<service-name>  # 测试服务可达性 
    

七、高级命令与技巧

1. 资源导出与恢复
  • 导出资源配置
    kubectl get deployment/nginx -o yaml > nginx-backup.yaml  # 备份 YAML 文件 
    
  • 批量删除资源
    kubectl delete all --all -n <namespace>  # 清空命名空间内所有资源 
    
2. 资源缩写与格式化
  • 使用资源缩写
    kubectl get po,svc,deploy  # 等价于 `pods`, `services`, `deployments` 
    
  • JSON/自定义输出
    kubectl get pods -o json  # 输出为 JSON 格式 
    kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase  # 自定义列 
    

八、附录:常用资源类型缩写表

资源类型缩写示例命令
podspokubectl get po
servicessvckubectl get svc
deploymentsdeploykubectl get deploy
namespacesnskubectl get ns
persistentvolumeclaimspvckubectl get pvc
完整列表参考

以上命令覆盖了 Kubernetes 日常运维的 80% 场景,建议结合 kubectl explain <resource> 查看字段说明 。如需更完整命令或最新特性,请参考 Kubernetes 官方文档或上述来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜淡慕潇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值