حدث
١٧ رمضان، ٩ م - ٢١ رمضان، ١٠ ص
انضم إلى سلسلة الاجتماعات لإنشاء حلول الذكاء الاصطناعي قابلة للتطوير استنادا إلى حالات الاستخدام في العالم الحقيقي مع المطورين والخبراء الآخرين.
تسجيل الآنلم يعد هذا المتصفح مدعومًا.
بادر بالترقية إلى Microsoft Edge للاستفادة من أحدث الميزات والتحديثات الأمنية والدعم الفني.
Helm أداة تعبئة مفتوحة المصدر تساعدك على تثبيت دورة حياة تطبيقات Kubernetes وإدارتها. على غرار مديري حزم Linux، مثل APT وYum، يمكنك استخدام Helm لإدارة مخططات Kubernetes، وهي حزم من موارد Kubernetes التي تم تكوينها مسبقا.
توضح هذه المقالة كيفية تكوين Helm واستخدامه في مجموعة Kubernetes على خدمة Azure Kubernetes (AKS).
هام
يهدف Helm إلى التشغيل على عقد Linux. إذا كان لديك عقد Windows Server في نظام المجموعة، يجب التأكد من جدولة Helm pods فقط للتشغيل على عقد Linux. تحتاج أيضًا إلى التأكد من جدولة أي مخططات Helm تقوم بتثبيتها أيضًا للتشغيل على العقد الصحيحة. تستخدم الأوامر الواردة في هذه المقالة محددات العقدة للتأكد من جدولة pods إلى العقد الصحيحة، ولكن ليس كل مخططات Helm قد تعرض محدد عقدة. يمكنك أيضا التفكير في استخدام خيارات أخرى على نظام المجموعة، مثل العيوب.
helm version
استخدم الأمر للتحقق من تثبيت Helm 3.
helm version
يظهر إخراج المثال التالي إصدار Helm 3.0.0 المثبت:
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}
أضف مستودع ingress-nginx باستخدام أمر helm repo.
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
ابحث عن مخططات Helm التي تم إنشاؤها مسبقا باستخدام أمر بحث helm.
helm search repo ingress-nginx
يظهر إخراج المثال التالي بعض مخططات Helm المتوفرة للاستخدام:
NAME CHART VERSION APP VERSION DESCRIPTION
ingress-nginx/ingress-nginx 4.7.0 1.8.0 Ingress controller for Kubernetes using NGINX a...
قم بتحديث قائمة المخططات باستخدام أمر تحديث helm repo.
helm repo update
يظهر إخراج المثال التالي تحديث مستودع ناجح:
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
Update Complete. ⎈ Happy Helming!⎈
تستخدم هذه المقالة مخطط Helm لوحدة تحكم دخول NGINX، والذي يعتمد على ثلاث صور للحاوية.
استخدم az acr import
لاستيراد صور وحدة تحكم دخول NGINX إلى ACR الخاص بك.
REGISTRY_NAME=<REGISTRY_NAME>
CONTROLLER_REGISTRY=registry.k8s.io
CONTROLLER_IMAGE=ingress-nginx/controller
CONTROLLER_TAG=v1.8.0
PATCH_REGISTRY=registry.k8s.io
PATCH_IMAGE=ingress-nginx/kube-webhook-certgen
PATCH_TAG=v20230407
DEFAULTBACKEND_REGISTRY=registry.k8s.io
DEFAULTBACKEND_IMAGE=defaultbackend-amd64
DEFAULTBACKEND_TAG=1.5
az acr import --name $REGISTRY_NAME --source $CONTROLLER_REGISTRY/$CONTROLLER_IMAGE:$CONTROLLER_TAG --image $CONTROLLER_IMAGE:$CONTROLLER_TAG
az acr import --name $REGISTRY_NAME --source $PATCH_REGISTRY/$PATCH_IMAGE:$PATCH_TAG --image $PATCH_IMAGE:$PATCH_TAG
az acr import --name $REGISTRY_NAME --source $DEFAULTBACKEND_REGISTRY/$DEFAULTBACKEND_IMAGE:$DEFAULTBACKEND_TAG --image $DEFAULTBACKEND_IMAGE:$DEFAULTBACKEND_TAG
ملاحظة
إلى جانب استيراد صور الحاويات إلى ACR الخاص بك، يمكنك أيضاً استيراد مخططات Helm إلى ACR الخاص بك. لمزيد من المعلومات، راجع «Push and pull Helm charts» إلى سجل حاويات Azure Container Registry.
قم بتثبيت مخططات Helm باستخدام أمر تثبيت helm وحدد اسم الإصدار واسم المخطط المراد تثبيته.
تلميح
ينشئ المثال التالي مساحة اسم Kubernetes لموارد الدخول التي تحمل اسم ingress-basic وتهدف إلى العمل ضمن مساحة الاسم. حدد مساحة االاسم للبيئة الخاصة بك حسب الحاجة.
ACR_URL=<REGISTRY_URL>
# Create a namespace for your ingress resources
kubectl create namespace ingress-basic
# Use Helm to deploy an NGINX ingress controller
helm install ingress-nginx ingress-nginx/ingress-nginx \
--version 4.0.13 \
--namespace ingress-basic \
--set controller.replicaCount=2 \
--set controller.nodeSelector."kubernetes\.io/os"=linux \
--set controller.image.registry=$ACR_URL \
--set controller.image.image=$CONTROLLER_IMAGE \
--set controller.image.tag=$CONTROLLER_TAG \
--set controller.image.digest="" \
--set controller.admissionWebhooks.patch.nodeSelector."kubernetes\.io/os"=linux \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \
--set controller.admissionWebhooks.patch.image.registry=$ACR_URL \
--set controller.admissionWebhooks.patch.image.image=$PATCH_IMAGE \
--set controller.admissionWebhooks.patch.image.tag=$PATCH_TAG \
--set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
--set defaultBackend.image.registry=$ACR_URL \
--set defaultBackend.image.image=$DEFAULTBACKEND_IMAGE \
--set defaultBackend.image.tag=$DEFAULTBACKEND_TAG \
--set defaultBackend.image.digest=""
يظهر إخراج المثال المكثف التالي حالة نشر موارد Kubernetes التي تم إنشاؤها بواسطة مخطط Helm:
NAME: nginx-ingress
LAST DEPLOYED: Wed Jul 28 11:35:29 2021
NAMESPACE: ingress-basic
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace ingress-basic get services -o wide -w nginx-ingress-ingress-nginx-controller'
...
احصل على EXTERNAL-IP للخدمة kubectl get services
الخاصة بك باستخدام الأمر .
kubectl --namespace ingress-basic get services -o wide -w ingress-nginx-ingress-nginx-controller
يظهر إخراج المثال التالي EXTERNAL-IP لخدمة ingress-nginx-ingress-nginx-controller :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
nginx-ingress-ingress-nginx-controller LoadBalancer 10.0.254.93 <EXTERNAL_IP> 80:30004/TCP,443:30348/TCP 61s app.kubernetes.io/component=controller,app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=ingress-nginx
احصل على قائمة الإصدارات المثبتة على نظام المجموعة باستخدام helm list
الأمر .
helm list --namespace ingress-basic
يظهر إخراج المثال التالي إصدار ingress-nginx المنشور في الخطوة السابقة:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
ingress-nginx ingress-basic 1 2021-07-28 11:35:29.9623734 -0500 CDT deployed ingress-nginx-3.34.0 0.47.0
يؤدي نشر مخطط Helm إلى إنشاء موارد Kubernetes مثل الحجيرات والنشرات والخدمات.
قم بتنظيف الموارد باستخدام الأمر helm uninstall وحدد اسم الإصدار الخاص بك.
helm uninstall --namespace ingress-basic ingress-nginx
يظهر إخراج المثال التالي أن الإصدار المسمى ingress-nginx قد تم إلغاء تثبيته:
release "nginx-ingress" uninstalled
احذف عينة مساحة الاسم بأكملها مع الموارد باستخدام kubectl delete
الأمر وحدد اسم مساحة الاسم.
kubectl delete namespace ingress-basic
لمزيد من المعلومات حول إدارة عمليات نشر تطبيقات Kubernetes مع Helm، راجع وثائق Helm.
ملاحظات Azure Kubernetes Service
Azure Kubernetes Service هو مشروع مصدر مفتوح. حدد رابطًا لتقديم الملاحظات:
حدث
١٧ رمضان، ٩ م - ٢١ رمضان، ١٠ ص
انضم إلى سلسلة الاجتماعات لإنشاء حلول الذكاء الاصطناعي قابلة للتطوير استنادا إلى حالات الاستخدام في العالم الحقيقي مع المطورين والخبراء الآخرين.
تسجيل الآنالتدريب
مسار التعلم
Introduction to Kubernetes on Azure - Training
Learn about the basics of Docker containers, container orchestration with Kubernetes, and managed clusters on Azure Kubernetes Service.
الشهادة
Microsoft Certified: Azure Administrator Associate - Certifications
Demonstrate key skills to configure, manage, secure, and administer key professional functions in Microsoft Azure.