Megosztás a következőn keresztül:


Rövid útmutató: Erőforrások propagálása egy Azure Kubernetes Fleet Manager -központfürtről tagfürtökre

Ebben a rövid útmutatóban megtudhatja, hogyan propagálhat erőforrásokat egy Azure Kubernetes Fleet Manager -központfürtről tagfürtökre.

Előfeltételek

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

  • A rövid útmutatóban használt fogalmak és terminológia megismeréséhez olvassa el az erőforrás-propagálás elméleti áttekintését .
  • Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
  • Szüksége van egy flottaerőforrásra egy központi fürttel és tagfürtökkel. Ha nem rendelkezik ilyen erőforrással, olvassa el az Azure Kubernetes Fleet Manager-erőforrás létrehozása és tagfürtökhöz való csatlakozás az Azure CLI használatával című témakört.
  • A tagfürtöket megfelelően kell címkézni a központi fürtön, hogy megfeleljenek a kívánt kiválasztási feltételeknek. A példafeliratok közé tartozik a régió, a környezet, a csapat, a rendelkezésre állási zónák, a csomópontok rendelkezésre állása vagy bármi más.
  • Hozzá kell férnie a központi fürt Kubernetes API-hoz. Ha nincs hozzáférése, olvassa el a Fleet-erőforrás Kubernetes API-jának elérése az Azure Kubernetes Fleet Managerrel című témakört.

Erőforrások propagálása tagfürtökre az ClusterResourcePlacement API használatával

Az ClusterResourcePlacement API-objektum az erőforrások központi fürtről tagfürtökre való propagálására szolgál. Az ClusterResourcePlacement API-objektum megadja a propagáláshoz szükséges erőforrásokat és a tagfürtök kiválasztásakor használni kívánt elhelyezési szabályzatot. Az ClusterResourcePlacement API-objektum a központi fürtben jön létre, és az erőforrások tagfürtökre való propagálására szolgál. Ez a példa bemutatja, hogyan propagálhat egy névteret tagfürtökre az ClusterResourcePlacement API-objektummal egy PickAll elhelyezési szabályzattal.

További információ: Kubernetes-erőforrás propagálása a központi fürtről tagfürtökre (előzetes verzió) és a felsőbb rétegbeli flotta dokumentációjában.

  1. Hozzon létre egy névteret a tagfürtökre a kubectl create namespace parancs használatával. Az alábbi példa létrehoz egy névteret:my-namespace

    kubectl create namespace my-namespace
    
  2. Hozzon létre egy ClusterResourcePlacement API-objektumot a központi fürtben a névtér tagfürtökre való propagálásához és a kubectl apply -f parancs használatával történő üzembe helyezéséhez. Az alábbi példa ClusterResourcePlacement létrehoz egy elnevezett crp objektumot, és egy my-namespace elhelyezési szabályzattal a névteret PickAll az összes tagfürtre propagálja:

    kubectl apply -f - <<EOF
    apiVersion: placement.kubernetes-fleet.io/v1beta1
    kind: ClusterResourcePlacement
    metadata:
      name: crp
    spec:
      resourceSelectors:
        - group: ""
          kind: Namespace
          version: v1          
          name: my-namespace
      policy:
        placementType: PickAll
    EOF
    
  3. Ellenőrizze az erőforrás-propagálás előrehaladását a kubectl get clusterresourceplacement paranccsal. Az alábbi példa a nevesített ClusterResourcePlacement crpobjektum állapotát ellenőrzi:

    kubectl get clusterresourceplacement crp
    

    A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:

    NAME   GEN   SCHEDULED   SCHEDULEDGEN   APPLIED   APPLIEDGEN   AGE
    crp    2     True        2              True      2            10s
    
  4. Az objektum részleteinek crp megtekintése a kubectl describe crp parancs használatával. Az alábbi példa a következő nevű crpobjektumot ClusterResourcePlacement ismerteti:

    kubectl describe clusterresourceplacement crp
    

    A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:

    Name:         crp
    Namespace:    
    Labels:       <none>
    Annotations:  <none>
    API Version:  placement.kubernetes-fleet.io/v1beta1
    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
    

Az erőforrások eltávolítása

Ha már nem szeretné használni az ClusterResourcePlacement objektumot, a parancs használatával kubectl delete törölheti azt. Az alábbi példa törli a ClusterResourcePlacement következő nevű crpobjektumot:

kubectl delete clusterresourceplacement crp

Következő lépések

Az erőforrás-propagálással kapcsolatos további információkért tekintse meg a következő erőforrásokat: