Lorsque le Service Tanzu Kubernetes Grid provisionne un cluster Tanzu Kubernetes, plusieurs conditions d'état sont signalées que vous pouvez utiliser pour obtenir une analyse directe des aspects clés de la santé de la machine.

Vérifier la disponibilité de TanzuKubernetesCluster

Vous pouvez utiliser les conditions de disponibilité de TanzuKubernetesCluster pour déterminer la phase ou le composant, le cas échéant, qui n'est pas prêt. Reportez-vous à la section Condition et raisons ControlPlaneReady.

Une fois que vous avez vérifié que le cluster est prêt, pour aller plus loin dans le diagnostic, vous pouvez utiliser des conditions de capwcluster et de machine afin d'analyser en détails les défaillances. Reportez-vous aux sections Vérifier la santé de la machine Tanzu Kubernetes et Vérifier la santé du cluster Tanzu Kubernetes.

Pour vérifier la disponibilité d'un cluster Tanzu Kubernetes :
  1. Connectez-vous à Cluster superviseur.
  2. Basculez conext vers l'espace de noms dans lequel le cluster cible est provisioné. Par exemple :
    kubectl config use-context tkgs-cluster-ns
  3. Exécutez la commande kubectl get tkc -o yaml. Le système affiche les conditions de disponibilité du cluster. Par exemple :
      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

Condition et raisons ControlPlaneReady

Le tableau répertorie et décrit la condition ControlPlaneReady.
Tableau 1. Condition ControlPlaneReady
Type de condition Description
ControlPlaneReady Signale si les nœuds du plan de contrôle sont prêts et fonctionnels pour le cluster.

Le tableau répertorie et décrit les raisons pour lesquelles la condition ControlPlaneReady peut être fausse.

Tableau 2. Raisons de condition ControlPlaneReady fausse
Raison Gravité Description
WaitingForClusterInfrastructure Indique que le cluster attend les conditions préalables nécessaires à l'exécution des machines, telles qu'un équilibrage de charge. Cette raison est utilisée uniquement si InfrastructureCluster ne signale pas sa propre condition de prêt.
WaitingForControlPlaneInitialized Indique que le premier nœud du plan de contrôle est en cours d'initialisation.
WaitingForControlPlane Reflète la condition de KubeadmControlPlane. Cette raison est utilisée si KubeadmControlPlane ne signale pas sa propre condition de prêt.
Attente de la préparation de l'infrastructure du cluster Message Indique que le cluster attend les conditions préalables nécessaires à l'exécution des machines, telles que la mise en réseau et les équilibrages de charge.

Conditions et raisons de NodesHealthy

Le tableau répertorie et décrit la condition NodesHealthy.
Tableau 3. Condition NodesHealthy
Type de condition Description
NodesHealthy Signale l'état des nœuds TanzuKubernetesCluster.

Le tableau répertorie et décrit la raison pour laquelle la condition NodesHealthy n'est pas vraie.

Tableau 4. NodesHealthy False Reason
Raison Gravité Description
WaitingForNodesHealthy Indique que les nœuds ne sont pas tous sains.

Conditions et raisons des modules complémentaires

Le tableau répertorie et décrit les conditions associées aux composants de modules ajoutés au cluster.
Tableau 5. Conditions des modules complémentaires
Type de condition Description
AddonsReady Résumé des conditions des modules complémentaires TankubernetesCluster (CoreDNS, KubeProxy, CSP, CPI, CNI, AuthSvc).
CNIProvisioned Indique l'état du module complémentaire d'interface réseau de conteneur (CNI) de TankubernetesCluster.
CSIProvisioned Indique l'état du module complémentaire d'interface de stockage de conteneur (CSI) de TankubernetesCluster.
CPIProvisioned Indique l'état du module complémentaire d'interface de fournisseur de cloud (CPI) de TankubernetesCluster.
KubeProxyProvisioned Indique l'état du module complémentaire KubeProxy de TanzuKubernetesCluster.
CoreDNSProvisioned Indique l'état du module complémentaire CoreDNS de TanzuKubernetesCluster.
AuthServiceProvisioned Indique l'état du module complémentaire AuthService de TanzuKubernetesCluster.
PSPProvisioned Indique l'état de PodSecurityPolicy.
Le tableau répertorie et décrit les raisons pour lesquelles les conditions des modules complémentaires ne sont pas vraies.
Tableau 6. Raisons pour les modules complémentaires faux
Raison Gravité Description
AddonsReconciliationFailed Résumé de la raison de tous les échecs de rapprochement de modules complémentaires.
CNIProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour du module complémentaire CNI.
CSIProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour du module complémentaire CSI.
CPIProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour du module complémentaire CPI.
KubeProxyProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour du module complémentaire KubeProxy.
CoreDNSProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour du module complémentaire CoreDNS.
AuthServiceProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour du module complémentaire AuthService.
AuthServiceUnManaged Indique qu'AuthService n'est pas géré par le contrôleur.
PSPProvisioningFailed Avertissement Indique l'échec de la création ou de la mise à jour des modules complémentaires PodSecurityPolicy.

Autres conditions et raisons

Le tableau répertorie et décrit les conditions de synchronisation StorageClass et RoleBinding, de rapprochement des ressources ProviderServiceAccount, de ServiceDiscovery et de compatibilité de TankubernetesCluster.

Tableau 7. Autres conditions
Condition Description
StorageClassSynced Indique l'état de la synchronisation StorageClass du cluster superviseur au cluster de charge de travail.
RoleBindingSynced Indique l'état de la synchronisation RoleBinding du cluster superviseur au cluster de charge de travail.
ProviderServiceAccountsReady Indique l'état des comptes de services fournisseurs et que les ressources Roles, RoleBindings et Secrets associées sont créés.
ServiceDiscoveryReady Indique l'état des découvertes de service.
TanzuKubernetesReleaseCompatible Indique si TanzuKubernetesCluster est compatible avec TanzuKubernetesRelease.

Le tableau répertorie et décrit les raisons pour lesquelles d'autres conditions ne sont pas vraies.

Tableau 8. Autres raisons
Raison Gravité Description
StorageClassSyncFailed Signale l'échec de la synchronisation StorageClass.
RoleBindingSyncFailed Signale l'échec de la synchronisation RoleBinding.
ProviderServiceAccountsReconciliationFailed Signale que le rapprochement des ressources liées aux comptes de services fournisseurs a échoué.
SupervisorHeadlessServiceSetupFailed Indique l'échec de la configuration des services administrés à distance pour le serveur d'API du cluster superviseur.