Resolução de problemas de aprovisionamento de software

Esta página detalha como resolver problemas comuns de aprovisionamento de software que pode enfrentar.

Resolva problemas de arranque do plano de controlo

Para resolver problemas do processo do plano de controlo de arranque, verifique os seguintes recursos no cluster KIND:

  1. Examine o anthos-cluster-operator Pod:

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

    kubectl get AddOn -A
    

    Também pode ver os recursos com o comando gpc-addons para mais informações.

  3. Consulte os AddOnSet recursos:

    kubectl get AddOnSet -A
    

    Se o arranque do plano de controlo não terminar o processamento após a criação do cluster de infraestrutura da organização, como durante uma mudança de recursos, exporte o ficheiro kubeconfig manualmente:

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

Resolva problemas de criação de clusters

Para resolver problemas do processo de criação de clusters, siga estes passos:

  1. Examine a fase atual do cluster e verifique se o objeto Harbor-operator ou o Harbor existe e verifique o respetivo estado no cluster KIND no recurso AddOnSet executando o seguinte comando:

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

    Depois de executar este comando, encontre a fase atual em status.currentStage.

  2. No cluster de infraestrutura da organização, verifique os recursos no espaço de nomes harbor-system Se implementou o objeto HarborCluster através do comando kubectl get harborcluster harbor -n harbor-system, isso indica que a instalação passou para a segunda fase, a fase do Harbor.

  3. Inspeccione o campo status no objeto HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Se o estado indicar healthy, valide a respetiva funcionalidade através do portal Web com o comando docker push.

  4. Aceda ao portal Web no URL denunciado. Por exemplo: https://10.200.0.36:10443.

  5. No bootstrapper, execute o comando docker push.

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

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

    Se o estado mostrar healthy, navegue para a secção Verifique o estado do Istio. Se o estado não mostrar healthy, avance para a secção seguinte, Avalie os recursos do espaço de nomes do Harbor.

Avalie os recursos do espaço de nomes do Harbor

Só tem de realizar estes passos se os recursos harbor-system não tiverem o estado healthy. Para verificar o estado dos seus harbor-system recursos, consulte o artigo Resolva problemas de criação de clusters.

  1. Avalie os recursos do espaço de nomes harbor-system:

    kubectl get all -n harbor-system
    
  2. Verifique o estado dos recursos relacionados com o operador do Harbor, incluindo os operadores do PostgreSQL e do Redis que são criados como subgráficos durante a segunda fase 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 PostgreSQL, Redis e Harbor têm todos o estado healthy. Se alguns pods não estiverem no estado healthy, reveja os detalhes do pod com falhas através dos seguintes comandos:

    kubectl get pod -o wide
    kubectl describe pod
    

    Também pode ver os registos do operador de gestão através deste comando:

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

  5. Para verificar o recurso Redis, consulte o seguinte:

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

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

    Se alguns pods de componentes principais do Harbor falharem, reveja os registos do pod com falhas. Em alguns casos, existe um problema de comunicação com instâncias do PostgreSQL ou Redis.

    Por exemplo, se o componente principal do Harbor não conseguir estabelecer ligação ao PostgreSQL ou ao Redis com as credenciais fornecidas, existe um potencial problema com o Harbor Operator, que é responsável pela configuração das credenciais antes de implementar os componentes principais do Harbor.

Verifique o estado do Istio

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