k8s常用命令

强制删除pod
kubectl delete pod prometheus-k8s-1 -n monitoring --force --grace-period=0

删除一个Label,只需在命令行最后指定Label的key名并与一个减号相连即可:
$ kubectl label nodes 1.1.1.1 role-

修改一个Label的值,需要加上–overwrite参数:
$ kubectl label nodes 1.1.1.1 role=apache --overwrite

设置污点:
kubectl taint nodes 10.1.241.161 node=prometheus:NoSchedule
kubectl taint nodes 10.1.241.159 node=prometheus:NoSchedule

设置标签:
kubectl label nodes 10.1.241.161 node=prometheus
kubectl label nodes 10.1.241.159 node=prometheus

查看节点的污点:
kubectl describe node 10.1.241.159 |grep “Taints”

查看节点的标签:
kubectl get node --show-labels

给master节点设置label
kubectl label nodes 10.19.12.14 node-role.kubernetes.io/master=true

master节点设置taint

[root@k8s-master01 ~]# kubectl taint nodes k8s-master01 node-role.kubernetes.io/master=:NoSchedule
[root@k8s-master02 ~]# kubectl taint nodes k8s-master02 node-role.kubernetes.io/master=:NoSchedule
[root@k8s-master03 ~]# kubectl taint nodes k8s-master03 node-role.kubernetes.io/master=:NoSchedule

删除被驱逐的pod

kubectl get pods | grep Evicted | awk ‘{print $1}’ | xargs kubectl delete pod

###备注
污点和标签类似,但是节点一旦设置了污点,如果不容忍污点,pod就不会调度上来

1、设置taint
NoSchedule: 一定不能被调度
PreferNoSchedule: 尽量不要调度
NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod

kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1=value1:NoExecute
kubectl taint nodes node1 key2=value2:NoSchedule
2、查看taint
kubectl describe node node1
3、删除taint:
kubectl taint node node1 key1:NoSchedule- # 这里的key可以不用指定value
kubectl taint node node1 key1:NoExecute-
kubectl taint node node1 key1- # 删除指定key所有的effect
kubectl taint node node1 key2:NoSchedule-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值