Solução de problemas de provisionamento de software

Esta página detalha como resolver problemas comuns de provisionamento de software que você pode enfrentar.

Resolver problemas de bootstrapping do plano de controle

Para resolver problemas no processo do plano de controle de inicialização, verifique os seguintes recursos no cluster do KIND:

  1. Examine o pod anthos-cluster-operator:

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Inspecione os recursos AddOn:

    kubectl get AddOn -A
    

    Também é possível conferir os recursos com o comando gpc-addons para mais informações.

  3. Verifique os recursos AddOnSet:

    kubectl get AddOnSet -A
    

    Se a inicialização do plano de controle não terminar o processamento após a criação do cluster de infraestrutura da organização, como durante uma dinamização de recursos, exporte o arquivo kubeconfig manualmente:

    kubectl get secret root-admin-kubeconfig -n root -o jsonpath="{.data.value}" | base64 -d > /root/path/to/root-admin-kubeconfig.yaml
    

Resolver problemas na criação de cluster

Para resolver problemas no processo de criação do cluster, siga estas etapas:

  1. Examine a etapa atual do cluster e verifique se o objeto Harbor-operator ou o Harbor existe e confira o status dele no cluster KIND no recurso AddOnSet executando o seguinte comando:

    kubectl get addonset -n fleet-root root-admin -o yaml
    

    Depois de executar esse comando, encontre a etapa atual em status.currentStage.

  2. No cluster de infraestrutura da organização, verifique os recursos no namespace harbor-system. Se você implantou o objeto HarborCluster usando o comando kubectl get harborcluster harbor -n harbor-system, isso indica que a instalação passou para a segunda etapa, a do Harbor.

  3. Inspecione o campo status no objeto HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Se o status indicar healthy, verifique a funcionalidade pelo portal da Web usando o comando docker push.

  4. Acesse o portal da Web no URL informado. Por exemplo: https://10.200.0.36:10443.

  5. No bootstrap, execute o comando docker push.

    Se o status for unhealthy, revise os detalhes das condições de status executando a seguinte entrada:

    kubectl -n harbor-system get harborcluster harbor -o yaml
    

    Se o status mostrar healthy, navegue até a seção Verificar o status do Istio. Se o status não mostrar healthy, continue para a próxima seção, Avaliar recursos do namespace do Harbor.

Avaliar recursos de namespace do Harbor

Essas etapas só precisam ser realizadas se os recursos harbor-system não tiverem o status healthy. Para verificar o status dos recursos do harbor-system, consulte Resolver problemas na criação de clusters.

  1. Avalie os recursos do namespace harbor-system:

    kubectl get all -n harbor-system
    
  2. Verifique o status dos recursos relacionados ao operador do Harbor, incluindo os operadores do PostgreSQL e do Redis, que são criados como subgráficos durante a segunda etapa do processo de criação do cluster de infraestrutura da organização. Valide se os seguintes operadores estão no estado Running:

    deployment/harbor-operator-harbor-operator
    deployment/harbor-operator-postgres-operator
    deployment/harbor-operator-redisoperator
    
  3. Verifique se os recursos dos componentes do PostgreSQL, do Redis e do Harbor têm o estado healthy. Se alguns pods não estiverem no estado healthy, revise os detalhes do pod com falha usando estes comandos:

    kubectl get pod -o wide
    kubectl describe pod
    

    Também é possível conferir os registros do operador de gerenciamento usando este comando:

    kubectl logs -f deploy/harbor-operator-postgres-operator
    
  4. Para verificar o recurso do PostgreSQL, consulte statefulset/postgresql-harbor-system-harbor.

  5. Para verificar o recurso do Redis, consulte:

    1. Instância do Redis:statefulset/rfr-harbor-redis
    2. Redis sentinel:deployment/rfs-harbor-redis

    Os componentes principais do Harbor só são implantados quando os dois componentes estão prontos.

    Se alguns pods de componentes principais do Harbor falharem, analise os registros do pod com falha. Em alguns casos, há um problema de comunicação com instâncias do PostgreSQL ou do Redis.

    Por exemplo, se o componente principal do Harbor não conseguir se conectar ao PostgreSQL ou ao Redis com as credenciais fornecidas, talvez haja um problema com o operador do Harbor, que é responsável por configurar as credenciais antes de implantar os componentes principais do Harbor.

Verificar o status do istio

Para verificar se o status do pod é istio, como istio-system e service/istio-ingressgateway, confira se a porta 10443 está exposta.