الوصول إلى نظام مجموعة Azure Kubernetes Service (AKS) خاص باستخدام الأمر استدعاء أو تشغيل ميزة الأمر
عند الوصول إلى مجموعة AKS خاصة، تحتاج إلى الاتصال بالمجموعة من الشبكة الظاهرية لنظام المجموعة أو شبكة نظيرة أو نقطة نهاية خاصة مكونة. تتطلب هذه الأساليب تكوين شبكة ظاهرية خاصة أو مسار سريع، أو توزيع مربع انتقال سريع داخل الشبكة الظاهرية لنظام المجموعة، أو إنشاء نقطة نهاية خاصة داخل شبكة ظاهرية أخرى.
باستخدام Azure CLI، يمكنك استخدام command invoke
للوصول إلى أنظمة المجموعات الخاصة دون الحاجة إلى تكوين VPN أو Express Route. command invoke
يسمح لك باستدعاء الأوامر عن بعد، مثل kubectl
و helm
، على نظام المجموعة الخاص بك من خلال واجهة برمجة تطبيقات Azure دون الاتصال مباشرة بالمجموعة. Microsoft.ContainerService/managedClusters/runcommand/action
تتحكم الإجراءات و Microsoft.ContainerService/managedclusters/commandResults/read
في أذونات استخدام command invoke
.
باستخدام مدخل Microsoft Azure، يمكنك استخدام الميزة Run command
لتشغيل الأوامر على نظام المجموعة الخاص بك. تستخدم الميزة Run command
نفس command invoke
الوظيفة لتشغيل الأوامر على نظام المجموعة.
الحاوية التي تم إنشاؤها Run command
بواسطة يوفر kubectl
و helm
لتشغيل نظام المجموعة الخاص بك. jq
grep
تتوفر xargs
و و awk
لدعم Bash.
قبل البدء
قبل البدء، تأكد من أن لديك الموارد والأذونات التالية:
- نظام مجموعة خاص موجود. إذا لم يكن لديك واحد، فشاهد إنشاء نظام مجموعة AKS خاص.
- الإصدار 2.24.0 أو إصدار أحدث من واجهة سطر الأوامر في Azure. قم بتشغيل
az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. - الوصول إلى أدوار
Microsoft.ContainerService/managedClusters/runcommand/action
وMicrosoft.ContainerService/managedclusters/commandResults/read
على نظام المجموعة.
القيود
تم تصميم هذه الميزة لتبسيط الوصول إلى نظام المجموعة ولم يتم تصميمها للوصول البرمجي. إذا كان لديك برنامج يستدعي Kubernetes باستخدام Run command
، فإن العيوب التالية تنطبق:
- تحصل فقط على exitCode وإخراج النص، وتفقد تفاصيل مستوى واجهة برمجة التطبيقات.
- تقدم قفزة إضافية واحدة نقاط فشل إضافية.
يتم ترميز الحاوية Run command
التي تم إنشاؤها بواسطة مع طلب و 500Mi memory
وحدود 500m CPU
1Gi memory
.200m CPU
في حالات نادرة حيث تكون جميع العقدة الخاصة بك معبأة، لا يمكن جدولة الجراب ضمن قيود API ARM التي تبلغ 60 ثانية. وهذا يعني أن سيفشل Run command
، حتى إذا تم تكوينه للتحجيم التلقائي.
command invoke
يقوم بتشغيل الأوامر من نظام المجموعة الخاص بك، بحيث تخضع أي أوامر يتم تشغيلها بهذه الطريقة لقيود الشبكات المكونة وأي قيود أخرى تم تكوينها. تأكد من وجود ما يكفي من العقد والموارد في نظام المجموعة لجدولة هذا الأمر pod.
إشعار
يقتصر إخراج على command invoke
512 كيلوبايت في الحجم.
تشغيل الأوامر على نظام مجموعة AKS
استخدام command invoke
لتشغيل أمر واحد
قم بتشغيل أمر على نظام المجموعة باستخدام
az aks command invoke --command
الأمر . يقوم الأمر المثال التالي بتشغيلkubectl get pods -n kube-system
الأمر على مجموعة myPrivateCluster في myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl get pods -n kube-system"
استخدام command invoke
لتشغيل أوامر متعددة
قم بتشغيل أوامر متعددة على نظام المجموعة باستخدام
az aks command invoke --command
الأمر . يقوم الأمر المثال التالي بتشغيل ثلاثةhelm
أوامر على مجموعة myPrivateCluster في myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update && helm install my-release bitnami/nginx"
استخدم command invoke
لتشغيل الأوامر مع ملف مرفق أو دليل مرفق
قم بتشغيل الأوامر باستخدام ملف أو دليل مرفق باستخدام
az aks command invoke --command
الأمر مع المعلمة--file
. يتم تشغيلkubectl apply -f deployment.yaml -n default
الأمر المثال التالي على مجموعة myPrivateCluster في myResourceGroup.deployment.yaml
يتم إرفاق الملف من الدليل الحالي على كمبيوتر التطوير حيثaz aks command invoke
تم تشغيله.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml -n default" \ --file deployment.yaml
استخدم command invoke
لتشغيل الأوامر مع إرفاق كافة الملفات في الدليل الحالي
قم بتشغيل الأوامر مع كافة الملفات في الدليل الحالي المرفقة باستخدام
az aks command invoke --command
الأمر مع المعلمة--file
. يتم تشغيلkubectl apply -f deployment.yaml configmap.yaml -n default
الأمر المثال التالي على مجموعة myPrivateCluster في myResourceGroup. تعدdeployment.yaml
الملفات وconfigmap.yaml
جزءا من الدليل الحالي على كمبيوتر التطوير حيثaz aks command invoke
تم تشغيله.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml configmap.yaml -n default" \ --file .
استكشاف الأخطاء وإصلاحها
للحصول على معلومات حول المشكلات الأكثر شيوعا وكيفية az aks command invoke
إصلاحها، راجع حل az aks command invoke
حالات الفشل.
الخطوات التالية
في هذه المقالة، تعلمت كيفية الوصول إلى مجموعة خاصة وتشغيل الأوامر على نظام المجموعة هذا. لمزيد من المعلومات حول مجموعات AKS، راجع المقالات التالية:
Azure Kubernetes Service