关于 K8s 中 Kubectl && bash 命名空间批量操作命令的一些笔记

2023-08-21 14:30:06 浏览数 (1)

写在前面


  • 分享几个命名空间批量操作的 bash 命令
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


命名空间切换

代码语言:javascript复制
┌──[root@vms100.liruilongs.github.io]-[~/ansible/argocd]
└─$kubectl config set-context --current --namespace=argocd
Context "kubernetes-admin@kubernetes" modified.

查看所有命名空间 pod 状态为 Terminating 的 pod

代码语言:javascript复制
┌──[root@vms100.liruilongs.github.io]-[~/ansible/kubescape]
└─$kubectl get pods -A | grep Terminating 
| awk '{print "pod: " $2 " -n " $1  }' 
| xargs  -n1 -I{} bash -c "echo {}"
pod botkube-64cc8669b8-hhq29 -n botkube 
pod linruilong-rancher-5fc57954cb-289pf -n cattle-system 
pod rancher-c94449448-slv9t -n cattle-system 
pod host-scanner-mtlr5 -n kubescape-host-scanner
pod virt-operator-6dddf97b4f-mdpwr -n kubevirt 
pod virt-operator-6dddf97b4f-z2rg2 -n kubevirt 
pod 5a2b7c5a8b6eea11c36f1f2decbe1c82a528d49ca9d526b8356b5e5b13rksvd -n px-operator 
pod pixie-operator-index-vskv2 -n px-operator 

删除所有命名空间 pod 状态为 Terminating 的 pod。

代码语言:javascript复制
┌──[root@vms100.liruilongs.github.io]-[~/ansible/kubescape]
└─$kubectl get pods -A | grep Terminating 
| awk '{print "kubectl delete pod " $2 " -n " $1 " --force" }' 
| xargs  -n1 -I{} bash -c "{}"
┌──[root@vms100.liruilongs.github.io]-[~/ansible/kubescape]
└─$

获取当前集群,所有命名空间的所有资源,通过下面的命令获取

代码语言:javascript复制
┌──[root@vms81.liruilongs.github.io]-[~/ansible/k8s-helm-create]
└─$kubectl api-resources --verbs=list --namespaced -o name   
| xargs -n1 -I{} bash -c "echo @@@  {}   @@@  && kubectl get {} -A  && echo ---"

获取指定命名空间 kubevirt的全部资源

代码语言:javascript复制
┌──[root@vms100.liruilongs.github.io]-[~/ansible/k8s_shell_secript]
└─$kubectl api-resources --verbs=list --namespaced -o name  
| xargs -n1 -I{} bash -c "echo @@@  {}   @@@  && kubectl get  {} -n kubevirt  && echo ---"

删除某个命名空间 kubevirt 的所有资源

代码语言:javascript复制
┌──[root@vms100.liruilongs.github.io]-[~/ansible/kubevirt]
└─$kubectl get all -A  -o wide | grep kubevirt 
| awk '{print $2}' 
| awk -F'/' '{ print "kubectl delete "$1" "$2 " -n kubevirt --force" }'
| xargs  -n1 -I{} bash -c "{}"

博文部分内容参考

文中涉及参考链接内容版权归原作者所有,如有侵权请告知


...


0 人点赞