Risoluzione dei problemi di provisioning del software

Questa pagina descrive in dettaglio come risolvere i problemi comuni di provisioning del software che potresti riscontrare.

Risolvere i problemi relativi al bootstrapping del control plane

Per risolvere i problemi relativi al processo del control plane di bootstrap, controlla le seguenti risorse all'interno del cluster KIND:

  1. Esamina il pod anthos-cluster-operator:

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Esamina le risorse AddOn:

    kubectl get AddOn -A
    

    Per ulteriori informazioni, puoi anche visualizzare le risorse con il comando gpc-addons.

  3. Consulta le risorse di AddOnSet:

    kubectl get AddOnSet -A
    

    Se l'avvio del control plane non viene completato dopo la creazione del cluster di infrastruttura dell'organizzazione, ad esempio durante un pivot delle risorse, esporta il file kubeconfig manualmente:

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

Risolvere i problemi relativi alla creazione del cluster

Per risolvere i problemi relativi alla procedura di creazione del cluster:

  1. Esamina la fase attuale del cluster e verifica se l'oggetto Harbor-operator o Harbor esiste e controllane lo stato dal cluster KIND nella risorsa AddOnSet eseguendo il seguente comando:

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

    Dopo aver eseguito questo comando, trova la fase attuale in status.currentStage.

  2. Dal cluster dell'infrastruttura dell'organizzazione, controlla le risorse nello spazio dei nomi harbor-system. Se hai eseguito il deployment dell'oggetto HarborCluster tramite il comando kubectl get harborcluster harbor -n harbor-system, significa che l'installazione è passata alla seconda fase, la fase Harbor.

  3. Esamina il campo status nell'oggetto HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Se lo stato indica healthy, verifica la sua funzionalità tramite il portale web utilizzando il comando docker push.

  4. Accedi al portale web all'URL segnalato. Ad esempio https://10.200.0.36:10443.

  5. Nel bootstrapper, esegui il comando docker push.

    Se lo stato è unhealthy, esamina i dettagli delle condizioni di stato eseguendo la seguente voce:

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

    Se lo stato è healthy, vai alla sezione Controlla lo stato di Istio. Se lo stato non mostra healthy, vai alla sezione successiva, Valuta le risorse dello spazio dei nomi Harbor.

Valuta le risorse dello spazio dei nomi Harbor

Questi passaggi devono essere eseguiti solo se le risorse harbor-system non hanno lo stato healthy. Per controllare lo stato delle risorse harbor-system, consulta Risolvere i problemi relativi alla creazione del cluster.

  1. Valuta le risorse dello spazio dei nomi harbor-system:

    kubectl get all -n harbor-system
    
  2. Controlla lo stato delle risorse correlate all'operatore Harbor, inclusi gli operatori PostgreSQL e Redis creati come grafici secondari durante la seconda fase del processo di creazione del cluster dell'infrastruttura dell'organizzazione. Verifica che i seguenti operatori siano nello stato Running:

    deployment/harbor-operator-harbor-operator
    deployment/harbor-operator-postgres-operator
    deployment/harbor-operator-redisoperator
    
  3. Verifica che le risorse per i componenti PostgreSQL, Redis e Harbor abbiano tutte lo stato healthy. Se alcuni pod non sono nello stato healthy, esamina i dettagli del pod non riuscito utilizzando questi comandi:

    kubectl get pod -o wide
    kubectl describe pod
    

    Puoi anche visualizzare i log dell'operatore di gestione utilizzando questo comando:

    kubectl logs -f deploy/harbor-operator-postgres-operator
    
  4. Per controllare la risorsa PostgreSQL, visualizza statefulset/postgresql-harbor-system-harbor.

  5. Per controllare la risorsa Redis, visualizza:

    1. Istanza Redis:statefulset/rfr-harbor-redis
    2. Redis sentinel:deployment/rfs-harbor-redis

    I componenti principali di Harbor vengono implementati solo quando i due componenti sono pronti.

    Se alcuni pod dei componenti principali di Harbor non funzionano, esamina i log del pod non funzionante. In alcuni casi, si verifica un problema di comunicazione con le istanze PostgreSQL o Redis.

    Ad esempio, se il componente principale di Harbor non riesce a connettersi a PostgreSQL o Redis con le credenziali fornite, esiste un potenziale problema con Harbor Operator, che è responsabile della configurazione delle credenziali prima di eseguire il deployment dei componenti principali di Harbor.

Controlla lo stato di Istio

Per verificare che lo stato del pod sia istio, ad esempio istio-system e service/istio-ingressgateway, controlla se la porta 10443 è esposta.