Helm: Falha na liberação do "operador-prometheus": erro rpc: código = cancelado

Criado em 31 jul. 2019  ·  71Comentários  ·  Fonte: helm/helm

Descreva o bug
Quando tento instalar o operador prometheus no AKS com helm install stable/prometheus-operator --name prometheus-operator -f prometheus-operator-values.yaml estou recebendo este erro:

prometheus-operator "falhou: erro rpc: código = cancelado

Eu verifiquei com a história:

helm history prometheus-operator -o yaml
- chart: prometheus-operator-6.3.0
  description: 'Release "prometheus-operator" failed: rpc error: code = Canceled desc
    = grpc: the client connection is closing'
  revision: 1
  status: FAILED
  updated: Tue Jul 30 12:36:52 2019

Gráfico
[operador-estável / prometheus]

Informação adicional
Estou usando as configurações abaixo para implantar um gráfico:

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheusrule.crd.yaml
 kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/servicemonitor.crd.yaml

No arquivo de valores: createCustomResource é definido como false ,

Resultado de helm version :
Cliente: & version.Version {SemVer: "v2.14.3", GitCommit: "0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState: "clean"}
Servidor: & version.Version {SemVer: "v2.14.3", GitCommit: "0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState: "clean"}

Resultado de kubectl version :
Versão do cliente: version.Info {Principal: "1", Secundária: "10", GitVersion: "v1.10.4", GitCommit: "5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState: "clean", BuildDate: "2018-06-06T08: 13: 03Z ", GoVersion:" go1.9.3 ", Compilador:" gc ", Plataforma:" windows / amd64 "}
Versão do servidor: version.Info {Major: "1", Minor: "13", GitVersion: "v1.13.7", GitCommit: "4683545293d792934a7a7e12f2cc47d20b2dd01b", GitTreeState: "clean", BuildDate: "2019-06-06T01: 39 30Z ", GoVersion:" go1.11.5 ", Compilador:" gc ", Plataforma:" linux / amd64 "}

Provedor / plataforma de nuvem (AKS, GKE, Minikube etc.):
AKS

questiosupport

Comentários muito úteis

Consegui contornar esse problema seguindo a seção 'O Helm não consegue criar CRDs' em readme.md. Não tenho certeza de como eles estão relacionados, mas funcionou.

Etapa 1: crie manualmente o CRDS

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheusrule.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/servicemonitor.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/podmonitor.crd.yaml

Passo 2:
Aguarde a criação dos CRDs, o que deve levar apenas alguns segundos

Etapa 3:
Instale o gráfico, mas desative o provisionamento CRD definindo prometheusOperator.createCustomResource = false

$ helm install --name my-release stable/prometheus-operator --set prometheusOperator.createCustomResource=false

Todos 71 comentários

Temos o mesmo problema no minikube, por isso não parece ser específico da AWS.

Temos o mesmo problema em clusters implantados com kubespray.

Também estou vendo o problema nos clusters implantados kubespray k8s 12.xe 13.x k8s em nosso pipeline automatizado - taxa de falha de 100%. A versão anterior do operador prometheus (0.30.1) funciona sem problemas.
O engraçado é que, se eu executar o comando manualmente em vez de por meio do pipeline do CD, ele funciona - então estou um pouco confuso quanto a qual seria a causa.

Vi que havia uma atualização no gráfico do promethus hoje. Eu bati para

NAME                            CHART VERSION   APP VERSION
stable/prometheus-operator      6.8.0           0.32.0     

e não estou mais vendo o problema.

@rnkhouse Você pode verificar a versão do gráfico mais recente, conforme mencionado por @ dlevene1 em https://github.com/helm/helm/issues/6130#issuecomment -526977731?

Eu tenho esse mesmo problema com a versão 6.8.1 no AKS.

NAME                        CHART VERSION   APP VERSION
stable/prometheus-operator  6.8.1           0.32.0
❯ helm version 
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
 ❯ helm install -f prd.yaml --name prometheus --namespace monitoring stable/prometheus-operator 
Error: release prometheus failed: grpc: the client connection is closing
>>> elapsed time 1m56s

Temos o mesmo problema em clusters implantados com kubespray.

Versão do Kubernete: v1.4.1
Versão do leme:

Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}

Versão do operador Prometheus:

NAME                            CHART VERSION   APP VERSION
stable/prometheus-operator      6.8.1           0.32.0  

Eu tenho o mesmo problema no aks.

Alguém pode reproduzir esse problema no Helm 3 ou ele se propaga como um erro diferente? Minha suposição é que, com a remoção do leme, isso não deve ser mais um problema.

@bacongobbler Esse ainda é um problema no Helm 3.

bash$ helm install r-prometheus-operator stable/prometheus-operator --version 6.8.2 -f prometheus-operator/helm/prometheus-operator.yaml

manifest_sorter.go:179: info: skipping unknown hook: "crd-install"
Error: apiVersion "monitoring.coreos.com/v1" in prometheus-operator/templates/exporters/kube-controller-manager/servicemonitor.yaml is not available

No entanto, essa parece ser uma questão diferente da levantada pelo OP.

descrição: 'Release "prometheus-operator" falhou: erro rpc: code = Canceled desc
= grpc: a conexão do cliente está fechando '

Você pode verificar se está usando a versão beta mais recente também? Esse erro foi aparentemente corrigido em # 6332, que foi lançado em 3.0.0-beta.3. Se não, você pode abrir um novo problema?

@bacongobbler estou usando o Helm v3.0.0-beta.3 mais recente.

Tive que voltar para a - versão 6.7.3 para instalá-lo corretamente

Nossa solução alternativa é manter a imagem do operador prometheus na v0.31.1.

helm.log
Também acabei de encontrar esse problema na instalação do DockerEE kubernetes

Depois de mexer nas opções de instalação --debug e outras, agora estou recebendo:

Error: release prom failed: context canceled

Editar: pode tentar atualizar minhas versões do leme, atualmente em v2.12.3
Edit2: Atualizado para 2.14.3 e ainda problemático
grpc: the client connection is closing
Edit3: Versão 6.7.3 instalada de acordo com as sugestões acima para fazer as coisas funcionarem novamente
Edit4: log do Tiller anexado para uma instalação com falha como helm.log

relacionado: https://github.com/helm/charts/issues/15977

Depois de fazer algumas pesquisas com @ cyp3d , parece que o problema pode ser causado por um tempo limite de exclusão do helm muito curto para alguns clusters. Não consigo reproduzir o problema em nenhum lugar, então se alguém que está passando por isso pudesse validar uma possível correção no branch de solicitação de pull vinculado, eu ficaria muito grato!

https://github.com/helm/charts/pull/17090

O mesmo aqui em vários clusters criados com kops na AWS.
No entanto, não há problemas ao executar no K3S.

@xvzf

Você poderia tentar a correção potencial neste PR? https://github.com/helm/charts/pull/17090

Eu dei uma olhada no PR e ainda o mesmo Error: release prom failed: context canceled
tiller.log

@vsliouniaev Não, não corrige o problema aqui

Obrigado por verificar @xvzf e @pyadminn. Fiz outra alteração no mesmo PR. Você pode ver se isso ajuda?

Acabei de verificar o PR atualizado ainda vendo o seguinte em nossa infra: Error: release prom failed: rpc error: code = Canceled desc = grpc: the client connection is closing

Para sua informação, estamos no Kuber 1.14.3
Helm vers v2.14.3

Consegui contornar esse problema seguindo a seção 'O Helm não consegue criar CRDs' em readme.md. Não tenho certeza de como eles estão relacionados, mas funcionou.

Etapa 1: crie manualmente o CRDS

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheusrule.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/servicemonitor.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/podmonitor.crd.yaml

Passo 2:
Aguarde a criação dos CRDs, o que deve levar apenas alguns segundos

Etapa 3:
Instale o gráfico, mas desative o provisionamento CRD definindo prometheusOperator.createCustomResource = false

$ helm install --name my-release stable/prometheus-operator --set prometheusOperator.createCustomResource=false

@vsliouniaev Ainda o mesmo problema! Embora a solução alternativa do lethalwire funcione.

A solução alternativa letal também me resolveu.

Portanto, 4 dias por parte a solução alternativa funcionou e parou de funcionar, tive que usar o arquivo CRDs de 0.32.0 não mestre.

Acabei de experimentar o mesmo problema com os CRDs atualmente no master. Obrigado @Typositoire por sua sugestão de usar a versão anterior. Adaptar a instalação dos CRDs para o seguinte funcionou para mim:

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/prometheusrule.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/servicemonitor.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/podmonitor.crd.yaml

É por isso que corrigir a versão costuma ser uma boa prática.

Também tive esse problema, tente desabilitar admissionWebhooks . Isso ajudou no meu caso.

Instale o prometheus-operator chart 6.0.0 e faça uma atualização do leme --force --version 6.11.0. Isso parece funcionar no rancher kubernetes 1.13.10 e no helm v2.14.3

A solução alternativa sugerida por @Typositoire funcionou bem para mim em um cluster 1.13.10 gerado pelo kops.

Mesmo problema aqui ao tentar instalar no Azure AKS com kubernetes 1.13.10 e helm v2.14.3 com prometheus-operator-6.18.0. Alguma sugestão?

CRD instalado manualmente.

Este comando falhou:
helm install --name prometheus-operator stable/prometheus-operator --namespace=monitoring --set prometheusOperator.createCustomResource=false

dê o erro

Erro: a liberação do operador prometheus falhou: erro rpc: código = cancelado desc = grpc: a conexão do cliente está fechando

EDITAR: a instalação da versão 6.11.0 (bem como a 6.7.3) do gráfico está funcionando:

helm install --name prometheus-operator stable/prometheus-operator --namespace=monitoring --set prometheusOperator.createCustomResource=false --version 6.11.0

Tente desativar o web hook do controlador de admissões

https://waynekhan.net/2019/10/09/prometheus-operator-release-failed.html

Em 15 de outubro de 2019, às 19:32, iMacX [email protected] escreveu:


Mesmo problema aqui ao tentar instalar no Azure AKS com kubernetes 1.13.10 e helm v2.14.3 com prometheus-operator-6.18.0. Alguma sugestão?

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub ou cancele a inscrição.

Eu estava lutando contra o mesmo problema, tive que instalar manualmente o crds especificado por @JBosom e instalar com o web hook desabilitado.

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/prometheusrule.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/servicemonitor.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.32/example/prometheus-operator-crd/podmonitor.crd.yaml

helm --tls --tiller-namespace=tiller install --namespace=monitoring --name prom-mfcloud stable/prometheus-operator --set prometheusOperator.createCustomResource=false --set prometheusOperator.admissionWebhooks.enabled=false --values values.yaml --versi on 6.18.0

Estava recebendo o mesmo erro ao tentar instalar v8.0.0 no cluster K8S local pelo Docker para Desktop com o leme v2.14.3 . Conseguiu instalar somente depois de criar CRDs primeiro, conforme sugerido por @lethalwire

Acho que temos casos suficientes aqui para determinar que este é um problema específico com o gráfico do operador de prometeu.

Vou encerrar isso como algo para o qual não temos uma resposta acionável de nossa parte, mas fique à vontade para continuar a conversa.

Lamento o discurso retórico, mas não estou mais recebendo este erro depois de atualizar para o leme mais recente v2.15.2 . 👍

Parece muito estranho que não haja informações disponíveis de Helm sobre o que está acontecendo.

Não há registros de depuração postados aqui nem solicitados, e o pessoal está restaurando para inverter interruptores e ver se ajuda.

O que o erro realmente significa? É um indicador de um impasse com esperas? Existem outras ações que podem ser realizadas além de apenas um encolher de ombros coletivo?

sim. O erro original parece ser um deadlock aguardando a conclusão do web hook de admissão, pois a desativação do web hook permite que o gráfico seja instalado sem problemas. Olhar os logs de Tiller deve confirmar o problema.

O Helm 3 deve relatar o erro correto ao usuário, pois não há camada gRPC no tempo limite da combinação e cancelando a solicitação de um tempo limite.

Sinta-se à vontade para fornecer patches para o Helm 2. Como isso foi aprimorado para o Helm 3, fui em frente e fechei o problema como corrigido nas versões mais recentes.

Espero que isto ajude.

O erro original parece ser um deadlock aguardando a conclusão do web hook de admissão, pois a desativação do web hook permite que o gráfico seja instalado sem problemas.

Isso parece muito estranho como a conclusão, já que a solução é desabilitar o trabalho ou desabilitar a instalação dos ganchos CRD. Ambos parecem resolver o problema, portanto, não parece ser um problema específico com o trabalho.

Para qualquer outra pessoa com esse problema - você poderia fornecer o resultado de kubectl describe job para que possamos descobrir quais trabalhos estão falhando? Já pedi isso antes, mas todos parecem indicar que não há empregos presentes.

O Tiller lê o seguinte:

[kube] 2019/11/15 14:35:46 get relation pod of object: monitoring/PrometheusRule/prometheus-operator-node-time
[kube] 2019/11/15 14:35:46 Doing get for PrometheusRule: "prometheus-operator-kubernetes-apps"
[ A lot of unrelated updates in between... ]
2019/11/15 14:36:38 Cannot patch PrometheusRule: "prometheus-operator-kubernetes-apps" (rpc error: code = Canceled desc = grpc: the client connection is closing)
2019/11/15 14:36:38 Use --force to force recreation of the resource
[kube] 2019/11/15 14:36:38 error updating the resource "prometheus-operator-kubernetes-apps":
     rpc error: code = Canceled desc = grpc: the client connection is closing
[tiller] 2019/11/15 14:36:38 warning: Upgrade "prometheus-operator" failed: rpc error: code = Canceled desc = grpc: the client connection is closing
[storage] 2019/11/15 14:36:38 updating release "prometheus-operator.v94"
[storage] 2019/11/15 14:36:38 updating release "prometheus-operator.v95"
[ then rollback... ]

Então, eu tive que excluir manualmente este recurso. apiserver pode ter mais informações (parece que está relacionado ao controlador de admissão, de fato).

@desaintmartin Parece que está acontecendo para você em uma atualização, ao invés de uma instalação, certo?

Já que o Helm 3.0 agora é GA e o gráfico está funcionando para ele, por favor, relate se você pode fazer isso acontecer lá e se você conseguir algum registro melhor

Estou no Helm3 e ainda recebo este erro no Azure AKS :(

Eu tentei no gráfico v8.2.4: if prometheusOperator.admissionWebhooks=false , prometheus.tlsProxy.enabled=false também.

Além disso, como o que vsliouniaev disse, o que --debug e --dry-run dizem?

@ truealex81 Visto que o helm3 pretende fornecer mais informações sobre isso, você pode postar logs detalhados do processo de instalação?

Estou recebendo o mesmo problema ao implantar a versão 8.2.4 no Azure AKS.

Versão do Helm:
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}

Helm --debug produz esta saída:

install.go:148: [debug] Original chart version: ""
install.go:165: [debug] CHART PATH: /root/.cache/helm/repository/prometheus-operator-8.2.4.tgz
client.go:87: [debug] creating 1 resource(s)
client.go:87: [debug] creating 1 resource(s)
client.go:87: [debug] creating 1 resource(s)
client.go:87: [debug] creating 1 resource(s)
client.go:87: [debug] creating 1 resource(s)
install.go:139: [debug] Clearing discovery cache
wait.go:51: [debug] beginning wait for 5 resources with timeout of 1m0s
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ServiceAccount
client.go:245: [debug] serviceaccounts "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" PodSecurityPolicy
client.go:245: [debug] podsecuritypolicies.policy "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" RoleBinding
client.go:245: [debug] rolebindings.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" Role
client.go:245: [debug] roles.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRoleBinding
client.go:245: [debug] clusterrolebindings.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRole
client.go:245: [debug] clusterroles.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission-create" Job
client.go:245: [debug] jobs.batch "prometheus-operator-admission-create" not found
client.go:87: [debug] creating 1 resource(s)
client.go:420: [debug] Watching for changes to Job prometheus-operator-admission-create with timeout of 5m0s
client.go:445: [debug] Add/Modify event for prometheus-operator-admission-create: MODIFIED
client.go:484: [debug] prometheus-operator-admission-create: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:445: [debug] Add/Modify event for prometheus-operator-admission-create: MODIFIED
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ServiceAccount
client.go:220: [debug] Starting delete for "prometheus-operator-admission" PodSecurityPolicy
client.go:220: [debug] Starting delete for "prometheus-operator-admission" RoleBinding
client.go:220: [debug] Starting delete for "prometheus-operator-admission" Role
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRoleBinding
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRole
client.go:220: [debug] Starting delete for "prometheus-operator-admission-create" Job
client.go:87: [debug] creating 120 resource(s)
Error: context canceled

Posso reproduzir isso de forma confiável. Se houver uma maneira de obter logs mais detalhados, por favor me avise e eu posto a saída aqui

@ pather87 muito obrigado!

Esta é a ordem do que deve acontecer no gráfico:

  1. CRDs são provisionados
  2. Há um trabalho de pré-instalação e pré-atualização que executa um contêiner para criar um segredo com certificados para os ganchos de admissão. Este trabalho e seus recursos são limpos com sucesso
  3. Todos os recursos são criados
  4. Há um trabalho de pós-instalação; pós-atualização que executa um contêiner para corrigir a configuração de validação gwebhook criada e a mutação da configuração de webhook com a CA a partir dos certificados criados na etapa 2. Este trabalho e seus recursos são limpos em caso de sucesso

Você poderia verificar se ainda há algum trabalho com falha presente? A partir dos registros, parece que você não deveria, porque todos tiveram sucesso.

Há algum outro recurso presente no cluster após o Error: context canceled acontecer?

O mesmo aqui quando instalar o operador prometheus:

helm install prometheus-operator stable/prometheus-operator \
  --namespace=monitoring \
  --values=values.yaml

Error: rpc error: code = Canceled desc = grpc: the client connection is closing

@vsliouniaev obrigado pela sua resposta!

  1. Não há trabalhos disponíveis após a implantação.
  2. Implantações e serviços estão presentes no cluster após a implantação, consulte a saída do kubectl:

kubectl get all -lrelease = prometheus-operator

NAME                                                     READY   STATUS    RESTARTS   AGE
pod/prometheus-operator-grafana-59d489899-4b5kd          2/2     Running   0          3m56s
pod/prometheus-operator-operator-8549bcd687-4kb2x        2/2     Running   0          3m56s
pod/prometheus-operator-prometheus-node-exporter-4km6x   1/1     Running   0          3m56s
pod/prometheus-operator-prometheus-node-exporter-7dgn6   1/1     Running   0          3m56s

NAME                                                   TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)            AGE
service/prometheus-operator-alertmanager               ClusterIP   xxx   <none>        9093/TCP           3m57s
service/prometheus-operator-grafana                    ClusterIP   xxx   <none>        80/TCP             3m57s
service/prometheus-operator-operator                   ClusterIP   xxx     <none>        8080/TCP,443/TCP   3m57s
service/prometheus-operator-prometheus                 ClusterIP   xxx   <none>        9090/TCP           3m57s
service/prometheus-operator-prometheus-node-exporter   ClusterIP   xxx    <none>        9100/TCP           3m57s

NAME                                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/prometheus-operator-prometheus-node-exporter   2         2         2       2            2           <none>          3m57s

NAME                                           READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/prometheus-operator-grafana    1/1     1            1           3m57s
deployment.apps/prometheus-operator-operator   1/1     1            1           3m57s

NAME                                                      DESIRED   CURRENT   READY   AGE
replicaset.apps/prometheus-operator-grafana-59d489899     1         1         1       3m57s
replicaset.apps/prometheus-operator-operator-8549bcd687   1         1         1       3m57s

NAME                                                             READY   AGE
statefulset.apps/alertmanager-prometheus-operator-alertmanager   1/1     3m44s
statefulset.apps/prometheus-prometheus-operator-prometheus       1/1     3m34s

Instalação com depuração :

client.go:87: [debug] creating 1 resource(s)
install.go:126: [debug] CRD alertmanagers.monitoring.coreos.com is already present. Skipping.
client.go:87: [debug] creating 1 resource(s)
install.go:126: [debug] CRD podmonitors.monitoring.coreos.com is already present. Skipping.
client.go:87: [debug] creating 1 resource(s)
install.go:126: [debug] CRD prometheuses.monitoring.coreos.com is already present. Skipping.
client.go:87: [debug] creating 1 resource(s)
install.go:126: [debug] CRD prometheusrules.monitoring.coreos.com is already present. Skipping.
client.go:87: [debug] creating 1 resource(s)
install.go:126: [debug] CRD servicemonitors.monitoring.coreos.com is already present. Skipping.
install.go:139: [debug] Clearing discovery cache
wait.go:51: [debug] beginning wait for 0 resources with timeout of 1m0s
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRoleBinding
client.go:245: [debug] clusterrolebindings.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" RoleBinding
client.go:245: [debug] rolebindings.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRole
client.go:245: [debug] clusterroles.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ServiceAccount
client.go:245: [debug] serviceaccounts "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" PodSecurityPolicy
client.go:245: [debug] podsecuritypolicies.policy "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission" Role
client.go:245: [debug] roles.rbac.authorization.k8s.io "prometheus-operator-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prometheus-operator-admission-create" Job
client.go:245: [debug] jobs.batch "prometheus-operator-admission-create" not found
client.go:87: [debug] creating 1 resource(s)
client.go:420: [debug] Watching for changes to Job prometheus-operator-admission-create with timeout of 5m0s
client.go:445: [debug] Add/Modify event for prometheus-operator-admission-create: MODIFIED
client.go:484: [debug] prometheus-operator-admission-create: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:445: [debug] Add/Modify event for prometheus-operator-admission-create: MODIFIED
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRoleBinding
client.go:220: [debug] Starting delete for "prometheus-operator-admission" RoleBinding
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ClusterRole
client.go:220: [debug] Starting delete for "prometheus-operator-admission" ServiceAccount
client.go:220: [debug] Starting delete for "prometheus-operator-admission" PodSecurityPolicy
client.go:220: [debug] Starting delete for "prometheus-operator-admission" Role
client.go:220: [debug] Starting delete for "prometheus-operator-admission-create" Job
client.go:87: [debug] creating 122 resource(s)
Error: context canceled
helm.go:76: [debug] context canceled

Depois, eu executo: kubectl get all -lrelease=prometheus-operator -A

NAMESPACE    NAME                                                     READY   STATUS    RESTARTS   AGE
monitoring   pod/prometheus-operator-grafana-d6676b794-r6cg9          2/2     Running   0          2m45s
monitoring   pod/prometheus-operator-operator-6584f4b5f5-wdkrx        2/2     Running   0          2m45s
monitoring   pod/prometheus-operator-prometheus-node-exporter-2g4tg   1/1     Running   0          2m45s
monitoring   pod/prometheus-operator-prometheus-node-exporter-798p5   1/1     Running   0          2m45s
monitoring   pod/prometheus-operator-prometheus-node-exporter-pvk5t   1/1     Running   0          2m45s
monitoring   pod/prometheus-operator-prometheus-node-exporter-r9j2r   1/1     Running   0          2m45s

NAMESPACE     NAME                                                   TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)            AGE
kube-system   service/prometheus-operator-coredns                    ClusterIP   None           <none>        9153/TCP           2m46s
kube-system   service/prometheus-operator-kube-controller-manager    ClusterIP   None           <none>        10252/TCP          2m46s
kube-system   service/prometheus-operator-kube-etcd                  ClusterIP   None           <none>        2379/TCP           2m46s
kube-system   service/prometheus-operator-kube-proxy                 ClusterIP   None           <none>        10249/TCP          2m46s
kube-system   service/prometheus-operator-kube-scheduler             ClusterIP   None           <none>        10251/TCP          2m46s
monitoring    service/prometheus-operator-alertmanager               ClusterIP   10.0.238.102   <none>        9093/TCP           2m46s
monitoring    service/prometheus-operator-grafana                    ClusterIP   10.0.16.19     <none>        80/TCP             2m46s
monitoring    service/prometheus-operator-operator                   ClusterIP   10.0.97.114    <none>        8080/TCP,443/TCP   2m45s
monitoring    service/prometheus-operator-prometheus                 ClusterIP   10.0.57.153    <none>        9090/TCP           2m46s
monitoring    service/prometheus-operator-prometheus-node-exporter   ClusterIP   10.0.83.30     <none>        9100/TCP           2m46s

NAMESPACE    NAME                                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
monitoring   daemonset.apps/prometheus-operator-prometheus-node-exporter   4         4         4       4            4           <none>          2m46s

NAMESPACE    NAME                                           READY   UP-TO-DATE   AVAILABLE   AGE
monitoring   deployment.apps/prometheus-operator-grafana    1/1     1            1           2m46s
monitoring   deployment.apps/prometheus-operator-operator   1/1     1            1           2m46s

NAMESPACE    NAME                                                      DESIRED   CURRENT   READY   AGE
monitoring   replicaset.apps/prometheus-operator-grafana-d6676b794     1         1         1       2m46s
monitoring   replicaset.apps/prometheus-operator-operator-6584f4b5f5   1         1         1       2m46s

NAMESPACE    NAME                                                             READY   AGE
monitoring   statefulset.apps/alertmanager-prometheus-operator-alertmanager   1/1     2m40s
monitoring   statefulset.apps/prometheus-prometheus-operator-prometheus       1/1     2m30s

O que também descobri ao tentar contornar isso: O problema persiste, se eu excluir o gráfico e os CRDs depois e instalar o gráfico novamente, mas o problema não persiste, se eu não excluir os crds.

Eu experimentei e instalei os crds antes e fiz um helm install --skip-crds , mas o problema ainda persiste. Isso é um pouco confuso.

A próxima linha de log que eu esperaria depois disso é sobre ganchos pós-instalação e pós-atualização, mas não aparece no seu caso. Não tenho certeza do que o leme está esperando aqui

...
lient.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" RoleBinding
client.go:245: [debug] rolebindings.rbac.authorization.k8s.io "prom-op-prometheus-operato-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" Role
client.go:245: [debug] roles.rbac.authorization.k8s.io "prom-op-prometheus-operato-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" ClusterRole
client.go:245: [debug] clusterroles.rbac.authorization.k8s.io "prom-op-prometheus-operato-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" ServiceAccount
client.go:245: [debug] serviceaccounts "prom-op-prometheus-operato-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" ClusterRoleBinding
client.go:245: [debug] clusterrolebindings.rbac.authorization.k8s.io "prom-op-prometheus-operato-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" PodSecurityPolicy
client.go:245: [debug] podsecuritypolicies.policy "prom-op-prometheus-operato-admission" not found
client.go:87: [debug] creating 1 resource(s)
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission-patch" Job
client.go:245: [debug] jobs.batch "prom-op-prometheus-operato-admission-patch" not found
client.go:87: [debug] creating 1 resource(s)
client.go:420: [debug] Watching for changes to Job prom-op-prometheus-operato-admission-patch with timeout of 5m0s
client.go:445: [debug] Add/Modify event for prom-op-prometheus-operato-admission-patch: MODIFIED
client.go:484: [debug] prom-op-prometheus-operato-admission-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:445: [debug] Add/Modify event for prom-op-prometheus-operato-admission-patch: MODIFIED
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" RoleBinding
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" Role
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" ClusterRole
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" ServiceAccount
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" ClusterRoleBinding
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission" PodSecurityPolicy
client.go:220: [debug] Starting delete for "prom-op-prometheus-operato-admission-patch" Job

A criação manual de CRDs ajuda pelo menos no Azure.
Em primeiro lugar, crie crds a partir deste link https://github.com/coreos/prometheus-operator/tree/release-0.34/example/prometheus-operator-crd
"kubectl create -f alertmanager.crd.yaml" e assim por diante para todos os arquivos
Então
helm install prometheus-operator stable / prometheus-operator --namespace monitoring --version 8.2.4 --set prometheusOperator.createCustomResource = false

Obrigado @ truealex81 ! Isso funciona no Azure.

myenv:
k8s 1.11.2 leme 2.13.1 timão 2.13.1
prometheus-operator-5.5 APP VERSION 0,29 está OK !!!

mas:
prometheus-operator-8 APP VERSION 0,32 hava mesmo problema:
"contexto cancelado" ou "grpc: a conexão do cliente está fechando" !!!

Eu acho que a versão mais recente do operador prometheus não é compatível? !!!

@bierhov, por favor, você pode postar os recursos no namespace após uma falha?

sim!
shell execute "helm ls" eu posso ver meu status de liberação do operador prometheus "falhou", mas o namespace onde o operador prometheus eu instalei tem todos os recursos do operador prometheus
mas,
promethues web não consegue obter quaisquer dados!

Você pode postar os recursos?

Você pode postar os recursos?

desculpe, eu não posso reaparecer, a menos que eu remova meu env do elmo estável e faça de novo!

@bierhov , você tem algum trabalho com falha restante após a instalação?

@bierhov , você tem algum trabalho com falha restante após a instalação?

minha versão k8s é 1.11.2 leme e uma versão do leme é 2.13.1
se eu instalar o operador prometheus versão 8.x
comando shell exec "helm ls", o status do trabalho falhou
mas eu instalo o operador prometheus versão 5.x
comando shell exec "helm ls", o status do trabalho é implantado !!!

Não reproduzível usando:

Versão do Kubernetes: v1.13.12"
Versão Kubectl: v1.16.2
Versão do leme: 3.0.1
Versão do operador Prometheus: 8.3.3

  1. Instale os CRDs manualmente:

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/v0.34.0/example/prometheus-operator-crd/alertmanager.crd.yaml kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/v0.34.0/example/prometheus-operator-crd/prometheus.crd.yaml kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/v0.34.0/example/prometheus-operator-crd/prometheusrule.crd.yaml kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/v0.34.0/example/prometheus-operator-crd/servicemonitor.crd.yaml kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/v0.34.0/example/prometheus-operator-crd/podmonitor.crd.yaml

  1. Configure o operador para não criar crds em Values.yaml ou ao instalar usando

--set prometheusOperator.createCustomResource=false

prometheusOperator: createCustomResource: false

@GramozKrasniqi
E se você não criar CRDs manualmente? Essa é uma das soluções alternativas para o problema

@vsliouniaev se você não criá-los, receberá o erro.
Mas na edição original em Informações adicionais, @rnkhouse afirmou que estava criando os CRDs manualmente.

Usamos o operador prometheus em nossa implantação, em poucas palavras, atualizamos o prom-op de 6.9.3 para 8.3.3 e sempre falhou com "Erro: contexto cancelado".
Além disso, sempre instalamos crds antes de instalar / atualizar o operador prometheus e, ofc, não alteramos ou atualizamos esses crd-s.

Tento atualizar o crds, que em 'github.com/helm/charts/tree/master/stable/prometheus-operator' menciona (como este kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator /master/example/prometheus-operator-crd/alertmanager.crd.yaml), mas eles não existem mais.
Depois disso, tento estes aqui: https://github.com/helm/charts/tree/master/stable/prometheus-operator/crds
Mas falhou novamente.

Quase desisti, mas com esses crds, o helm deploy foi bem-sucedido! yeyyyy
https://github.com/coreos/kube-prometheus/tree/master/manifests/setup

Minha configuração:

Versão do Kubernetes: v1.14.3
Versão Kubectl: v1.14.2
Versão do leme: 2.14.3
Versão do operador Prometheus: 8.3.3

Limpe o operador prometheus do k8s!

Então:

kubectl apply -f https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/setup/prometheus-operator-0alertmanagerCustomResourceDefinition.yaml   
kubectl apply -f https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/setup/prometheus-operator-0podmonitorCustomResourceDefinition.yaml     
kubectl apply -f https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/setup/prometheus-operator-0prometheusCustomResourceDefinition.yaml     
kubectl apply -f https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/setup/prometheus-operator-0prometheusruleCustomResourceDefinition.yaml 
kubectl apply -f https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/setup/prometheus-operator-0servicemonitorCustomResourceDefinition.yaml 
helm upgrade -i prom-op                               \
  --version 8.3.3                                     \
  --set prometheusOperator.createCustomResource=false \
  stable/prometheus-operator

Isso é tudo !

Isso significa que é necessário fazer uma instalação limpa e perder dados históricos de métricas?

Depois de atualizar AKS k8s para 1.15.5, leme para 3.0.1 e gráfico do operador Prometheus para 8.3.3, o problema desapareceu.

Nossa solução alternativa é manter a imagem do operador prometheus na v0.31.1.

funcionou para mim também no AKS v1.14.8 e no leme + leme v2.16.1 e alterando a imagem do operador para v0.31.1

A criação manual de CRDs ajuda pelo menos no Azure.
Em primeiro lugar, crie crds a partir deste link https://github.com/coreos/prometheus-operator/tree/release-0.34/example/prometheus-operator-crd
"kubectl create -f alertmanager.crd.yaml" e assim por diante para todos os arquivos
Então
helm install prometheus-operator stable / prometheus-operator --namespace monitoring --version 8.2.4 --set prometheusOperator.createCustomResource = false

no azure kubernetes funciona, obrigado

Consegui contornar esse problema seguindo a seção 'O Helm não consegue criar CRDs' em readme.md. Não tenho certeza de como eles estão relacionados, mas funcionou.

Etapa 1: crie manualmente o CRDS

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/alertmanager.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheus.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/prometheusrule.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/servicemonitor.crd.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/example/prometheus-operator-crd/podmonitor.crd.yaml

Passo 2:
Aguarde a criação dos CRDs, o que deve levar apenas alguns segundos

Etapa 3:
Instale o gráfico, mas desative o provisionamento CRD definindo prometheusOperator.createCustomResource = false

$ helm install --name my-release stable/prometheus-operator --set prometheusOperator.createCustomResource=false

Obrigado, isso funcionou para mim com o cluster AKS. teve que alterar o URL dos CRDs.

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.37/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml --validate = false
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.37/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml --validate = false
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.37/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml --validate = false
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.37/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml --validate = false
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.37/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --validate = false
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/release-0.37/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml --validate = false

helm install stable / prometheus-operator --name prometheus-operator --namespace monitoring --set prometheusOperator.createCustomResource = false

Fechando. Parece que isso já foi resolvido, de acordo com os três últimos comentários. Obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações