2015-11-03 2 views

ответ

44

Нет никакой команды, чтобы выполнить именно то, что вы просили.

Проведите близкие встречи.

Вы можете удалить все стручки в одном пространстве имен с помощью этой команды:

kubectl delete --all pods --namespace=foo 

Вы можете удалить все пространства имен, и каждый объект в каждом пространстве имен (но не не-пространстве имен объектов, как узлы и некоторые события) с помощью следующей команды:

kubectl delete --all namespaces 

Однако последняя команда, вероятно, не то, что вы хотите сделать, так как он будет удалять вещи в пространстве имен Кубэ-системе, которые сделают ваш кластер не годен к употреблению.

Эта команда удалит все пространства имен, кроме Кубэ-системы, которые могут быть полезны:

for each in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}" | grep -v kube-system); 
do 
    kubectl delete ns $each 
done 
+2

"" {.items [*]. Metadata.name} "- в этом ответе есть двойные кавычки ... пожалуйста, проверьте и отредактируйте. – kumar

+0

исправлена ​​цитата –

5

Вам просто нужно sed сделать это:

kubectl get pods --no-headers=true --all-namespaces |sed -r 's/(\S+)\s+(\S+).*/kubectl --namespace \1 delete pod \2/e' 

Объясняет:

  1. используйте команду kubectl get pods --all-namespaces, чтобы получить список всех контейнеров во всех пространствах имен.
  2. использование --no-headers=true возможность скрыть заголовки.
  3. s команда sed для извлечения первых двух слов, которые представляют namespace и pod's name соответственно, затем с помощью команды delete.
  4. окончательный delete команда такая же: kubectl --namespace kube-system delete pod heapster-eq3yw.
  5. используйте модификатор e команды s для выполнения команды, собранной выше, которая будет выполнять фактические работы delete.

Чтобы избежать УДАЛИТЬ стручки в kube-system пространстве имен, просто нужно добавить grep -v kube-system исключить kube-system имен перед командой sed.

+0

Вы также можете просто отбросить' -all-namespaces 'если вы не хотите удалять контейнеры в пространстве имен' kube-system' – ianstarz

Смежные вопросы