Size: a a a

Kubernetes — русскоговорящее сообщество

2020 June 16

VR

Vadim Rutkovsky in Kubernetes — русскоговорящее сообщество
Stacy Fidelina
Приветствую!
Вопрос в том, как удалить NS в статусе terminating?
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
спасибо, по ней не срабатывает, к сожалению(
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Stacy Fidelina
Приветствую!
Вопрос в том, как удалить NS в статусе terminating?
kubectl get apiservice
Есть что упавшее тут?
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
kubectl get apiservice
Есть что упавшее тут?
вот список https://pastebin.com/B0xV0uuT
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
kubectl get apiservice
Есть что упавшее тут?
если правильно понимаю, то все на месте
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
никто не упал
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
есть в kube-service-catalog упавшие controller-manager-k9njn и apiserver-b6pfx
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Ой, это OpenShift. Тут какой-то странный вывод.
kubectl get apiservice -o wide, может? Статус в pastebin не видно.
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Если все aggregated apiservers работают, то, может, какой-то объект залип в NS? Тогда можно получить список всех-всех объектов в NS вот так:

./скрипт.sh имя_зависшего_namespace
#############################################
#!/bin/bash

mapfile -t api_versions < <(kubectl get --raw /apis | jq -r '.groups[].preferredVersion.groupVersion | "/apis/\(.)"')
api_versions+=("/api/v1")

for path in "${api_versions[@]}"; do
   echo -e "\n\e[32mAPI: $path\e[0m\n"
   mapfile -t namespaced_resources < <(kubectl get --raw "$path" | jq -r '.resources[] | select(.namespaced) | .name | select(contains("/") | not)')
   for namespaced_resource in "${namespaced_resources[@]}"; do
       echo -e "\n\e[31mResource \"$namespaced_resource\"\e[0m\n"
       kubectl get -n "$1" "$namespaced_resource" 2>&1
   done
done
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
Если все aggregated apiservers работают, то, может, какой-то объект залип в NS? Тогда можно получить список всех-всех объектов в NS вот так:

./скрипт.sh имя_зависшего_namespace
#############################################
#!/bin/bash

mapfile -t api_versions < <(kubectl get --raw /apis | jq -r '.groups[].preferredVersion.groupVersion | "/apis/\(.)"')
api_versions+=("/api/v1")

for path in "${api_versions[@]}"; do
   echo -e "\n\e[32mAPI: $path\e[0m\n"
   mapfile -t namespaced_resources < <(kubectl get --raw "$path" | jq -r '.resources[] | select(.namespaced) | .name | select(contains("/") | not)')
   for namespaced_resource in "${namespaced_resources[@]}"; do
       echo -e "\n\e[31mResource \"$namespaced_resource\"\e[0m\n"
       kubectl get -n "$1" "$namespaced_resource" 2>&1
   done
done
спасибо, попробую
источник

АК

Андрей Казанцев... in Kubernetes — русскоговорящее сообщество
источник

M

Mik in Kubernetes — русскоговорящее сообщество
Привет всем, у кого удалось nginx-lua-prometheus вкруить в nginx ingress?
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
Если все aggregated apiservers работают, то, может, какой-то объект залип в NS? Тогда можно получить список всех-всех объектов в NS вот так:

./скрипт.sh имя_зависшего_namespace
#############################################
#!/bin/bash

mapfile -t api_versions < <(kubectl get --raw /apis | jq -r '.groups[].preferredVersion.groupVersion | "/apis/\(.)"')
api_versions+=("/api/v1")

for path in "${api_versions[@]}"; do
   echo -e "\n\e[32mAPI: $path\e[0m\n"
   mapfile -t namespaced_resources < <(kubectl get --raw "$path" | jq -r '.resources[] | select(.namespaced) | .name | select(contains("/") | not)')
   for namespaced_resource in "${namespaced_resources[@]}"; do
       echo -e "\n\e[31mResource \"$namespaced_resource\"\e[0m\n"
       kubectl get -n "$1" "$namespaced_resource" 2>&1
   done
done
https://pastebin.com/2fkNiERN
вот вывод, я так понимаю, что все пусто, ничего нет в NS
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
Ой, это OpenShift. Тут какой-то странный вывод.
kubectl get apiservice -o wide, может? Статус в pastebin не видно.
так тоже не показывает
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Stacy Fidelina
так тоже не показывает
API: /apis/admission.certmanager.k8s.io/v1beta1

Error from server (ServiceUnavailable): the server is currently unable to handle the request

Упал webhook Pod в cert-manager где-то. Надо его поднять или удалить (временно) apiservice.
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
kubectl get apiservice v1beta1.admission.certmanager.k8s.io -o yaml --export > apiservice-backup.yaml
kubectl delete apiservice v1beta1.admission.certmanager.k8s.io


Вот так, если не удаётся поднять Pod с cert-manager webhook. И должен NS удалиться сразу.
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
kubectl get apiservice v1beta1.admission.certmanager.k8s.io -o yaml --export > apiservice-backup.yaml
kubectl delete apiservice v1beta1.admission.certmanager.k8s.io


Вот так, если не удаётся поднять Pod с cert-manager webhook. И должен NS удалиться сразу.
сделано, но ns жив и Terminating
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Exponential backoff уже большой, надо подождать пару минут.
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
хорошо
источник

SF

Stacy Fidelina in Kubernetes — русскоговорящее сообщество
Andrey Klimentyev
Exponential backoff уже большой, надо подождать пару минут.
О чудо!!!!!
Спасибо тебе огромное!
Все случилось!
источник