Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida alla risoluzione dei problemi consente di risolvere i ClusterResourcePlacement problemi relativi agli oggetti dell'API quando si usa Azure Kubernetes Fleet Manager. La risoluzione di questi errori nel cluster hub richiede la conoscenza degli oggetti seguenti:
ClusterResourceSnapshotClusterSchedulingPolicySnapshotClusterResourceBindingWork
Per altri dettagli su ogni oggetto, vedere le informazioni di riferimento sulle API KubeFleet.
Avanzamento completo della distribuzione clusterResourcePlacement
Comprendere la progressione e lo stato della ClusterResourcePlacement risorsa personalizzata è fondamentale per la diagnosi e l'identificazione degli errori. È possibile visualizzare lo stato della ClusterResourcePlacement risorsa personalizzata usando il comando seguente:
kubectl describe clusterresourceplacement <name>
Per altre informazioni, vedere Usare l'API ClusterResourcePlacement per propagare le risorse ai cluster membri.
La progressione completa di ClusterResourcePlacement è la seguente:
ClusterResourcePlacementScheduled: indica che il posizionamento di una risorsa è stato programmato.
Se false, vedere Come risolvere i problemi quando lo stato della condizione ClusterResourcePlacementScheduled è false.
ClusterResourcePlacementRolloutStarted: indica che il processo di implementazione è iniziato.
Se false, vedere Come risolvere i problemi quando lo stato della condizione ClusterResourcePlacementRolloutStarted è false.
ClusterResourcePlacementOverridden: indica che la risorsa è stata sottoposta a override.
Se false, vedere Come risolvere i problemi quando lo stato della condizione ClusterResourcePlacementOverridden è false.
ClusterResourcePlacementWorkSynchronized: indica che gli oggetti di lavoro sono stati sincronizzati.
Se false, vedere Come risolvere i problemi quando lo stato della condizione ClusterResourcePlacementWorkSynchronized è false.
ClusterResourcePlacementApplied: indica che la risorsa è stata applicata.
Se false, vedere Come risolvere i problemi quando lo stato della condizione ClusterResourcePlacementApplied è false.
ClusterResourcePlacementAvailable: indica che la risorsa è disponibile.
Se false, vedere Come risolvere i problemi quando lo stato della condizione ClusterResourcePlacementAvailable è false.
Domande frequenti
Come è possibile eseguire il debug se alcuni cluster non sono selezionati come previsto?
Controllare lo stato di ClusterSchedulingPolicySnapshot per determinare quali cluster sono stati selezionati e il motivo della selezione.
Come è possibile eseguire il debug se un cluster selezionato non dispone delle risorse previste o se ClusterResourcePlacement non rileva le modifiche più recenti?
- Controllare se la
ClusterResourcePlacementRolloutStartedcondizione nelloClusterResourcePlacementstato è impostata su true o false.- Se false, vedere Come eseguire il debug dello stato della condizione ClusterResourcePlacementScheduled impostato su false.
- Se true, andare al passaggio 2.
- Controllare se la
ClusterResourcePlacementAppliedcondizione è impostata su sconosciuto, false o true.- Se sconosciuto, attendere che il processo sia completato perché le risorse vengono ancora applicate al cluster membro. Se lo stato rimane sconosciuto per un po', aprire un problema perché si tratta di un comportamento insolito.
- Se false, vedere Come eseguire il debug dello stato della condizione ClusterResourcePlacementApplied impostato su false.
- Se true, verificare che la risorsa esista nel cluster hub.
- Controllare la
placementStatusessezione nelloClusterResourcePlacementstato del cluster specifico. LaFailedPlacementssezione deve fornire motivi per eventuali errori dell'applicazione di risorse.
Come è possibile trovare e verificare la versione più recente di ClusterSchedulingPolicySnapshot per una distribuzione ClusterResourcePlacement?
Per trovare la versione più recente ClusterSchedulingPolicySnapshot per la distribuzione dell'API ClusterResourcePlacement , eseguire il comando seguente:
kubectl get clusterschedulingpolicysnapshot -l kubernetes-fleet.io/is-latest-snapshot=true,kubernetes-fleet.io/parent-CRP={CRPName}
Annotazioni
In questo comando sostituire {CRPName} con il ClusterResourcePlacement nome.
Confronta quindi i ClusterSchedulingPolicySnapshot con i criteri ClusterResourcePlacement per assicurarti che corrispondano, escludendo il campo numberOfClusters dalla specifica "ClusterResourcePlacement".
Se il tipo di posizionamento è PickN, verificare se il numero di cluster richiesto nella politica ClusterResourcePlacement corrisponde al valore dell'etichetta number-of-clusters.
Come è possibile trovare la risorsa ClusterResourceBinding più recente?
Il comando seguente elenca tutte le ClusterResourceBindings istanze associate a ClusterResourcePlacement:
Kubectl get clusterresourcebinding -l kubernetes-fleet.io/parent-CRP={CRPName}
Annotazioni
In questo comando sostituire {CRPName} con il ClusterResourcePlacement nome.
Esempio
Eseguire il comando seguente per visualizzare lo stato della
ClusterResourcePlacementdistribuzione. In questo caso, ilClusterResourcePlacementnome ètest-crp.kubectl describe clusterresourceplacement test-crpEcco un esempio di output. Nella sezione dello stato di
placementStatuses, si noti che ha distribuito risorse a due cluster membri e, pertanto, ha due istanze ditest-crp.status: conditions: - lastTransitionTime: "2023-11-23T00:49:29Z" ... placementStatuses: - clusterName: kind-cluster-1 conditions: ... type: ResourceApplied - clusterName: kind-cluster-2 conditions: ... reason: ApplySucceeded status: "True" type: ResourceAppliedPer ottenere il
ClusterResourceBindingsvalore, eseguire il comando seguente:kubectl get clusterresourcebinding -l kubernetes-fleet.io/parent-CRP=test-crpNAME WORKCREATED RESOURCESAPPLIED AGE test-crp-kind-cluster-1-be990c3e True True 33s test-crp-kind-cluster-2-ec4d953c True True 33sL'output elenca tutte le istanze di
ClusterResourceBindingsche sono associate atest-crp. Il nome dellaClusterResourceBindingrisorsa usa il formato seguente:{CRPName}-{clusterName}-{suffix}
Come è possibile trovare la risorsa ClusterResourceSnapshot più recente?
Per trovare la risorsa ClusterResourceSnapshot più recente, eseguire il comando seguente:
kubectl get clusterresourcesnapshot -l kubernetes-fleet.io/is-latest-snapshot=true,kubernetes-fleet.io/parent-CRP={CRPName}
Annotazioni
In questo comando sostituire {CRPName} con il ClusterResourcePlacement nome.
Come è possibile trovare la risorsa di lavoro corretta associata a ClusterResourcePlacement?
Per trovare la risorsa di lavoro corretta, seguire questa procedura:
Identificare lo spazio dei nomi del cluster membro e il nome
ClusterResourcePlacement. Il formato per lo spazio dei nomi èfleet-member-{clusterName}.Per ottenere la risorsa di lavoro, eseguire il comando seguente:
kubectl get work -n fleet-member-{clusterName} -l kubernetes-fleet.io/parent-CRP={CRPName}Annotazioni
In questo comando sostituire
{clusterName}e{CRPName}con i nomi identificati nel primo passaggio.
Contattaci per ricevere assistenza
In caso di domande, è possibile porre domande al supporto della community di Azure. È anche possibile inviare commenti e suggerimenti sul prodotto alla community di commenti e suggerimenti di Azure.