0

我有一组豆荚,它们有卷。我想用注释每个 pod

backup.velero.io/backup-volumes=<volume1 of that pod>,<volume2 of that pod>

我试图运行这样的命令

    kubectl get pods -n dev -o name | \
xargs -I{} kubectl -n dev annotate {} backup.velero.io/backup-volumes=$(bash -c 'kubectl get {} -n dev -o json | jq -r ".spec.volumes[0].name | paste -sd, -"') --overwrite

但是,在这种情况下,内部{}似乎确实得到了正确的值。有没有更简单的方法来用它们拥有的卷来注释 pod?

4

1 回答 1

1

我可以这样解决

kubectl get pods -n dev -o name | xargs -I{} sh -c 'kubectl -n dev annotate "$1" backup.velero.io/backup-volumes=$(kubectl get  "$1" -n dev -o json | jq -r .spec.volumes[].name | paste -sd, -) --overwrite' - {}
于 2020-03-12T00:48:03.717 回答