Как перезапустить или сбросить модули пользовательского пространства имен?

Как перезапустить или сбросить модули пользовательского пространства имен?

У меня есть кластер k3s с kube-systemмодулями и модулями моего приложения ( xyz-systemпространство имен):

kube-system   pod/calico-node-xxxx                          
kube-system   pod/calico-kube-controllers-xxxxxx   
kube-system   pod/metrics-server-xxxxx
kube-system   pod/local-path-provisioner-xxxxx
kube-system   pod/coredns-xxxxx
xyz-system    pod/my-app
xyz-system    pod/my-app-mqtt

Я хочу сбросить/перезапустить все эти модули (kube-system + xyz-system) одной командой (или это могут быть две команды для двух пространств имен, но без имени развертывания), не указывая имен развертываний, поскольку в будущем у меня может быть создано больше развертываний, и будет сложно указать много имен развертываний вручную.

Отладка:
С командой kubectl -n kube-system rollout restart daemonsets,deployments, как указано всвязьЯ могу перезапустить kube-systemмодули. Но когда я изменяю эту команду с помощью xyz-namespace: kubectl -n xyz-system rollout restart deploymentsсоответствующие модули не перезапускаются, когда я отслеживаю, watch kubectl get all -Aони остаются в состоянии выполнения.

Может ли кто-нибудь подсказать мне, как этого добиться?

решение1

В двух командах:

kubectl delete pod -n kube-system --all
kubectl delete pod -n xyz-system --all

В одной":

kubectl get pods -A | awk 'NR>1{print $1" "$2}' \
    | while read ns pod; do \
        kubectl delete -n $ns pod $pod; done

Или:

kubectl get ns | awk 'NR>1{print $1}' \
    | while read ns; do \
         kubectl delete pod -n $ns --all; done

Хотя я поддерживаю комментарий @jonas: звучит как странный вопрос, не имея известных мне примеров его реального использования.

Связанный контент