我有一组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?
我可以像这个一样解决它
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' - {}