استكشاف مشكلات النظام الأساسي لمجموعات Kubernetes الممكنة في Azure Arc وإصلاحها
يوفر هذا المستند أدلة استكشاف الأخطاء وإصلاحها للمشكلات المتعلقة باتصال Kubernetes الذي يدعم Azure Arc والأذونات والوكلاء. كما يوفر أدلة استكشاف الأخطاء وإصلاحها ل Azure GitOps، والتي يمكن استخدامها إما في مجموعات Kubernetes الممكنة في Azure Arc أو مجموعات خدمة Azure Kubernetes (AKS).
للمساعدة في استكشاف المشكلات المتعلقة بالملحقات وإصلاحها، مثل GitOps (Flux v2)، وAzure Monitor Container Insights، وOpen Service Mesh، راجع استكشاف مشكلات الملحقات لمجموعات Kubernetes التي تدعم Azure Arc وإصلاحها.
Azure CLI
قبل استخدام az connectedk8s
أو az k8s-configuration
أوامر CLI، تأكد من تعيين Azure CLI للعمل مقابل اشتراك Azure الصحيح.
az account set --subscription 'subscriptionId'
az account show
عوامل Azure Arc
يتم نشر جميع عوامل Kubernetes التي تدعم Azure Arc كوحدات في azure-arc
مساحة الاسم. يجب تشغيل جميع الحجيرات واجتياز فحوصات السلامة الخاصة بها.
أولا، تحقق من إصدار Azure Arc Helm Chart:
$ helm --namespace default status azure-arc
NAME: azure-arc
LAST DEPLOYED: Fri Apr 3 11:13:10 2020
NAMESPACE: default
STATUS: deployed
REVISION: 5
TEST SUITE: None
إذا لم يتم العثور على إصدار Helm Chart أو فقدانه، فحاول توصيل نظام المجموعة ب Azure Arc مرة أخرى.
إذا كان إصدار Helm Chart موجودا مع STATUS: deployed
، فتحقق من حالة العوامل باستخدام kubectl
:
$ kubectl -n azure-arc get deployments,pods
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/cluster-metadata-operator 1/1 1 1 3d19h
deployment.apps/clusterconnect-agent 1/1 1 1 3d19h
deployment.apps/clusteridentityoperator 1/1 1 1 3d19h
deployment.apps/config-agent 1/1 1 1 3d19h
deployment.apps/controller-manager 1/1 1 1 3d19h
deployment.apps/extension-events-collector 1/1 1 1 3d19h
deployment.apps/extension-manager 1/1 1 1 3d19h
deployment.apps/flux-logs-agent 1/1 1 1 3d19h
deployment.apps/kube-aad-proxy 1/1 1 1 3d19h
deployment.apps/metrics-agent 1/1 1 1 3d19h
deployment.apps/resource-sync-agent 1/1 1 1 3d19h
NAME READY STATUS RESTARTS AGE
pod/cluster-metadata-operator-74747b975-9phtz 2/2 Running 0 3d19h
pod/clusterconnect-agent-cf4c7849c-88fmf 3/3 Running 0 3d19h
pod/clusteridentityoperator-79bdfd945f-pt2rv 2/2 Running 0 3d19h
pod/config-agent-67bcb94b7c-d67t8 1/2 Running 0 3d19h
pod/controller-manager-559dd48b64-v6rmk 2/2 Running 0 3d19h
pod/extension-events-collector-85f4fbff69-55zmt 2/2 Running 0 3d19h
pod/extension-manager-7c7668446b-69gps 3/3 Running 0 3d19h
pod/flux-logs-agent-fc7c6c959-vgqvm 1/1 Running 0 3d19h
pod/kube-aad-proxy-84d668c44b-j457m 2/2 Running 0 3d19h
pod/metrics-agent-58fb8554df-5ll67 2/2 Running 0 3d19h
pod/resource-sync-agent-dbf5db848-c9lg8 2/2 Running 0 3d19h
يجب أن تظهر STATUS
جميع القرون كما هو الحال Running
مع العمود 3/3
أو 2/2
أسفله READY
. إحضار السجلات ووصف الحجيرات التي ترجع Error
أو CrashLoopBackOff
. إذا كانت أي pods عالقة في Pending
الحالة، فقد تكون هناك موارد غير كافية على عقد نظام المجموعة. يمكن أن يؤدي توسيع نطاق نظام المجموعة إلى نقل هذه القرون إلى Running
الحالة.
فشل توفير الموارد/خطأ انتهاء مهلة الخدمة
إذا رأيت هذه الأخطاء، فتحقق من حالة Azure لمعرفة ما إذا كانت هناك أي أحداث نشطة تؤثر على حالة خدمة Kubernetes التي تدعم Azure Arc. إذا كان الأمر كذلك، فانتظر حتى يتم حل حدث الخدمة، ثم حاول الإلحاق مرة أخرى بعد حذف مورد نظام المجموعة المتصل الموجود. إذا لم تكن هناك أحداث خدمة، واستمرت في مواجهة المشكلات أثناء الإعداد، فافتح تذكرة دعم حتى نتمكن من التحقيق في المشكلة.
خطأ في المطالبات الزائدة
إذا تلقيت مطالبة زائدة، فتأكد من أن كيان الخدمة الخاص بك ليس جزءا من أكثر من 200 مجموعة من مجموعات Microsoft Entra. إذا كان الأمر كذلك، يجب إنشاء كيان خدمة آخر لا ينتمي إلى أكثر من 200 مجموعة واستخدامه، أو إزالة كيان الخدمة الأصلي من بعض مجموعاته والمحاولة مرة أخرى.
قد تحدث مطالبة زائدة أيضا إذا قمت بتكوين بيئة وكيل صادر دون السماح بنقطة https://<region>.obo.arc.azure.com:8084/
النهاية لنسبة استخدام الشبكة الصادرة.
إذا لم ينطبق أي منهما، فافتح طلب دعم حتى نتمكن من النظر في المشكلة.
مشكلات عند توصيل مجموعات Kubernetes ب Azure Arc
يتطلب الاتصال المجموعات إلى Azure Arc الوصول إلى اشتراك Azure والوصول cluster-admin
إلى مجموعة مستهدفة. إذا لم تتمكن من الوصول إلى نظام المجموعة، أو إذا كانت لديك أذونات غير كافية، فسيفشل توصيل نظام المجموعة ب Azure Arc. تأكد من استيفاء جميع المتطلبات الأساسية لتوصيل نظام مجموعة.
تلميح
للحصول على دليل مرئي لاستكشاف مشكلات الاتصال وإصلاحها، راجع تشخيص مشكلات الاتصال لمجموعات Kubernetes الممكنة بواسطة Arc.
مشكلات حل DNS
تفضل بزيارة تصحيح أخطاء حل DNS للمساعدة في حل المشكلات المتعلقة بحل DNS على نظام المجموعة.
مشكلات اتصال الشبكة الصادرة
قد تنشأ مشكلات في اتصال الشبكة الصادرة من نظام المجموعة لأسباب مختلفة. تأكد أولا من استيفاء جميع متطلبات الشبكة.
إذا واجهت مشكلات في الاتصال، وكانت مجموعتك خلف خادم وكيل صادر، فتأكد من تمرير معلمات الوكيل أثناء إعداد نظام المجموعة الخاص بك ومن تكوين الوكيل بشكل صحيح. لمزيد من المعلومات، راجع الاتصال باستخدام خادم وكيل صادر.
قد ترى خطأ مشابها للآتي:
An exception has occurred while trying to execute the cluster diagnostic checks in the cluster. Exception: Unable to pull cluster-diagnostic-checks helm chart from the registry 'mcr.microsoft.com/azurearck8s/helmchart/stable/clusterdiagnosticchecks:0.1.2': Error: failed to do request: Head "https://mcr.microsoft.com/v2/azurearck8s/helmchart/stable/clusterdiagnosticchecks/manifests/0.1.2": dial tcp xx.xx.xx.219:443: i/o timeout
يحدث هذا الخطأ عند https://k8connecthelm.azureedge.net
حظر نقطة النهاية. تأكد من أن شبكتك تسمح بالاتصال بنقطة النهاية هذه وتلبي جميع متطلبات الشبكات الأخرى.
تعذر استرداد شهادة MSI
عادة ما تكون مشكلات استرداد شهادة MSI بسبب مشكلات في الشبكة. تحقق للتأكد من استيفاء جميع متطلبات الشبكة، ثم حاول مرة أخرى.
أذونات نظام المجموعة غير كافية
إذا لم يكن لملف kubeconfig المتوفر أذونات كافية لتثبيت عوامل Azure Arc، فإن الأمر Azure CLI يرجع خطأ: Error: list: failed to list: secrets is forbidden: User "myuser" cannot list resource "secrets" in API group "" at the cluster scope
لحل هذه المشكلة، تأكد من أن المستخدم الذي يربط نظام المجموعة ب Azure Arc لديه cluster-admin
الدور المعين.
تعذر توصيل مجموعة OpenShift ب Azure Arc
إذا كان az connectedk8s connect
التوقيت خارج وفشل عند توصيل مجموعة OpenShift ب Azure Arc:
تأكد من أن مجموعة OpenShift تفي بمتطلبات الإصدار: 4.5.41+ أو 4.6.35+ أو 4.7.18+.
قبل تشغيل
az connectedk8s connnect
، قم بتشغيل هذا الأمر على نظام المجموعة:oc adm policy add-scc-to-user privileged system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sa
مهلات التثبيت
يتطلب الاتصال مجموعة Kubernetes إلى Kubernetes التي تدعم Azure Arc تثبيت عوامل Azure Arc على نظام المجموعة. إذا كان نظام المجموعة يعمل عبر اتصال إنترنت بطيء، فقد يستغرق سحب صورة الحاوية للوكلاء وقتا أطول من مهلات Azure CLI.
خطأ مهلة Helm
قد ترى الخطأ Unable to install helm release: Error: UPGRADE Failed: time out waiting for the condition
. ولحل هذه المشكلة، جرّب الخطوات التالية:
شغّل الأمر التالي:
kubectl get pods -n azure-arc
تحقق مما إذا كانت
clusterconnect-agent
القرون أوconfig-agent
تظهرcrashloopbackoff
، أو إذا لم تكن جميع الحاويات قيد التشغيل:NAME READY STATUS RESTARTS AGE cluster-metadata-operator-664bc5f4d-chgkl 2/2 Running 0 4m14s clusterconnect-agent-7cb8b565c7-wklsh 2/3 CrashLoopBackOff 0 1m15s clusteridentityoperator-76d645d8bf-5qx5c 2/2 Running 0 4m15s config-agent-65d5df564f-lffqm 1/2 CrashLoopBackOff 0 1m14s
azure-identity-certificate
إذا لم يكن موجودا، لم يتم تثبيت الهوية المدارة المعينة من قبل النظام.kubectl get secret -n azure-arc -o yaml | grep name:
name: azure-identity-certificate
لحل هذه المشكلة، حاول حذف نشر Arc عن طريق تشغيل
az connectedk8s delete
الأمر وإعادة تثبيته. إذا استمرت المشكلة في الحدوث، فقد تكون مشكلة في إعدادات الوكيل. في هذه الحالة، حاول توصيل نظام المجموعة الخاص بك ب Azure Arc عبر وكيل لتوصيل مجموعتك ب Arc عبر وكيل. تحقق أيضا من استيفاء جميع المتطلبات الأساسية للشبكة .clusterconnect-agent
إذا كانت وconfig-agent
pods قيد التشغيل، ولكن الكبسولةkube-aad-proxy
مفقودة، فتحقق من نهج أمان pod. يستخدمazure-arc-kube-aad-proxy-sa
هذا الجراب حساب الخدمة، الذي لا يملك أذونات المسؤول ولكنه يتطلب الإذن لتحميل مسار المضيف.إذا كانت الحاوية
kube-aad-proxy
عالقة فيContainerCreating
الحالة، فتحقق مما إذا كان قد تم تنزيل شهادة kube-aad-proxy على نظام المجموعة.kubectl get secret -n azure-arc -o yaml | grep name:
name: kube-aad-proxy-certificate
إذا كانت الشهادة مفقودة، فاحذف النشر وحاول الإلحاق مرة أخرى، باستخدام اسم مختلف للمجموعة. إذا استمرت المشكلة، افتح طلب دعم.
خطأ في الوحدة النمطية CryptoHash
عند محاولة إلحاق مجموعات Kubernetes بالنظام الأساسي Azure Arc، قد ترجع البيئة المحلية (على سبيل المثال، وحدة تحكم العميل) رسالة الخطأ التالية:
Cannot load native module 'Crypto.Hash._MD5'
في بعض الأحيان، تفشل الوحدات التابعة في التنزيل بنجاح عند إضافة الملحقات connectedk8s
ومن k8s-configuration
خلال Azure CLI أو Azure PowerShell. لإصلاح هذه المشكلة، قم بإزالة الملحقات في البيئة المحلية ثم إضافتها يدويا.
لإزالة الملحقات، استخدم:
az extension remove --name connectedk8s
az extension remove --name k8s-configuration
لإضافة الملحقات، استخدم:
az extension add --name connectedk8s
az extension add --name k8s-configuration
مشكلات اتصال نظام المجموعة
إذا كان نظام المجموعة خلف وكيل أو جدار حماية صادر، فتحقق من تمكين اتصالات websocket ل *.servicebus.windows.net
، وهو أمر مطلوب خصيصا لميزة الاتصال نظام المجموعة. بالإضافة إلى ذلك، تأكد من استخدام أحدث إصدار من connectedk8s
ملحق Azure CLI إذا كنت تواجه مشكلات في استخدام اتصال نظام المجموعة.
clusterconnect-agent
إذا كانت pods و kube-aad-proxy
مفقودتين، فمن المحتمل أن يتم تعطيل ميزة اتصال نظام المجموعة على نظام المجموعة. إذا كان الأمر كذلك، az connectedk8s proxy
سيفشل في إنشاء جلسة عمل مع نظام المجموعة، وقد ترى قراءة خطأ Cannot connect to the hybrid connection because no agent is connected in the target arc resource.
لحل هذا الخطأ، قم بتمكين ميزة اتصال نظام المجموعة على نظام المجموعة:
az connectedk8s enable-features --features cluster-connect -n $CLUSTER_NAME -g $RESOURCE_GROUP
لمزيد من المعلومات، راجع استخدام اتصال نظام المجموعة للاتصال بأمان بمجموعة Kubernetes الممكنة في Azure Arc.
تمكين المواقع المخصصة باستخدام كيان الخدمة
عند توصيل نظام المجموعة الخاص بك ب Azure Arc أو تمكين مواقع مخصصة على مجموعة موجودة، قد ترى التحذير التالي:
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
يحدث هذا التحذير عند استخدام كيان خدمة لتسجيل الدخول إلى Azure، ولا يملك كيان الخدمة الأذونات اللازمة. لتجنب هذا الخطأ، اتبع الخطوات التالية:
سجل الدخول إلى Azure CLI باستخدام حساب المستخدم الخاص بك. استرداد معرف الكائن لتطبيق Microsoft Entra المستخدم بواسطة خدمة Azure Arc:
az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query objectId -o tsv
سجل الدخول إلى Azure CLI باستخدام كيان الخدمة.
<objectId>
استخدم القيمة من الخطوة السابقة لتمكين المواقع المخصصة على نظام المجموعة:- لتمكين المواقع المخصصة عند توصيل نظام المجموعة ب Arc، قم بتشغيل
az connectedk8s connect -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId>
- لتمكين المواقع المخصصة على مجموعة Kubernetes الحالية التي تدعم Azure Arc، قم بتشغيل
az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId> --features cluster-connect custom-locations
- لتمكين المواقع المخصصة عند توصيل نظام المجموعة ب Arc، قم بتشغيل
الخطوات التالية
- احصل على معاينة مرئية لكيفية تشخيص مشكلات الاتصال.
- عرض تلميحات استكشاف الأخطاء وإصلاحها المتعلقة بملحقات نظام المجموعة.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ