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名字
相关推荐
sun0077003 小时前
ubuntu增加swap交换空间
linux·运维·服务器
苹果醋33 小时前
前端面试之九阴真经
java·运维·spring boot·mysql·nginx
疯狂吧小飞牛3 小时前
openssl颁发包含主题替代名的证书–SAN
运维·服务器·网络
qhd吴飞4 小时前
在linux下用二进制方式安装mysql8
linux·运维·服务器
刘登辉4 小时前
雷电模拟器charles代理抓包
运维·服务器
藤原拓远4 小时前
二.LoadBalancer负载均衡服务调用(1)
运维·负载均衡
抽象文学带师4 小时前
配置ssh免密登陆
运维·服务器·ssh
北'辰5 小时前
使用ENSP实现DHCP
运维·网络
.生产的驴5 小时前
Docker Seata分布式事务保护搭建 DB数据源版搭建 结合Nacos服务注册
数据库·分布式·后端·spring cloud·docker·容器·负载均衡
罔闻_spider6 小时前
cookie反爬----普通服务器,阿里系
运维·服务器