我正在寻找一种方法来删除特定命名空间的特定部署的所有 pod。换句话说,给定:
x - 命名空间
列表 y - 部署列表
for i in x:
for j in y:
delete all pods of deployment j in namespace i
Run Code Online (Sandbox Code Playgroud)
如果有人知道如何在 bash 命令中执行此操作,我会很高兴。
谢谢!
通常,您可以使用标签选择器来执行此操作。您可以在模板元数据中添加一些内容,例如labels: {app: foo}然后kubectl delete pod --all-namespaces -l app=foo。
我相信这样的事情会做到:
#!/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |