Parece que não consigo excluir uma versão do leme. O status fica preso em DELETING, o trabalho de limpeza associado ao kubernetes também falha sem dizer nada que possa causar a falha.
Vocês já experimentaram tal comportamento antes? Como isso pode ser resolvido ?. Também executei o comando kubectl, usado no contêiner de limpeza, individualmente e ainda nada.
Obrigada !.
Aqui o comando anexado gera:
helm ls --all prometheus-operator --debug
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
prometheus-operator 1 Mon Aug 5 17:22:14 2019 DELETING prometheus-operator-6.3.1 0.31.1 monitoring
prometheus-operator-v2 1 Mon Aug 5 19:26:20 2019 DEPLOYED prometheus-operator-6.4.0 0.31.1 monitoring
kubectl get job prometheus-operator-operator-cleanup -n monitoring
NAME COMPLETIONS DURATION AGE
prometheus-operator-operator-cleanup 0/1 19h 19h
kubectl describe jobs/prometheus-operator-operator-cleanup -n monitoring
Name: prometheus-operator-operator-cleanup
Namespace: monitoring
Selector: controller-uid=c6bfd107-b79a-11e9-a527-42010aa80121
Labels: app=prometheus-operator-operator
chart=prometheus-operator-6.3.1
heritage=Tiller
release=prometheus-operator
Annotations: helm.sh/hook: pre-delete
helm.sh/hook-delete-policy: hook-succeeded
helm.sh/hook-weight: 3
Parallelism: 1
Completions: 1
Start Time: Mon, 05 Aug 2019 19:04:59 +0300
Pods Statuses: 0 Running / 0 Succeeded / 0 Failed
Pod Template:
Labels: app=prometheus-operator-operator
chart=prometheus-operator-6.3.1
controller-uid=c6bfd107-b79a-11e9-a527-42010aa80121
heritage=Tiller
job-name=prometheus-operator-operator-cleanup
release=prometheus-operator
Service Account: prometheus-operator-operator
Containers:
kubectl:
Image: k8s.gcr.io/hyperkube:v1.12.1
Port: <none>
Host Port: <none>
Command:
/bin/sh
-c
kubectl delete alertmanager --all; kubectl delete prometheus --all; kubectl delete prometheusrule --all; kubectl delete servicemonitor --all; sleep 10; kubectl delete crd alertmanagers.monitoring.coreos.com; kubectl delete crd prometheuses.monitoring.coreos.com; kubectl delete crd prometheusrules.monitoring.coreos.com; kubectl delete crd servicemonitors.monitoring.coreos.com; kubectl delete crd podmonitors.monitoring.coreos.com;
Environment: <none>
Mounts: <none>
Volumes: <none>
Events: <none>
Verifique isso .
Você provavelmente só precisa:
kubectl edit jobs/prometheus-operator-operator-cleanup -n monitoring
e remova o bloco de finalizadores do recurso.Encontrou o problema. Não sei por que não tinha nenhum evento na descrição do trabalho, mas executei a exclusão novamente e pude verificar os logs do pod de limpeza gerados:
O problema foi causado por uma exclusão incompleta da versão do leme (interrompida). Durante essa exclusão, a conta de serviço do operador do prometheus e seu clusterrolebinding+clusterrole associado foram removidos e, após uma segunda tentativa de exclusão do leme, faltavam as permissões necessárias para excluir tudo o mais que não foi excluído na primeira tentativa.