k8s 常用指令

指令总结:

1.show labels 列出所有标签

复制代码
kubectl get po  -n namespace --show-labels

2.查看日志

查看 Pod 内当前容器的日志

复制代码
kubectl -n ${namespace} logs -f ${pod_name}
#如果不加-n,默认是在default命名空间下

查看 Pod 内容器上次启动时的日志信息

复制代码
kubectl -n ${namespace} logs -p ${pod_name}

可以加上-c 容器名,精确到具体容器

3.CrashLoopBackoff问题排查

  1. 首先,为待诊断的 Pod 添加 Annotation:

    kubectl annotate pod {pod_name} -n {namespace} runmode=debug

在 Pod 内的容器下次重启时,会检测到该 Annotation,进入诊断模式。注意如果 Pod 处于运行中,可以执行以下命令强制让容器重启。

  1. 等待 Pod 进入 Running 状态即可开始诊断:

    watch kubectl get pod {pod_name} -n {namespace}

下面是使用 kubectl exec 进入容器进行诊断工作的例子:

  1. 诊断完毕,修复问题后,删除 Pod:

    kubectl delete pod {pod_name} -n {namespace}

Pod 重建后会自动回到正常运行模式

4.查看pod状态

复制代码
#pod运行情况
kubectl describe pod -n tidb-cluster pod名称
#pod ip信息
kubectl get pods -o wide -n namespace
#查看cpu内存使用情况
oc adm top pod <pod_name>
#查看service关联的pod
kubectl get endpoints

5.查看节点信息

复制代码
oc get pods -n namespace -o wide
oc get nodes

6.查看API以及版本

复制代码
kubectl api-versions    列出当前kubernetes系统支持的资源组和资源版本表现形式为/
kubectl api-resources   列出当前kubernetes系统支持的resource资源列表

7.查看当前所有服务

复制代码
#把所有pod里的服务都列出来了
kubectl get svc -n namespace 

8.CRD相关

复制代码
kubectl get crd
kubectl delete -f crd.yaml

kubectl get crd xxx -o yaml   #xxx是kubectl get crd列出来的你的CRD名

9.获取namespace

复制代码
kubectl get namespace
kubectl get ns

10.获取deployment

复制代码
kubectl get deployment
#查看升级步骤
kubectl describe deployment pod名字

11.资源操作

复制代码
1.#创建对象
	#可以打印出即将被创建的对象
	kubectl diff -f yaml文件
	#创建对象
	kubectl apply -f yaml文件
	#打印配置
	kubectl get -f yaml文件
2.#更新对象
kubectl diff -f yaml文件
kubectl apply -f yaml文件
3.#删除对象
kubectl delete -f yaml文件
4.查看对象
kubectl get -f <文件名 | URL> -o yaml

12.查看pod中的容器

复制代码
kubectl get pods pod名 -o jsonpath={.spec.containers[*].name} -n namspace

13.删除CRD

复制代码
#查看crd名字
kubectl get crd
#删除crd
kubectl delete crd  crd名字
相关推荐
极客柒11 分钟前
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
服务器·docker·开源
只是橘色仍温柔24 分钟前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
IT里的交易员29 分钟前
【系统】换硬盘不换系统,使用WIN PE Ghost镜像给电脑无损扩容换硬盘
运维·电脑
共享家952740 分钟前
深入剖析Linux常用命令,助力高效操作
linux·运维·服务器
小刘爱喇石( ˝ᗢ̈˝ )43 分钟前
玛卡巴卡的k8s知识点问答题(七)
云原生·容器·kubernetes
大刘讲IT1 小时前
制造业数字化转型:流程改造先行还是系统固化数据?基于以MTO和MTS的投资回报分析
运维·经验分享·生活·产品经理·数据可视化
吃旺旺雪饼的小男孩1 小时前
Ubuntu 22.04 安装和运行 EDK2 超详细教程
linux·运维·ubuntu
阿政一号2 小时前
Linux进程间通信:【目的】【管道】【匿名管道】【命名管道】【System V 共享内存】
linux·运维·服务器·进程间通信
方渐鸿2 小时前
【2025】快速部署安装docker以及项目搭建所需要的基础环境(mysql、redis、nginx、nacos)
java·运维·docker·持续部署·dockercompse
小哈里2 小时前
【运维】云计算的发展历程,云原生时代的运维理念&工具技术栈,高可用系统的云运维 —— 以K8S集群调度算法与命令为例
运维·云原生·kubernetes·云计算·架构设计