Kubernetes (k8s) 常用指令速查表

ops/2025/2/19 4:05:10/

以下是一份 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.ppmy.cn/ops/158740.html

相关文章

【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA

【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA data source1: BH coordination tabledata source2:BH layer tableprocess 1:Collect BH List To Layer Tableprocess 2:match Reduced Level from "Layer"+"BH"data source1: BH coordination…

基于Flask的全国婚姻关系数据可视化分析系统的设计与实现

【FLask】基于Flask的全国婚姻关系数据可视化分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为后端开发语言&#xff0c;结合Flask后端框架和Bootstra…

【GitHub】装修个人主页

持续更新各种好文&#xff0c;长期更新技能手册&#xff0c;建议关注收藏点赞&#xff01; 创建仓库&#xff0c;仓库名自己用户名 权限&#xff1a;public 勾选add a README file修改README.md 这里都是运用markdown语法&#xff0c;以及html标签编写的&#xff0c;可以自行修…

Android WindowContainer窗口结构

Android窗口是根据显示屏幕来管理&#xff0c;每个显示屏幕的窗口层级分为37层&#xff0c;0-36层。每层可以放置多个窗口&#xff0c;上层窗口覆盖下面的。 要理解窗口的结构&#xff0c;需要学习下WindowContainer、RootWindowContainer、DisplayContent、TaskDisplayArea、T…

DeepSeek 助力 Vue 开发:打造丝滑的卡片(Card)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

js考核第三题

题三&#xff1a;随机点名 要求&#xff1a; 分为上下两个部分&#xff0c;上方为显示区域&#xff0c;下方为控制区域。显示区域显示五十位群成员的学号和姓名&#xff0c;控制区域由开始和结束两个按钮 组成。点击开始按钮&#xff0c;显示区域里的内容开始滚动&#xff0c;…

释放你的元数据:使用 Elasticsearch 的自查询检索器

作者&#xff1a;来自 Elastic Josh Asres 了解如何使用 Elasticsearch 的 “self-quering” 检索器来通过结构化过滤器提高语义搜索的相关性。 在人工智能搜索的世界中&#xff0c;在海量的数据集中高效地找到正确的数据至关重要。传统的基于关键词的搜索在处理涉及自然语言的…

Git分支管理:从入门到高效协作

引言 在软件开发中&#xff0c;分支管理是团队协作的核心技能。Git作为最流行的版本控制工具&#xff0c;其分支机制以轻量级、高效著称。本文将带你深入掌握Git分支管理的核心技巧&#xff0c;提升团队协作效率。 一、Git分支的本质 分支是什么 Git分支本质上是指向提交对象的…