توزيع وإدارة ملحقات نظام مجموعة Kubernetes الممكّنة في Azure Arc
يمكنك إنشاء مثيلات ملحق في مجموعة Kubernetes الممكنة بواسطة Arc، وإعداد المعلمات المطلوبة والاختيارية بما في ذلك الخيارات المتعلقة بالتحديثات والتكوينات. يمكنك أيضا عرض مثيلات الملحق وسردها وتحديثها وحذفها.
قبل البدء، اقرأ النظرة العامة المفاهيمية لملحقات مجموعة Kubernetes الممكنة في Arc وراجع قائمة الملحقات المتوفرة حاليا.
المتطلبات الأساسية
أحدث إصدار من Azure CLI.
أحدث إصدارات وملحقات
connectedk8s
k8s-extension
Azure CLI. قم بتثبيت هذه الملحقات عن طريق تشغيل الأوامر التالية:az extension add --name connectedk8s az extension add --name k8s-extension
إذا تم تثبيت الملحقين
connectedk8s
وk8s-extension
بالفعل، فتأكد من تحديثهما إلى أحدث إصدار باستخدام الأوامر التالية:az extension update --name connectedk8s az extension update --name k8s-extension
نظام مجموعة Kubernetes متصل موجود يدعم Azure Arc، مع عقدة واحدة على الأقل من نظام التشغيل ونوع
linux/amd64
البنية . في حالة نشر Flux (GitOps)، يمكنك استخدام نظام مجموعة مستند إلى ARM64 بدون عقدةlinux/amd64
.- إذا لم تكن قد قمت بتوصيل نظام مجموعة حتى الآن، فاستخدم تشغيل سريع الخاص بنا.
- ترقية وكلائك إلى أحدث إصدار.
تحديث مثيل ملحق البرنامج
لإنشاء مثيل ملحق جديد، استخدم k8s-extension create
، تمرير القيم للمعلمات المطلوبة.
ينشئ هذا المثال مثيل ملحق Azure Monitor Container Insights على مجموعة Kubernetes الممكنة في Azure Arc:
az k8s-extension create --name azuremonitor-containers --extension-type Microsoft.AzureMonitor.Containers --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
إخراج:
{
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": null,
"configurationSettings": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eus"
},
"creationTime": "2021-04-02T12:13:06.7534628+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuremonitor.containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/demo/providers/Microsoft.Kubernetes/connectedClusters/demo/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2021-04-02T12:13:06.753463+00:00",
"lastStatusTime": null,
"name": "azuremonitor-containers",
"releaseTrain": "Stable",
"resourceGroup": "demo",
"scope": {
"cluster": {
"releaseNamespace": "azuremonitor-containers"
},
"namespace": null
},
"statuses": [],
"systemData": null,
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "2.8.2"
}
إشعار
الخدمة غير قادرة على الاحتفاظ بالمعلومات الحساسة لأكثر من 48 ساعة. إذا لم يكن لدى عوامل Kubernetes الممكنة في Azure Arc اتصال بالشبكة لأكثر من 48 ساعة ولا يمكنهم تحديد ما إذا كان سيتم إنشاء ملحق على نظام المجموعة، ينتقل الملحق إلى Failed
الحالة. بمجرد حدوث ذلك، ستحتاج إلى التشغيل k8s-extension create
مرة أخرى لإنشاء مورد Azure ملحق جديد.
Azure Monitor Container Insights هو ملحق أحادي (مطلوب واحد فقط لكل مجموعة). ستحتاج إلى تنظيف أي تثبيتات سابقة لمخطط Helm ل Azure Monitor Container Insights (بدون ملحقات) قبل تثبيت نفس التثبيت عبر الملحقات. اتبع الإرشادات لحذف مخطط Helm قبل تشغيل az k8s-extension create
.
تتمثل المعلمات المطلوبة في الآتي
المعلمات التالية مطلوبة عند استخدام az k8s-extension create
لإنشاء مثيل ملحق.
اسم المعلمة | الوصف |
---|---|
--name |
اسم مثيل ملحق اسم الملف |
--extension-type |
نوع الملحق الذي تريد تثبيته على نظام المجموعة. على سبيل المثال: Microsoft.AzureMonitor.Containers، microsoft.azuredefender.kubernetes |
--scope |
نطاق التثبيت للملحق: cluster أو namespace |
--cluster-name |
اسم مورد Kubernetes الممكّن لـAzure Arc والذي يجب إنشاء مثيل الملحق عليه |
--resource-group |
مجموعة الموارد التي تحتوي على مورد Kubernetes الممكّن لـAzure Arc |
--cluster-type |
نوع نظام مجموعة أجهزة كمبيوتر الذي يجب إنشاء مثيل الملحق عليه. بالنسبة لمعظم السيناريوهات، استخدم connectedClusters ، والذي يتوافق مع مجموعات Kubernetes الممكنة في Azure Arc. |
تتمثل المعلمات الاختيارية في الآتي
استخدم معلمة واحدة أو أكثر من هذه المعلمات الاختيارية حسب الحاجة للسيناريوهات الخاصة بك، جنبا إلى جنب مع المعلمات المطلوبة.
إشعار
يمكنك اختيار ترقية مثيل الملحق تلقائيا إلى أحدث الإصدارات الثانوية والتصحيحية عن طريق الإعداد auto-upgrade-minor-version
إلى true
، أو يمكنك بدلا من ذلك تعيين إصدار مثيل الملحق يدويا باستخدام المعلمة --version
. نوصي بتمكين الترقيات التلقائية للإصدارات الثانوية والتصحيحية بحيث يكون لديك دائما أحدث التصحيحات والقدرات الأمنية.
نظرا لأن ترقيات الإصدار الرئيسية قد تتضمن تغييرات فاصلة، فإن الترقيات التلقائية للإصدارات الرئيسية الجديدة لمثيل ملحق غير مدعومة. يمكنك اختيار وقت ترقية مثيلات الملحق يدويا إلى إصدار رئيسي جديد.
اسم المعلمة | الوصف |
---|---|
--auto-upgrade-minor-version |
خاصية منطقية تحدد ما إذا كان يتم ترقية الإصدار الثانوي للملحق تلقائيا. الإعداد الافتراضي هو true . إذا تم تعيين هذه المعلمة إلى true ، فلا يمكنك تعيين المعلمة version ، حيث سيتم تحديث الإصدار ديناميكيا. إذا تم تعيينه إلى false ، فلن تتم ترقية الملحق تلقائيا، حتى بالنسبة لإصدارات التصحيح. |
--version |
إصدار ملحق البرنامج الذي سيتم تثبيته (إصدار محدد لتثبيت مثيل الملحق). يجب عدم توفير إذا auto-upgrade-minor-version تم تعيين إلى true . |
--configuration-settings |
الإعدادات التي يمكن تمريرها إلى ملحق المستعرض عنصر التحكم ووظائفه. يتم تمريرها كأزواج مفصولة بمسافة key=value بعد اسم المعلمة. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-settings-file في نفس الأمر. |
--configuration-settings-file |
المسار إلى ملف JSON مع key=value أزواج لاستخدامها لتمرير إعدادات التكوين إلى الملحق. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-settings في نفس الأمر. |
--configuration-protected-settings |
الإعدادات التي لا يمكن استردادها باستخدام GET استدعاءات أو az k8s-extension show أوامر واجهة برمجة التطبيقات. يستخدم عادة لتمرير الإعدادات الحساسة. يتم تمريرها كأزواج مفصولة بمسافة key=value بعد اسم المعلمة. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-protected-settings-file في نفس الأمر. |
--configuration-protected-settings-file |
المسار إلى ملف JSON مع key=value أزواج لاستخدامها لتمرير الإعدادات الحساسة إلى الملحق. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-protected-settings في نفس الأمر. |
--release-namespace |
تشير المعلمة إلى مساحة الاسم التي سيتم إنشاء الإصدار ضمنها. ذات صلة فقط إذا scope تم تعيين إلى cluster . |
--release-train |
يمكن لمؤلفي الملحقات نشر إصدارات في قطارات إصدار مختلفة مثل Stable ، Preview ، وما إلى ذلك. إذا لم يتم تعيين هذه المعلمة بشكل صريح، Stable يتم استخدامها كافتراضية. |
--target-namespace |
يشير إلى مساحة الاسم التي سيتم إنشاء الإصدار داخلها. يتم تقييد إذن حساب النظام الذي تم إنشاؤه لمثيل ملحق البرنامج هذا إلى مساحة الاسم. ذات صلة فقط إذا scope تم تعيين إلى namespace . |
إظهار تفاصيل الملحق
لعرض تفاصيل مثيل ملحق مثبت حاليا، استخدم k8s-extension show
، تمرير قيم المعلمات الإلزامية.
az k8s-extension show --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
إخراج:
{
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": null,
"configurationSettings": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eus"
},
"creationTime": "2021-04-02T12:13:06.7534628+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuremonitor.containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/demo/providers/Microsoft.Kubernetes/connectedClusters/demo/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers",
"identity": null,
"installState": "Installed",
"lastModifiedTime": "2021-04-02T12:13:06.753463+00:00",
"lastStatusTime": "2021-04-02T12:13:49.636+00:00",
"name": "azuremonitor-containers",
"releaseTrain": "Stable",
"resourceGroup": "demo",
"scope": {
"cluster": {
"releaseNamespace": "azuremonitor-containers"
},
"namespace": null
},
"statuses": [],
"systemData": null,
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "2.8.2"
}
سرد كافة الملحقات المثبتة على مجموعة أجهزة كمبيوتر
لعرض قائمة بجميع الملحقات المثبتة على نظام مجموعة، استخدم k8s-extension list
، مرر قيم المعلمات الإلزامية.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
إخراج:
[
{
"autoUpgradeMinorVersion": true,
"creationTime": "2020-09-15T02:26:03.5519523+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "Microsoft.AzureMonitor.Containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRg/providers/Microsoft.Kubernetes/connectedClusters/myCluster/providers/Microsoft.KubernetesConfiguration/extensions/myExtInstanceName",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2020-09-15T02:48:45.6469664+00:00",
"lastStatusTime": null,
"name": "myExtInstanceName",
"releaseTrain": "Stable",
"resourceGroup": "myRG",
"scope": {
"cluster": {
"releaseNamespace": "myExtInstanceName1"
}
},
"statuses": [],
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "0.1.0"
},
{
"autoUpgradeMinorVersion": true,
"creationTime": "2020-09-02T00:41:16.8005159+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuredefender.kubernetes",
"id": "/subscriptions/0e849346-4343-582b-95a3-e40e6a648ae1/resourceGroups/myRg/providers/Microsoft.Kubernetes/connectedClusters/myCluster/providers/Microsoft.KubernetesConfiguration/extensions/defender",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2020-09-02T00:41:16.8005162+00:00",
"lastStatusTime": null,
"name": "microsoft.azuredefender.kubernetes",
"releaseTrain": "Stable",
"resourceGroup": "myRg",
"scope": {
"cluster": {
"releaseNamespace": "myExtInstanceName2"
}
},
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "0.1.0"
}
]
تحديث مثيل ملحق البرنامج
إشعار
راجع الوثائق الخاصة بنوع الملحق المحدد لفهم الإعدادات المحددة في --configuration-settings
والتي --configuration-protected-settings
يمكن تحديثها. بالنسبة --configuration-protected-settings
إلى ، من المتوقع توفير جميع الإعدادات، حتى إذا تم تحديث إعداد واحد فقط. إذا تم حذف أي من هذه الإعدادات، فسيتم اعتبار هذه الإعدادات قديمة وحذفها.
لتحديث مثيل ملحق موجود، استخدم k8s-extension update
، تمرير قيم المعلمات الإلزامية والاختيارية. المعلمات الإلزامية والاختيارية مختلفة قليلا عن تلك المستخدمة لإنشاء مثيل ملحق.
يحدث auto-upgrade-minor-version
هذا المثال الإعداد لمثيل ملحق Azure التعلم الآلي إلى true
:
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --auto-upgrade-minor-version true --cluster-type managedClusters
المعلمات المطلوبة للتحديث
اسم المعلمة | الوصف |
---|---|
--name |
اسم مثيل ملحق اسم الملف |
--cluster-name |
اسم نظام المجموعة الذي يجب إنشاء مثيل الملحق عليه |
--resource-group |
مجموعة الموارد التي تحتوي على نظام المجموعة |
--cluster-type |
نوع نظام مجموعة أجهزة كمبيوتر الذي يجب إنشاء مثيل الملحق عليه. بالنسبة لمجموعات Kubernetes الممكنة في Azure Arc، استخدم connectedClusters . بالنسبة لمجموعات AKS، استخدم managedClusters . |
معلمات اختيارية للتحديث
اسم المعلمة | الوصف |
---|---|
--auto-upgrade-minor-version |
خاصية منطقية تحدد ما إذا كان يتم ترقية الإصدار الثانوي للملحق تلقائيا. الإعداد الافتراضي هو true . إذا تم تعيين هذه المعلمة إلى true، فلا يمكنك تعيين المعلمة version ، حيث سيتم تحديث الإصدار ديناميكيا. إذا تم تعيينه إلى false ، فلن تتم ترقية الملحق تلقائيا، حتى بالنسبة لإصدارات التصحيح. |
--version |
إصدار ملحق البرنامج الذي سيتم تثبيته (إصدار محدد لتثبيت مثيل الملحق). لا يجب الدعم إذا تم تعيين التحديث التلقائي-الإصدار الثانوي إلى true . |
--configuration-settings |
الإعدادات التي يمكن تمريرها إلى ملحق المستعرض عنصر التحكم ووظائفه. يتم تمريرها كأزواج مفصولة بمسافة key=value بعد اسم المعلمة. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-settings-file في نفس الأمر. توفير الإعدادات التي تتطلب تحديثا فقط. سيتم استبدال الإعدادات المتوفرة بالقيم المحددة. |
--configuration-settings-file |
المسار إلى ملف JSON مع key=value أزواج لاستخدامها لتمرير إعدادات التكوين إلى الملحق. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-settings في نفس الأمر. |
--configuration-protected-settings |
الإعدادات التي لا يمكن استردادها باستخدام GET استدعاءات أو az k8s-extension show أوامر واجهة برمجة التطبيقات. يستخدم عادة لتمرير الإعدادات الحساسة. يتم تمريرها كأزواج مفصولة بمسافة key=value بعد اسم المعلمة. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-protected-settings-file في نفس الأمر. عند تحديث إعداد محمي، من المتوقع تحديد كافة الإعدادات المحمية. إذا تم حذف أي من هذه الإعدادات، فسيتم اعتبار هذه الإعدادات قديمة وحذفها. |
--configuration-protected-settings-file |
المسار إلى ملف JSON مع key=value أزواج لاستخدامها لتمرير الإعدادات الحساسة إلى الملحق. إذا تم استخدام هذه المعلمة في الأمر، فلا يمكن استخدام --configuration-protected-settings في نفس الأمر. |
--scope |
نطاق التثبيت للملحق - cluster أو namespace . |
--release-train |
يمكن لمؤلفي الملحقات نشر إصدارات في قطارات إصدار مختلفة مثل Stable ، Preview ، وما إلى ذلك. إذا لم يتم تعيين هذه المعلمة بشكل صريح، Stable يتم استخدامها كافتراضية. |
ترقية مثيل الملحق
كما هو ملاحظ سابقا، إذا قمت بتعيين auto-upgrade-minor-version
إلى صحيح، ستتم ترقية الملحق تلقائيا عند إصدار إصدار ثانوي جديد. بالنسبة لمعظم السيناريوهات، نوصي بتمكين الترقيات التلقائية. إذا قمت بتعيين auto-upgrade-minor-version
إلى خطأ، يتعين عليك ترقية الملحق يدويا إذا كنت تريد إصدارا أحدث.
الترقيات اليدوية مطلوبة أيضا للحصول على مثيل رئيسي جديد لملحق. يمكنك اختيار وقت الترقية لتجنب أي تغييرات مفاجئة غير متوقعة مع ترقيات الإصدار الرئيسي.
لترقية مثيل ملحق يدويا، استخدم k8s-extension update
المعلمة version
وقم بتعيينها لتحديد إصدار.
يحدث هذا المثال مثيل ملحق Azure التعلم الآلي إلى الإصدار x.y.z:
az k8s-extension update --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --name azureml --version x.y.z
حذف مثيل ملحق البرنامج
لحذف مثيل ملحق على نظام مجموعة، استخدم k8s-extension delete
، مرر قيم المعلمات الإلزامية:
az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
إشعار
حذف مورد Azure الذي يمثل هذا الملحق على الفور. حذف إصدار هيلم على مجموعة أجهزة كمبيوتر المقترنة بهذا الملحق فقط عند العوامل التي تعمل على مجموعة أجهزة كمبيوتر Kubernetes اتصال شبكة الاتصال ويمكن الوصول إلى خدمات Azure مرة أخرى لجلب الحالة المطلوبة.
الخطوات التالية
- راجع مرجع az k8s-extension CLI للحصول على قائمة شاملة بالأوامر والمعلمات.
- تعرف على المزيد حول كيفية عمل الملحقات مع مجموعات Kubernetes التي تدعم Arc.
- راجع ملحقات نظام المجموعة المتوفرة حاليا ل Kubernetes التي تدعم Azure Arc.
- احصل على تعليمات حول استكشاف مشكلات الملحق وإصلاحها.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ