التشغيل السريع: إنشاء مورد Azure Kubernetes Fleet Manager والانضمام إلى مجموعات الأعضاء باستخدام Azure CLI

ابدأ مع Azure Kubernetes Fleet Manager (Fleet) باستخدام Azure CLI لإنشاء مورد أسطول وتوصيل مجموعات Azure Kubernetes Service (AKS) لاحقا كمجموعات أعضاء.

المتطلبات الأساسية

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

  • اقرأ النظرة العامة المفاهيمية لهذه الميزة، والتي توفر شرحا للأساطيل ومجموعات الأعضاء المشار إليها في هذه الوثيقة.

  • حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.

  • هوية (مستخدم أو كيان خدمة) يمكن استخدامها لتسجيل الدخول إلى Azure CLI. يجب أن يكون لهذه الهوية الأذونات التالية على أنواع موارد الأسطول وAKS لإكمال الخطوات المذكورة في هذا التشغيل السريع:

    • Microsoft.ContainerService/fleets/read
    • Microsoft.ContainerService/fleets/write
    • Microsoft.ContainerService/fleets/members/read
    • Microsoft.ContainerService/fleets/members/write
    • Microsoft.ContainerService/fleetMemberships/read
    • Microsoft.ContainerService/fleetMemberships/write
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/write
  • تثبيت أو ترقية Azure CLI إلى إصدار أو أحدث 2.53.1 .

  • قم بتثبيت ملحق أسطول Azure CLI باستخدام az extension add الأمر وتأكد من أن الإصدار الخاص بك هو على الأقل 1.0.0.

    az extension add --name fleet
    
  • عيّن متغيرات البيئة التالية:

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    
  • تثبيت kubectl الأمر واستخدامه az aks install-clikubelogin.

    az aks install-cli
    
  • يجب أن تكون مجموعات AKS التي تريد ضمها كمجموعات أعضاء إلى مورد Fleet ضمن الإصدارات المدعومة من AKS. تعرف على المزيد حول نهج دعم إصدار AKS هنا.

إنشاء مجموعة موارد

مجموعة موارد Azure هي مجموعة منطقية يمكن من خلالها نشر وإدارة موارد Azure. عند إنشاء مجموعة موارد، تتم مطالبتك بتحديد موقع. هذا الموقع هو موقع تخزين بيانات تعريف مجموعة الموارد الخاصة بك ومكان تشغيل مواردك في Azure إذا لم تحدد موقعا آخر أثناء إنشاء الموارد.

تعيين اشتراك Azure وإنشاء مجموعة موارد باستخدام az group create الأمر .

az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus

يشبه مثال الإخراج التالي الإنشاء الناجح لمجموعة الموارد:

{
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
  "location": "eastus",
  "managedBy": null,
  "name": "fleet-demo",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

إنشاء مورد أسطول

يمكنك إنشاء مورد Fleet لتجميع مجموعات AKS الخاصة بك لاحقا كمجموعات أعضاء. بشكل افتراضي، يمكن هذا المورد تجميع نظام مجموعة الأعضاء وتحديث التنسيق. إذا تم تمكين مركز Fleet، يتم تمكين ميزات المعاينة الأخرى، مثل نشر كائن Kubernetes إلى مجموعات الأعضاء وموازنة تحميل خدمة L4 عبر مجموعات أعضاء متعددة.

هام

اعتبارا من الآن، بمجرد إنشاء مورد Fleet، لا يمكن تغيير وضع المركز لمورد الأسطول.

الخيار 1 - إنشاء أسطول بدون نظام مجموعة مركز

إذا كنت ترغب في استخدام Fleet فقط لتنسيق التحديث، وهي التجربة الافتراضية عند إنشاء مورد أسطول جديد، يمكنك إنشاء مورد Fleet دون نظام مجموعة المركز باستخدام az fleet create الأمر . لمزيد من المعلومات، راجع ما هو نظام مجموعة المركز (معاينة)؟.

az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus

يجب أن يبدو الإخراج مشابها لإخراج المثال التالي:

{
  "etag": "...",
  "hubProfile": null,
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "None",
    "userAssignedIdentities": null
  },
  "location": "eastus",
  "name": "fleet-demo",
  "provisioningState": "Succeeded",
  "resourceGroup": "fleet-demo",
  "systemData": {
    "createdAt": "2023-11-03T17:15:19.610149+00:00",
    "createdBy": "<user>",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-03T17:15:19.610149+00:00",
    "lastModifiedBy": "<user>",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "Microsoft.ContainerService/fleets"
}

الخيار 2 - إنشاء أسطول مع نظام مجموعة مركز

إذا كنت ترغب في استخدام Fleet لنشر كائن Kubernetes وموازنة التحميل متعدد المجموعات بالإضافة إلى تحديث التنسيق، فأنت بحاجة إلى إنشاء مورد Fleet مع تمكين نظام مجموعة المركز عن طريق تحديد المعلمة --enable-hubaz fleet create باستخدام الأمر .

az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus --enable-hub

يجب أن يبدو الإخراج مشابها لإخراج المثال في القسم السابق.

الانضمام إلى مجموعات الأعضاء

يدعم Fleet حاليا الانضمام إلى مجموعات AKS الحالية كمجموعات أعضاء.

  1. تعيين متغيرات البيئة التالية لمجموعات الأعضاء:

    export MEMBER_NAME_1=aks-member-1
    export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
    
  2. انضم إلى مجموعات AKS الموجودة لديك إلى مورد Fleet باستخدام az fleet member create الأمر .

    # Join the first member cluster
    az fleet member create --resource-group ${GROUP} --fleet-name ${FLEET} --name ${MEMBER_NAME_1} --member-cluster-id ${MEMBER_CLUSTER_ID_1}
    

    يجب أن يبدو الإخراج مشابها لإخراج المثال التالي:

    {
      "clusterResourceId": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-x",
      "etag": "...",
      "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/members/aks-member-x",
      "name": "aks-member-1",
      "provisioningState": "Succeeded",
      "resourceGroup": "<GROUP>",
      "systemData": {
        "createdAt": "2022-10-04T19:04:56.455813+00:00",
        "createdBy": "<user>",
        "createdByType": "User",
        "lastModifiedAt": "2022-10-04T19:04:56.455813+00:00",
        "lastModifiedBy": "<user>",
        "lastModifiedByType": "User"
      },
      "type": "Microsoft.ContainerService/fleets/members"
    }
    
  3. تحقق من أن مجموعات الأعضاء قد انضمت بنجاح إلى مورد Fleet باستخدام az fleet member list الأمر .

    az fleet member list --resource-group ${GROUP} --fleet-name ${FLEET} -o table
    

    إذا نجحت، يجب أن يبدو الإخراج مشابها لإخراج المثال التالي:

    ClusterResourceId                                                                                                                                Name          ProvisioningState    ResourceGroup
    -----------------------------------------------------------------------------------------------------------------------------------------------  ------------  -------------------  ---------------
    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-1  aks-member-1  Succeeded            <GROUP>
    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-2  aks-member-2  Succeeded            <GROUP>
    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-3  aks-member-3  Succeeded            <GROUP>
    

الخطوات التالية