kubectl 用法探索

参考

kubectl https://kubernetes.io/zh-cn/docs/reference/kubectl/

JsonPath支持 https://kubernetes.io/zh-cn/docs/reference/kubectl/jsonpath/


-o custom-columns json格式

Deployment

/*公共*/
kubectl get deployment -n beta-net -o custom-columns=Name:.metadata.name,Namespace:.metadata.namespace,

# 注释
Annotations:.metadata.annotations

#名称、命名空间
Name:.metadata.name,Namespace:.metadata.namespace,

#副本数
Replicas:spec.replicas

#挂载卷
Volumes:.spec.template.spec.volumes,
VolumeMounts:.spec.template.spec.containers[*].volumeMounts

#生命周期
Lifecycle:.spec.template.spec.containers[*].lifecycle

#健康检查
LivenessProbe:spec.template.spec.containers[].livenessProbe,
ReadinessProbe:spec.template.spec.containers[].readinessProbe,
StartupProbe:spec.template.spec.containers[].startupProbe

#资源限制
Limits:spec.template.spec.containers[].resources.limits,
Request:spec.template.spec.containers[].resources.requests

#默认调度器
SchdulerName:.spec.template.spec.schedulerName

#nodeName调度策略
NodeName:spec.template.spec.nodeName,

#nodeSelector调度策略
NodeSelector:spec.template.spec.nodeSelector,

#nodeAffinity调度策略
NodeAffinity:.spec.template.spec.affinity.nodeAffinity

# Annotations 注释
Annotations:.spec.template.metadata.annotations

# 节点亲和性         
P2级别
kubectl get deployment -n beta-net -o custom-columns=Name:.metadata.name,Namespace:.metadata.namespace,NodeAffinity:.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[0] |grep P2

/*批量删除*/

#一次性过滤出删除
kubectl get pods -n beta-net |grep OutOf|awk '{print $1}'|xargs -I {} kubectl delete pod {} -n beta-net 

#for 循环删除
for i in `kubectl get pod -n beta-net |grep OutOfcpu|awk '{print $1}'`;do kubectl delete pod -n beta-net $i;done

/*根据pod名批量重启deployment*/
抓取
k get pod -n beta-net -o wide --show-labels |grep k8s-master|head -20|awk '{print $10}' |awk -F "," '{print $1}'|cut -d= -f 2 >  /root/label_initial.log
->
重启
for i in `cat /root/label_initial.log`;do kubectl rollout restart deployment -n beta-net $i;done

回滚
]# k -n beta-istio rollout undo deployment betadatasyncapi


-o custom-columns-file=template.txt 文件过滤

# cat template.txt
# 过滤健康检查
NAMESPACE NAME REPLICAS  LIVENESSPROBE READINESSPROBE
metadata.namespace metadata.name spec.replicas spec.template.spec.containers[].livenessProbe spec.template.spec.containers[].readinessProbe

kubectl get deploy -n NAMESPACE -o custom-columns-file=template.txt

在这里插入图片描述

查看Node节点资源

k describe node |grep -A 3 "Resource"
k top node --sort-by='cpu'
k get node -o wide
k describe node |grep Non-terminated

查看node 节点上所有的pod(默认limit 110)
阿里云ACK,默认最大2000个Node
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值