bash - 如何删除特定命名空间的特定部署的所有 pod?

标签 bash kubernetes

我正在寻找一种方法来删除特定命名空间的特定部署的所有 pod。换句话说,给定:

x - list of namespaces
y - list of deployments

for i in x:
  for j in y:
    delete all pods of deployment j in namespace i

如果有人知道如何在 bash 命令中执行此操作,我会很高兴。

谢谢!

最佳答案

我相信这样的事情可以做到:

#!/bin/bash

NAMESPACES=( n1 n2 n3 )
DEPLOYMENTS=( dep1 dep2 dep3 )

for i in "${NAMESPACES[@]}"
do
  for x in "${DEPLOYMENTS[@]}"
  do
     # Get the pods in the deployment
     PODS=$(kubectl -n $i get pods --no-headers | awk '{print $1}' | grep $x | tr '\n' ' ')
     kubectl -n $i delete pods $PODS
  done
done

关于bash - 如何删除特定命名空间的特定部署的所有 pod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58085963/

相关文章:

sockets - ipvsadm 在 kubeadm 集群中未显示任何条目

kubernetes - 如何使用 PodTemplate

docker - 使用Minikube的Docker配置portainer

kubernetes - BookInfo示例应用程序的Istio mTLS问题

bash - 如何在 bash 字符串切碎中切碎字符串的最后 n 个字节?

regex - 替换文件中的所有字符串,在替换中使用通配符

bash - sed 命令 - 适用于文件夹的所有文本 (.txt) 文件

kubernetes - 如何配置Helm在kubernetes上安装的alertmanager?

html - sed 从 html 文件中删除标签

regex - 为 html 文件中的所有媒体链接添加前缀