Resursspridningsfel: ClusterResourcePlacementWorkSynchronized är falskt
Den här artikeln beskriver hur du felsöker ClusterResourcePlacementWorkSynchronized
problem när du sprider resurser med API-objektet ClusterResourcePlacement
i Azure Kubernetes Fleet Manager.
Symptom
När du använder ClusterResourcePlacement
API-objektet i Azure Kubernetes Fleet Manager för att sprida resurser synkroniseras inte de associerade arbetsobjekten med ändringarna om ClusterResourcePlacement
de uppdateras och villkorsstatusen ClusterResourcePlacementWorkSynchronized
visas som False
.
Kommentar
Om du vill ha mer information om varför synkroniseringen av arbetsobjekt misslyckas kan du kontrollera arbetsgeneratorns kontrollantloggar .
Orsak
Det här problemet kan inträffa av någon av följande orsaker:
- Kontrollanten får ett fel vid försök att generera motsvarande arbetsobjekt.
- Det omslutna objektet är inte välformaterat.
Fallstudie
I följande exempel ClusterResourcePlacement
försöker sprida en resurs till ett valt kluster, men arbetsobjektet uppdateras inte för att återspegla de senaste ändringarna eftersom det valda klustret har avslutats.
ClusterResourcePlacement-specifikation
spec:
resourceSelectors:
- group: rbac.authorization.k8s.io
kind: ClusterRole
name: secret-reader
version: v1
policy:
placementType: PickN
numberOfClusters: 1
strategy:
type: RollingUpdate
ClusterResourcePlacement-status
spec:
policy:
numberOfClusters: 1
placementType: PickN
resourceSelectors:
- group: ""
kind: Namespace
name: test-ns
version: v1
revisionHistoryLimit: 10
strategy:
type: RollingUpdate
status:
conditions:
- lastTransitionTime: "2024-05-14T18:05:04Z"
message: found all cluster needed as specified by the scheduling policy, found
1 cluster(s)
observedGeneration: 1
reason: SchedulingPolicyFulfilled
status: "True"
type: ClusterResourcePlacementScheduled
- lastTransitionTime: "2024-05-14T18:05:05Z"
message: All 1 cluster(s) start rolling out the latest resource
observedGeneration: 1
reason: RolloutStarted
status: "True"
type: ClusterResourcePlacementRolloutStarted
- lastTransitionTime: "2024-05-14T18:05:05Z"
message: No override rules are configured for the selected resources
observedGeneration: 1
reason: NoOverrideSpecified
status: "True"
type: ClusterResourcePlacementOverridden
- lastTransitionTime: "2024-05-14T18:05:05Z"
message: There are 1 cluster(s) which have not finished creating or updating work(s)
yet
observedGeneration: 1
reason: WorkNotSynchronizedYet
status: "False"
type: ClusterResourcePlacementWorkSynchronized
observedResourceIndex: "0"
placementStatuses:
- clusterName: kind-cluster-1
conditions:
- lastTransitionTime: "2024-05-14T18:05:04Z"
message: 'Successfully scheduled resources for placement in kind-cluster-1 (affinity
score: 0, topology spread score: 0): picked by scheduling policy'
observedGeneration: 1
reason: Scheduled
status: "True"
type: Scheduled
- lastTransitionTime: "2024-05-14T18:05:05Z"
message: Detected the new changes on the resources and started the rollout process
observedGeneration: 1
reason: RolloutStarted
status: "True"
type: RolloutStarted
- lastTransitionTime: "2024-05-14T18:05:05Z"
message: No override rules are configured for the selected resources
observedGeneration: 1
reason: NoOverrideSpecified
status: "True"
type: Overridden
- lastTransitionTime: "2024-05-14T18:05:05Z"
message: 'Failed to synchronize the work to the latest: works.placement.kubernetes-fleet.io
"crp1-work" is forbidden: unable to create new content in namespace fleet-member-kind-cluster-1
because it is being terminated'
observedGeneration: 1
reason: SyncWorkFailed
status: "False"
type: WorkSynchronized
selectedResources:
- kind: Namespace
name: test-ns
version: v1
I statusen ClusterResourcePlacement
visas villkorsstatusen ClusterResourcePlacementWorkSynchronized
som False
. Meddelandet för det anger att arbetsobjektet crp1-work
inte kan generera nytt innehåll i namnområdet fleet-member-kind-cluster-1
eftersom det för närvarande avslutas.
Åtgärd
I den här situationen finns det flera möjliga lösningar:
ClusterResourcePlacement
Ändra med ett nyligen valt kluster.ClusterResourcePlacement
Ta bort för att ta bort arbetet via skräpinsamling.- Gå med i medlemsklustret igen. Namnområdet kan bara återskapas när klustret har återansluts.
I andra situationer kan du välja att vänta tills arbetet har slutförts.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.