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

Kubernetes (k8s) 常用指令速查表

以下是一份 Kubernetes (k8s) 常用指令速查表,涵盖集群管理、资源操作、故障排查等场景,适合日常运维和开发使用:


1. 集群与节点管理

命令说明
kubectl cluster-info查看集群基本信息
kubectl get nodes查看所有节点状态
kubectl describe node <node-name>查看节点详细信息(资源、事件等)
kubectl cordon <node-name>标记节点为不可调度(维护用)
kubectl uncordon <node-name>恢复节点为可调度
kubectl drain <node-name> --ignore-daemonsets排空节点(驱逐Pod)

2. 命名空间 (Namespace)

命令说明
kubectl get ns查看所有命名空间
kubectl create ns <namespace>创建命名空间
kubectl config set-context --current --namespace=<ns>切换当前操作的命名空间

3. Pod 操作

命令说明
kubectl get pods [-n <namespace>]查看所有 Pod(默认当前命名空间)
kubectl describe pod <pod-name>查看 Pod 详细信息(事件、状态等)
kubectl logs <pod-name> [-c <container>]查看 Pod 日志(指定容器)
kubectl exec -it <pod-name> -- /bin/sh进入 Pod 的 Shell
kubectl delete pod <pod-name>删除 Pod

4. Deployment 管理

命令说明
kubectl get deploy查看所有 Deployment
kubectl scale deploy <deploy-name> --replicas=3扩缩容 Pod 副本数
kubectl rollout status deploy/<deploy-name>查看 Deployment 发布状态
kubectl rollout undo deploy/<deploy-name>回滚到上一个版本
kubectl edit deploy <deploy-name>直接编辑 Deployment 配置

5. Service 与 Ingress

命令说明
kubectl get svc查看所有 Service
kubectl get ingress查看所有 Ingress
kubectl expose deploy <deploy-name> --port=80 --target-port=8080创建 Service 暴露 Deployment

6. 配置与存储

命令说明
kubectl get configmap查看所有 ConfigMap
kubectl get secret查看所有 Secret
kubectl create secret generic <name> --from-file=key=path创建 Secret
kubectl get pv查看持久卷(PersistentVolume)
kubectl get pvc查看持久卷声明(PersistentVolumeClaim)

7. 调试与故障排查

命令说明
kubectl get events --sort-by=.metadata.creationTimestamp按时间排序查看事件
kubectl top pod/node查看 Pod/节点的资源使用(需 metrics-server)
kubectl api-resources查看所有支持的资源类型
kubectl explain <resource>查看资源定义(如 kubectl explain pod.spec

8. 快捷技巧

  • 别名简化

    bash

    复制

    alias k=kubectl
    alias kgp="kubectl get pods"
  • 字段过滤

    bash

    复制

    kubectl get pods -o wide                  # 显示更宽字段(如IP、节点)
    kubectl get pods --field-selector status.phase=Running  # 过滤运行中的 Pod
  • 格式化输出

    bash

    复制

    kubectl get pods -o jsonpath='{.items[*].metadata.name}'  # 仅输出 Pod 名称
    kubectl get pods -o yaml > pod.yaml       # 导出 YAML 配置

常用资源类型缩写

缩写全称
popods
deploydeployment
svcservice
ingingress
cmconfigmap
nsnamespace

注意

  • 所有命令默认使用当前上下文(Context)和命名空间(Namespace),可通过 kubectl config 管理上下文;

  • 复杂操作建议结合 YAML 文件(如 kubectl apply -f deploy.yaml)。

http://www.lryc.cn/news/537109.html

相关文章:

  • DeepSeek教unity------MessagePack-05
  • Kotlin 优雅的接口实现
  • 新的面试题CSS
  • DeepSeek R1打造本地化RAG知识库
  • 聚铭网络入围2025年度江苏省政府采购信息安全设备协议供货名单
  • 基于Flask的影视剧热度数据可视化分析系统的设计与实现
  • 【弹性计算】弹性计算的技术架构
  • python-leetcode 31.K个一组翻转链表
  • 算法08-递归调用转为循环的通用方法
  • [创业之路-300]:进一步理解货币与金钱, 货币与货币政策
  • 达梦:跟踪日志诊断
  • Qwen2-VL 的重大省级,Qwen 发布新旗舰视觉语言模型 Qwen2.5-VL
  • js考核第三题
  • LabVIEW袜品压力测试系统
  • jsp页面跳转失败
  • 1.推荐算法基本概念
  • Java 大视界 -- 大数据伦理与法律:Java 技术在合规中的作用与挑战(87)
  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十五节】
  • 【深度强化学习】策略梯度算法:REINFORCE
  • 手机用流量怎样设置代理ip?
  • CI/CD部署打包方法
  • LabVIEW 中dde.llbDDE 通信功能
  • 探索后端开发中的异步API:基于Resilience4j与Reactive Programming的高性能设计
  • leetcode 2915. 和为目标值的最长子序列的长度
  • 【Vue】打包vue3+vite项目发布到github page的完整过程
  • Flutter编译问题记录
  • poetry shell - 作为插件安装和使用
  • UE5中的快捷键汇总
  • 2月14(信息差)
  • ElementUI 的组件 Switch(开关)如何让文字显示在按钮上