التشغيل السريع: الوصول إلى واجهة برمجة تطبيقات Kubernetes لمورد Fleet

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

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

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

الوصول إلى واجهة برمجة تطبيقات Kubernetes لمورد Fleet

  1. تعيين متغيرات البيئة التالية لمعرف الاشتراك ومجموعة الموارد ومورد Fleet:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    
  2. تعيين اشتراك Azure الافتراضي لاستخدامه باستخدام az account set الأمر .

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. احصل على ملف kubeconfig لمورد أسطول نظام مجموعة المركز باستخدام az fleet get-credentials الأمر .

    az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
    

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

    Merged "hub" as current context in /home/fleet/.kube/config
    
  4. قم بتعيين متغير البيئة التالي لمورد id نظام المجموعة Hub Fleet:

    export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
    
  5. تخويل هويتك إلى خادم Kubernetes API لمورد نظام المجموعة Hub Fleet باستخدام الأوامر التالية:

    بالنسبة لمتغير ROLE البيئة، يمكنك استخدام أحد تعريفات الأدوار الأربعة التالية المضمنة كقيمة:

    • قارئ التحكم في الوصول استنادا إلى الدور في Azure Kubernetes Fleet Manager
    • Azure Kubernetes Fleet Manager RBAC Writer
    • مسؤول التحكم في الوصول استنادا إلى الدور في Azure Kubernetes Fleet Manager
    • مسؤول مجموعة التحكم في الوصول استنادا إلى الدور في Azure Kubernetes Fleet Manager
    export IDENTITY=$(az ad signed-in-user show --query "id" --output tsv)
    export ROLE="Azure Kubernetes Fleet Manager RBAC Cluster Admin"
    az role assignment create --role "${ROLE}" --assignee ${IDENTITY} --scope ${FLEET_ID}
    

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

    {
      "canDelegate": null,
      "condition": null,
      "conditionVersion": null,
      "description": null,
      "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/providers/Microsoft.Authorization/roleAssignments/<assignment>",
      "name": "<name>",
      "principalId": "<id>",
      "principalType": "User",
      "resourceGroup": "<GROUP>",
      "roleDefinitionId": "/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleDefinitions/18ab4d3d-a1bf-4477-8ad9-8359bc988f69",
      "scope": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>",
      "type": "Microsoft.Authorization/roleAssignments"
    }
    
  6. تحقق من أنه يمكنك الوصول إلى خادم API باستخدام kubectl get memberclusters الأمر .

    kubectl get memberclusters
    

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

    NAME           JOINED   AGE
    aks-member-1   True     2m
    aks-member-2   True     2m
    aks-member-3   True     2m
    

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