当前位置: 首页 > ds >正文

【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 官方文档或上述来源。

http://www.xdnf.cn/news/5017.html

相关文章:

  • Java学习手册:单体架构到微服务演进
  • PCA降维
  • Linux 文件目录管理常用命令
  • 如何减少极狐GitLab 容器镜像库存储?
  • 基于卷积神经网络和Pyqt5的猫狗识别小程序
  • Femap许可使用数据分析
  • NestJS 框架深度解析
  • 《让歌声跨越山海:Flutter借助Agora SDK实现高质量连麦合唱》
  • 力扣题解:21.合并两个有序链表(C语言)
  • 对遗传算法思想的理解与实例详解
  • Redis 主从复制集群搭建教程
  • 基于vue框架的电子商城m8qu8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 构筑芯片行业的“安全硅甲”
  • SSL证书格式详解:PEM、CER、DER、JKS、PKCS12等
  • k8s之探针
  • 数据结构【二叉搜索树(BST)】
  • opencv中的图像特征提取
  • 解构C++高级命名空间:构建空间作用域·控制兼容
  • 【MySQL】第二弹——MySQL表的增删改查(CRUD)
  • 多态(c++详细版)
  • 大模型(LLMs)agent
  • 图像匹配导航定位技术 第 8 章
  • 编专利或委托他人编专利属于学术不端行为吗?
  • C++ 函数类型及实用例题
  • 前端如何处理精度丢失问题
  • 影响服务器性能的主要因素是什么
  • 量子通信技术及其在信息安全中的应用:开启无条件安全通信的新时代
  • 【Python】pyinstaller 反编译 exe
  • 手撕基于AMQP协议的简易消息队列-4(项目需求分析)
  • 现代健康养生新范式:多维度守护身心活力