Rancher下的kubectl常用命令

本文介绍了如何使用kubectl在Kubernetes集群中进行各种操作,包括查看命名空间、Pod、部署,以及删除策略,如删除Pod、Deployment和处理假死Pod。
摘要由CSDN通过智能技术生成

集群管理

可以在集群主页中执行kubectl命令管理集群
在这里插入图片描述

查看所有命名空间

kubectl get namespace

查看所有的pod

kubectl get pod --all-namespace

查看pod详细信息

kubectl get pods -o wide

查看某个命名空间下的pod,如default

kubectl get pod -n default

根据关键字查找pod,如查找nginx相关的pod

kubectl get pod --all-namespace | grep nginx

查找某个主机上的所有pod,如查找名为webserver主机上的所有pod

kubectl get pods --all-namespace -o wide --field-selector spec.nodeName=webserver

查看所有部署

kubectl get deployment --all-namespace
注:`部署`支持的查询参数与`pod`类似。比较重要的是理解`部署`和`pod`区别。简单的说,如果把`部署`看成一个对象,那么`pod`就是该对象的实例,属于一对多的关系。单独删除一个健康的`pod`是无效的,因为当`k8s`检测到一个健康的`pod`不存在以后,会立即启动恢复机制,恢复被删除的或者不健康的`pod`。所以应该通过删除`部署`来删除其所对应的实例。
删除一个部署,如删除一个名为nginx的部署
kubectl delete deployment nginx

kubectl get pod --all-namespaces

显示所有假死pod

kubectl get pod --all-namespace | grep -E 'Terminating|Unknown|Evicted'

强制删除单个pod

kubectl delete pod test-6b8866f678-9tpqh --kubeconfig kube.config --grace-period=0 --force

强制删除所有假死pod

kubectl get pod -A | grep -E 'Terminating|Unknown|Evicted' | awk '{system("kubectl delete pod "$2" -n "$1" --force --grace-period=0")}'

kubectl get pod --all-namespaces | grep -E 'Terminating|Unknown|Evicted' | awk '{system("kubectl delete pod "$2" -n "$1" --force --grace-period=0")}'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值