Nesta página, descrevemos alguns erros comuns que você pode encontrar ao usar o Config Connector, com instruções de solução de problemas.
Mensagens de erro comuns
Nenhuma correspondência para o tipo Foo
Quando esse erro é gerado, o cluster do Kubernetes não tem o CRD para o tipo de recurso "Foo" instalado.
Primeiro, verifique se o tipo está em Recursos de conector de configuração.
Se o tipo estiver listado, o problema pode estar desatualizado ou em uma instalação inválida do Config Connector. Os upgrades com o complemento do GKE devem acontecer automaticamente. Para upgrades sobre instalações manuais, consulte Como instalar em outras distribuições do Kubernetes.
Nenhum status
foi exibido para os recursos
Se os recursos aplicados não tiverem um campo status
, isso provavelmente ocorre porque os pods que fazem parte do Config Connector não estão funcionando corretamente.
Para solucionar problemas, inspecione o namespace cnrm-system
em busca de pods não íntegros:
kubectl get pods -n cnrm-system --field-selector status.phase!=Running
spec.labels
não estão aplicados aos recursos subjacentes do Google Cloud
O Config Connector propaga os rótulos encontrados em metadata.labels
para as APIs subjacentes do Google Cloud. Você não deve especificar rótulos no spec
do recurso e todos os rótulos especificados em spec.labels
são ignorados.
Para mais informações, consulte metadados de objetos.
Perguntas frequentes
Quando a versão XX do Config Connector estará disponível como um complemento do GKE?
A versão do complemento Config Connector está vinculada à versão do GKE, com até 10 semanas de atraso em relação à versão mais recente (variável por canal e versão no canal).
Para ter mais controle sobre a versão, consulte Mudar do complemento para uma instalação manual.
Métrica
As métricas são expostas para captura pelo Prometheus.
Logging
Todos os pods que fazem parte do Config Connector são registrados no formato JSON.
Os registros do pod cnrm-controller-manager
ou Pods são úteis para depurar problemas com a reconciliação de recursos específicos.
A filtragem dos campos a seguir é útil para examinar os registros:
logger
: contém o tipo do recurso. Por exemplo, os recursosPubSubTopic
têmlogger
depubsubtopic-controller
.resource.namespace
: contém o namespace do recurso.resource.name
: contém o nome do recurso.
Mensagens de registro para um recurso específico
Se estiver usando o GKE, você poderá consultar registros do recurso específico com a seguinte consulta:
# Filter to include only logs coming from the cnrm-controller-manager Pods
resource.type="k8s_container"
resource.labels.container_name="manager"
resource.labels.namespace_name="cnrm-system"
labels.k8s-pod/cnrm_cloud_google_com/component="cnrm-controller-manager"
# Filter to include only logs coming from a particular GKE cluster
resource.labels.cluster_name="GKE_CLUSTER_NAME"
resource.labels.location="GKE_CLUSTER_LOCATION"
# Filter to include only logs for a particular Config Connector resource
jsonPayload.logger="RESOURCE_KIND-controller"
jsonPayload.resource.namespace="RESOURCE_NAMESPACE"
jsonPayload.resource.name="RESOURCE_NAME"
Substitua:
- GKE_CLUSTER_NAME com o nome do cluster do GKE que executa o Config Connector
- GKE_CLUSTER_LOCATION pelo local do cluster do GKE que executa o Config Connector. Por exemplo,
us-central1
. - RESOURCE_KIND com o tipo de recurso em minúsculas. Por exemplo,
pubsubtopic
. - RESOURCE_NAMESPACE pelo namespace do recurso.
- RESOURCE_NAME pelo nome do recurso.
Mais ajuda
Para receber mais ajuda, registre um problema no GitHub ou entre em contato com o suporte do Google Cloud.
Ao enviar tíquetes, inclua o resultado do script diagnóstico de clusters.
Para sistemas operacionais baseados em Unix, o script pode ser executado com o seguinte comando:
source <(curl -s
https://raw.githubusercontent.com/GoogleCloudPlatform/k8s-config-connector/master/scripts/cluster-diagnostics.sh)