Quickstart: Resources van een Azure Kubernetes Fleet Manager -hubcluster (Fleet) doorgeven aan lidclusters
In deze quickstart leert u hoe u resources vanuit een Azure Kubernetes Fleet Manager-hubcluster (Fleet) doordraagt naar lidclusters.
Vereisten
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
- Lees het conceptuele overzicht van resourcedoorgifte om inzicht te hebben in de concepten en terminologie die in deze quickstart worden gebruikt.
- Een Azure-account met een actief abonnement. Gratis een account maken
- U hebt een Fleet-resource met een hubcluster en lidclusters nodig. Als u nog geen resource hebt, raadpleegt u Een Azure Kubernetes Fleet Manager-resource maken en lidclusters koppelen met behulp van Azure CLI.
- Lidclusters moeten op de juiste wijze in het hubcluster worden gelabeld om te voldoen aan de gewenste selectiecriteria. Voorbeelden van labels zijn regio, omgeving, team, beschikbaarheidszones, beschikbaarheid van knooppunten of iets anders dat u wilt.
- U hebt toegang nodig tot de Kubernetes-API van het hubcluster. Als u geen toegang hebt, raadpleegt u de Kubernetes-API van de Fleet-resource met Azure Kubernetes Fleet Manager.
ClusterResourcePlacement
De API gebruiken om resources door te geven aan lidclusters
Het ClusterResourcePlacement
API-object wordt gebruikt om resources van een hubcluster door te geven aan lidclusters. Het ClusterResourcePlacement
API-object specificeert de resources die moeten worden doorgegeven en het plaatsingsbeleid dat moet worden gebruikt bij het selecteren van lidclusters. Het ClusterResourcePlacement
API-object wordt gemaakt in het hubcluster en wordt gebruikt om resources door te geven aan lidclusters. In dit voorbeeld ziet u hoe u een naamruimte doorgeeft aan lidclusters met behulp van het ClusterResourcePlacement
API-object met een PickAll
plaatsingsbeleid.
Zie Kubernetes-resourcedoorgifte van hubcluster naar lidclusters en de opensource Fleet-documentatie voor meer informatie.
Maak een naamruimte die u op de lidclusters wilt plaatsen met behulp van de
kubectl create namespace
opdracht. In het volgende voorbeeld wordt een naamruimte met de naammy-namespace
gemaakt:kubectl create namespace my-namespace
Maak een
ClusterResourcePlacement
API-object in het hubcluster om de naamruimte door te geven aan de lidclusters en implementeer het met behulp van dekubectl apply -f
opdracht. In het volgende voorbeeldClusterResourcePlacement
wordt een object gemaakt met de naam encrp
wordt demy-namespace
naamruimte met eenPickAll
plaatsingsbeleid gebruikt om de naamruimte door te geven aan alle lidclusters:kubectl apply -f - <<EOF apiVersion: placement.kubernetes-fleet.io/v1 kind: ClusterResourcePlacement metadata: name: crp spec: resourceSelectors: - group: "" kind: Namespace version: v1 name: my-namespace policy: placementType: PickAll EOF
Controleer de voortgang van de resourcedoorgifte met behulp van de
kubectl get clusterresourceplacement
opdracht. In het volgende voorbeeld wordt de status van het object met deClusterResourcePlacement
naamcrp
gecontroleerd:kubectl get clusterresourceplacement crp
De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:
NAME GEN SCHEDULED SCHEDULEDGEN APPLIED APPLIEDGEN AGE crp 2 True 2 True 2 10s
Bekijk de details van het
crp
object met behulp van dekubectl describe crp
opdracht. In het volgende voorbeeld wordt het object met deClusterResourcePlacement
naamcrp
beschreven:kubectl describe clusterresourceplacement crp
De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:
Name: crp Namespace: Labels: <none> Annotations: <none> API Version: placement.kubernetes-fleet.io/v1 Kind: ClusterResourcePlacement Metadata: Creation Timestamp: 2024-04-01T18:55:31Z Finalizers: kubernetes-fleet.io/crp-cleanup kubernetes-fleet.io/scheduler-cleanup Generation: 2 Resource Version: 6949 UID: 815b1d81-61ae-4fb1-a2b1-06794be3f986 Spec: Policy: Placement Type: PickAll Resource Selectors: Group: Kind: Namespace Name: my-namespace Version: v1 Revision History Limit: 10 Strategy: Type: RollingUpdate Status: Conditions: Last Transition Time: 2024-04-01T18:55:31Z Message: found all the clusters needed as specified by the scheduling policy Observed Generation: 2 Reason: SchedulingPolicyFulfilled Status: True Type: ClusterResourcePlacementScheduled Last Transition Time: 2024-04-01T18:55:36Z Message: All 3 cluster(s) are synchronized to the latest resources on the hub cluster Observed Generation: 2 Reason: SynchronizeSucceeded Status: True Type: ClusterResourcePlacementSynchronized Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully applied resources to 3 member clusters Observed Generation: 2 Reason: ApplySucceeded Status: True Type: ClusterResourcePlacementApplied Observed Resource Index: 0 Placement Statuses: Cluster Name: membercluster1 Conditions: Last Transition Time: 2024-04-01T18:55:31Z Message: Successfully scheduled resources for placement in membercluster1 (affinity score: 0, topology spread score: 0): picked by scheduling policy Observed Generation: 2 Reason: ScheduleSucceeded Status: True Type: ResourceScheduled Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully Synchronized work(s) for placement Observed Generation: 2 Reason: WorkSynchronizeSucceeded Status: True Type: WorkSynchronized Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully applied resources Observed Generation: 2 Reason: ApplySucceeded Status: True Type: ResourceApplied Cluster Name: membercluster2 Conditions: Last Transition Time: 2024-04-01T18:55:31Z Message: Successfully scheduled resources for placement in membercluster2 (affinity score: 0, topology spread score: 0): picked by scheduling policy Observed Generation: 2 Reason: ScheduleSucceeded Status: True Type: ResourceScheduled Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully Synchronized work(s) for placement Observed Generation: 2 Reason: WorkSynchronizeSucceeded Status: True Type: WorkSynchronized Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully applied resources Observed Generation: 2 Reason: ApplySucceeded Status: True Type: ResourceApplied Cluster Name: membercluster3 Conditions: Last Transition Time: 2024-04-01T18:55:31Z Message: Successfully scheduled resources for placement in membercluster3 (affinity score: 0, topology spread score: 0): picked by scheduling policy Observed Generation: 2 Reason: ScheduleSucceeded Status: True Type: ResourceScheduled Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully Synchronized work(s) for placement Observed Generation: 2 Reason: WorkSynchronizeSucceeded Status: True Type: WorkSynchronized Last Transition Time: 2024-04-01T18:55:36Z Message: Successfully applied resources Observed Generation: 2 Reason: ApplySucceeded Status: True Type: ResourceApplied Selected Resources: Kind: Namespace Name: my-namespace Version: v1 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal PlacementScheduleSuccess 108s cluster-resource-placement-controller Successfully scheduled the placement Normal PlacementSyncSuccess 103s cluster-resource-placement-controller Successfully synchronized the placement Normal PlacementRolloutCompleted 103s cluster-resource-placement-controller Resources have been applied to the selected clusters
Resources opschonen
Als u het ClusterResourcePlacement
object niet meer wilt gebruiken, kunt u het verwijderen met behulp van de kubectl delete
opdracht. In het volgende voorbeeld wordt het object met de ClusterResourcePlacement
naam crp
verwijderd:
kubectl delete clusterresourceplacement crp
Volgende stappen
Zie de volgende resources voor meer informatie over het doorgeven van resources:
Azure Kubernetes Service