Quando il Servizio Tanzu Kubernetes Grid esegue il provisioning di un cluster Tanzu Kubernetes, vengono segnalate diverse condizioni di stato che è possibile utilizzare per comprendere direttamente gli aspetti chiave dell'integrità della macchina.

Verifica dello stato di preparazione di TanzuKubernetesCluster

È possibile utilizzare le condizioni di preparazione di TanzuKubernetesCluster per determinare quale fase o componente, se presente, non sono pronti. Vedere Condizione e motivi di ControlPlaneReady.

Dopo aver controllato lo stato di preparazione del cluster, è possibile utilizzare capwcluster e le condizioni della macchina per ulteriori dettagli sull'errore. Vedere Controllare l'integrità della macchina Tanzu Kubernetes e Controllare l'integrità del cluster Tanzu Kubernetes.

Per verificare lo stato di preparazione di un cluster Tanzu Kubernetes:
  1. Accedere al Cluster supervisore.
  2. Passare al contesto dello spazio dei nomi in cui viene eseguito il provisioning del cluster di destinazione. Ad esempio:
    kubectl config use-context tkgs-cluster-ns
  3. Eseguire il comando kubectl get tkc -o yaml. Nel sistema vengono visualizzate le condizioni di disponibilità del cluster. Ad esempio:
      status:
        addons:
          authsvc:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:54Z"
              status: "True"
              type: AuthServiceProvisioned
            name: authsvc
            status: applied
            version: 0.1-66-g8b8f07f
          cloudprovider:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:53Z"
              status: "True"
              type: CPIProvisioned
            name: vmware-guest-cluster
            status: applied
            version: 0.1-77-g5875817
          cni:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:53Z"
              status: "True"
              type: CNIProvisioned
            name: calico
            status: applied
            version: 1.16.14+vmware.1-tkg.1.ada4837
          csi:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:54Z"
              status: "True"
              type: CSIProvisioned
            name: pvcsi
            status: applied
            version: v0.0.1.alpha+vmware.79-7ecdcb1
          dns:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:48Z"
              status: "True"
              type: CoreDNSProvisioned
            name: CoreDNS
            status: applied
            version: v1.6.2_vmware.10
          proxy:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:48Z"
              status: "True"
              type: KubeProxyProvisioned
            name: kube-proxy
            status: applied
            version: 1.16.14+vmware.1
          psp:
            conditions:
            - lastTransitionTime: "2021-01-30T19:53:47Z"
              status: "True"
              type: PSPProvisioned
            name: defaultpsp
            status: applied
            version: v1.16.14+vmware.1-tkg.1.ada4837
        clusterApiStatus:
          apiEndpoints:
          - host: 192.168.1.2
            port: 6443
          phase: Provisioned
        conditions:
        - lastTransitionTime: "2021-01-30T19:53:54Z"
          status: "True"
          type: AddonsReady
        - lastTransitionTime: "2021-01-30T19:51:11Z"
          status: "True"
          type: ControlPlaneReady
        - lastTransitionTime: "2021-01-30T19:51:04Z"
          message: 3/3 Control Plane Node(s) healthy. 1/1 Worker Node(s) healthy
          status: "True"
          type: NodesHealthy
        - lastTransitionTime: "2021-01-31T21:22:45Z"
          status: "True"
          type: ProviderServiceAccountsReady
        - lastTransitionTime: "2021-01-30T19:53:50Z"
          status: "True"
          type: RoleBindingSynced
        - lastTransitionTime: "2021-01-30T19:53:58Z"
          status: "True"
          type: ServiceDiscoveryReady
        - lastTransitionTime: "2021-01-30T19:53:59Z"
          status: "True"
          type: StorageClassSynced
        - lastTransitionTime: "2021-01-27T11:34:53Z"
          status: "True"
          type: TanzuKubernetesReleaseCompatible
        - lastTransitionTime: "2021-01-27T11:34:54Z"
          message: '[1.17.13+vmware.1-tkg.2.2c133ed]'
          severity: Info
          status: "True"
          type: UpdatesAvailable

Condizione e motivi di ControlPlaneReady

Nella tabella viene elencata e descritta la condizione ControlPlaneReady.
Tabella 1. Condizione ControlPlaneReady
Tipo di condizione Descrizione
ControlPlaneReady Segnala se i nodi del piano di controllo sono pronti e funzionano per il cluster.

Nella tabella vengono elencati e descritti i motivi per cui la condizione ControlPlaneReady può essere false.

Tabella 2. Motivi per cui ControlPlaneReady è false
Motivo Gravità Descrizione
WaitingForClusterInfrastructure Indica che il cluster è in attesa dei prerequisiti necessari per l'esecuzione di macchine, ad esempio un bilanciamento del carico. Questo motivo viene utilizzato solo se InfrastructureCluster non indica la propria condizione di preparazione.
WaitingForControlPlaneInitialized Indica che è in corso l'inizializzazione del primo nodo del piano di controllo.
WaitingForControlPlane Riflette la condizione di KubeadmControlPlane. Questo motivo viene utilizzato se KubeadmControlPlane non indica la propria condizione di preparazione.
In attesa che l'infrastruttura del cluster sia pronta Messaggio Indica che il cluster è in attesa dei prerequisiti necessari per l'esecuzione di macchine, ad esempio rete e bilanciamenti del carico.

Condizione e motivi di NodesHealthy

Nella tabella viene elencata e descritta la condizione NodesHealthy.
Tabella 3. Condizione di NodesHealthy
Tipo di condizione Descrizione
NodesHealthy Indica lo stato dei nodi di TanzuKubernetesCluster.

Nella tabella viene elencato e descritto il motivo per cui la condizione di NodesHealthy non è true.

Tabella 4. Motivo per cui NodesHealthy è false
Motivo Gravità Descrizione
WaitingForNodesHealthy Indica che non tutti i nodi sono integri.

Condizioni e motivi dei componenti aggiuntivi

Nella tabella sono elencate e descritte le condizioni relative ai componenti dei componenti aggiuntivi del cluster.
Tabella 5. Condizioni dei componenti aggiuntivi
Tipo di condizione Descrizione
AddonsReady Riepilogo delle condizioni per i componenti aggiuntivi di TanzuKubernetesCluster (CoreDNS, KubeProxy, CSP, CPI, CNI, AuthSvc).
CNIProvisioned Indica lo stato dell'interfaccia CNI (Container Network Interface) di TanzuKubernetesCluster.
CSIProvisioned Indica lo stato del componente aggiuntivo CSI (Container Storage Interface) di TanzuKubernetesCluster.
CPIProvisioned Indica lo stato del componente aggiuntivo CPI (Cloud Provider Interface) di TanzuKubernetesCluster.
KubeProxyProvisioned Indica lo stato del componente aggiuntivo KubeProxy di TanzuKubernetesCluster.
CoreDNSProvisioned Indica lo stato del componente aggiuntivo CoreDNS di TanzuKubernetesCluster.
AuthServiceProvisioned Indica lo stato del componente aggiuntivo AuthService di TanzuKubernetesCluster.
PSPProvisioned Indica lo stato di PodSecurityPolicy.
Nella tabella sono elencati e descritti i motivi per cui le condizioni del componente aggiuntivo non sono true.
Tabella 6. Motivi per cui i componenti aggiuntivi sono false
Motivo Gravità Descrizione
AddonsReconciliationFailed Motivo riepilogato per tutti gli errori di riconciliazione dei componenti aggiuntivi.
CNIProvisioningFailed Avviso Indica che non è possibile creare o aggiornare il componente aggiuntivo CNI.
CSIProvisioningFailed Avviso Indica che non è possibile creare o aggiornare il componente aggiuntivo CSI.
CPIProvisioningFailed Avviso Indica che non è possibile creare o aggiornare il componente aggiuntivo CPI.
KubeProxyProvisioningFailed Avviso Indica che non è possibile creare o aggiornare il componente aggiuntivo KubeProxy.
CoreDNSProvisioningFailed Avviso Indica che non è possibile creare o aggiornare il componente aggiuntivo CoreDNS.
AuthServiceProvisioningFailed Avviso Indica che non è possibile creare o aggiornare il componente aggiuntivo AuthService.
AuthServiceUnManaged Indica che AuthService non è gestito dal controller.
PSPProvisioningFailed Avviso Indica che non è possibile creare o aggiornare i componenti aggiuntivi PodSecurityPolicy.

Altre condizioni e motivi

Nella tabella sono elencate e descritte le condizioni per la sincronizzazione di StorageClass e RoleBinding, la riconciliazione delle risorse ProviderServiceAccount, ServiceDiscovery e la compatibilità con TanzuKubernetesCluster.

Tabella 7. Altre condizioni
Condizione Descrizione
StorageClassSynced Indica lo stato della sincronizzazione di StorageClass dal cluster supervisore al cluster del carico di lavoro.
RoleBindingSynced Indica lo stato della sincronizzazione di RoleBinding dal cluster supervisore al cluster del carico di lavoro.
ProviderServiceAccountsReady Indica lo stato degli account dei servizi del provider e i ruoli correlati, RoleBinding e Secrets vengono creati.
ServiceDiscoveryReady Indica lo stato dell'individuazione dei servizi.
TanzuKubernetesReleaseCompatible Indica se TanzuKubernetesCluster è compatibile con TanzuKubernetesRelease.

Nella tabella sono elencati e descritti i motivi per cui altre condizioni non sono true.

Tabella 8. Altri motivi
Motivo Gravità Descrizione
StorageClassSyncFailed Indica che la sincronizzazione di StorageClass non è riuscita.
RoleBindingSyncFailed Indica che la sincronizzazione di RoleBinding non è riuscita.
ProviderServiceAccountsReconciliationFailed Indica che la riconciliazione delle risorse correlate agli account di servizi del provider non è riuscita.
SupervisorHeadlessServiceSetupFailed Indica che la configurazione del servizio headless per il server API del cluster supervisore non è riuscita.