إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
Helm أداة تعبئة مفتوحة المصدر تساعدك على تثبيت دورة حياة تطبيقات Kubernetes وإدارتها. على غرار مديري حزمة Linux مثل APT و Yum، يُستخدم Helm لإدارة مخططات Kubernetes، وهي حزم من موارد Kubernetes التي تم تكوينها مسبقاً.
في هذا التشغيل السريع، يمكنك استخدام Helm لحزم وتشغيل تطبيق على AKS. للحصول على معلومات حول تثبيت تطبيق موجود باستخدام Helm، راجع تثبيت التطبيقات الموجودة باستخدام Helm في AKS.
المتطلبات الأساسية
- اشتراك في Azure. إذا لم يكن لديك اشتراك Azure، يمكنك إنشاء حساب مجاني.
- Azure CLI أو Azure PowerShell مثبتة.
- تثبيت Helm v3.
Create an Azure Container Registry
تحتاج إلى تخزين صور الحاويات في Azure Container Registry (ACR) لتشغيل تطبيقك في عنقود AKS باستخدام Helm. يجب أن يكون اسم السجل الخاص بك فريدا داخل Azure ويحتوي على 5-50 حرفا أبجديا رقميا. يسمح بالأحرف الصغيرة فقط. SKU الأساسية هي نقطة الدخول الأمثل من حيث التكلفة لأغراض التنمية التي توفر التوازن بين التخزين والإنتاجية.
أنشئ مجموعة موارد Azure باستخدام أمر az group create. في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus.
az group create --name myResourceGroup --location eastusأنشئ Azure Container Registry باسم فريد عن طريق استدعاء أمر az acr create. ينشئ المثال التالي ACR باسم myhelmacr باستخدام Basic SKU.
az acr create --resource-group myResourceGroup --name myhelmacr --sku Basicيجب أن يبدو الإخراج مشابها لإخراج المثال المكثف التالي. دون قيمة loginServer الخاصة بك ل ACR لاستخدامها في خطوة لاحقة.
{ "adminUserEnabled": false, "creationDate": "2023-12-26T22:36:23.998425+00:00", "id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myhelmacr", "location": "eastus", "loginServer": "myhelmacr.azurecr.io", "name": "myhelmacr", "networkRuleSet": null, "provisioningState": "Succeeded", "resourceGroup": "myResourceGroup", "sku": { "name": "Basic", "tier": "Basic" }, "status": null, "storageAccount": null, "tags": {}, "type": "Microsoft.ContainerRegistry/registries" }
إنشاء نظام مجموعة AKS
يحتاج نظام مجموعة AKS الجديد إلى الوصول إلى ACR لسحب صور الحاوية وتشغيلها.
إنشاء نظام مجموعة AKS باستخدام الأمر az aks create مع المعلمة
--attach-acrلمنح نظام المجموعة حق الوصول إلى ACR الخاص بك. ينشئ المثال التالي مجموعة AKS باسم myAKSCluster ويمنحها حق الوصول إلى myhelmacr ACR. تأكد من استبدالmyhelmacrباسم ACR الخاص بك.az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
قم بالاتصال بمجموعة AKS
لتوصيل مجموعة Kubernetes محليا، يمكنك استخدام عميل سطر أوامر Kubernetes، kubectl.
kubectl مثبت بالفعل إذا كنت تستخدم Azure Cloud Shell.
تثبيت
kubectlمحليا باستخدام الأمر az aks install-cli .az aks install-cliقم بتكوين
kubectlللاتصال بكتلة Kubernetes مستخدماً الأمر az aks get-credentials. يحصل الأمر التالي على بيانات اعتماد لمجموعة AKS المسماة myAKSCluster في myResourceGroup.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
قم بتنزيل نموذج الطلب
يستخدم هذا البدء السريع تطبيق التصويت Azure .
قم باستنساخ التطبيق من GitHub باستخدام أمر
git clone.git clone https://github.com/Azure-Samples/azure-voting-app-redis.gitانتقل إلى
azure-voteالدليل باستخدامcdالأمر .cd azure-voting-app-redis/azure-vote/
إنشاء نموذج التطبيق ودفعه إلى ACR
أنشئ الصورة وادفعها إلى ACR باستخدام الأمر az acr build . ينشئ المثال التالي صورة تسمى azure-vote-front:v1 ويدفعها إلى myhelmacr ACR. تأكد من استبدال
myhelmacrباسم ACR الخاص بك.az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
إشعار
يمكنك أيضا استيراد مخططات Helm إلى ACR الخاص بك. لمزيد من المعلومات، راجع دفع وسحب مخططات الخوذة إلى سجل حاويات Azure.
إنشاء مخطط Helm
أنشئ مخطط Helm باستخدام الأمر
helm create.helm create azure-vote-frontقم بتحديث azure-vote-front/Chart.yaml لإضافة تبعية لمخطط redis من
https://charts.bitnami.com/bitnamiمستودع المخطط وتحديثهappVersionإلىv1، كما هو موضح في المثال التالي:إشعار
تم اختبار إصدارات صورة الحاوية الموضحة في هذا الدليل للعمل مـع هذا المثال ولكن قد لا تكون أحدث إصدار متوفر.
apiVersion: v2 name: azure-vote-front description: A Helm chart for Kubernetes dependencies: - name: redis version: 17.3.17 repository: https://charts.bitnami.com/bitnami ... # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. appVersion: v1قم بتحديث تبعيات مخطط Helm باستخدام
helm dependency updateالأمر .helm dependency update azure-vote-frontتحديث azure-vote-front/values.yaml بالتغييرات التالية.
- إضافة قسم redis لتعيين تفاصيل الصورة ومنفذ الحاوية واسم التوزيع.
- إضافة backendName لربط الجزء الأمامي إلى توزيع redis.
- قم بتغيير مستودع الصور إلى
<loginServer>/azure-vote-front. - قم بتغيير علامة الصورة إلى
v1. - قم بتغيير نوع الخدمة إلى LoadBalancer.
على سبيل المثال:
replicaCount: 1 backendName: azure-vote-backend-master redis: image: registry: mcr.microsoft.com repository: oss/bitnami/redis tag: 6.0.8 fullnameOverride: azure-vote-backend auth: enabled: false image: repository: myhelmacr.azurecr.io/azure-vote-front pullPolicy: IfNotPresent tag: "v1" ... service: type: LoadBalancer port: 80 ...أضف قسما
envإلى azure-vote-front/templates/deployment.yaml لتمرير اسم توزيع redis .... containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: REDIS value: {{ .Values.backendName }} ...
تشغيل مخطط Helm
ثم بتثبيت تطبيقك باستخدام مخطط Helm باستخدام الأمر
helm install.helm install azure-vote-front azure-vote-front/قد يستغرق الأمر بضع دقائق لإرجاع الخدمة لعنوان IP عام. راقب التقدم باستخدام الأمر
kubectl get service مع الوسيطة--watch.kubectl get service azure-vote-front --watchعندما تكون الخدمة جاهزة،
EXTERNAL-IPتتغير القيمة من<pending>إلى عنوان IP. اضغطCTRL+Cلإيقافkubectlعملية المراقبة.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-front LoadBalancer 10.0.18.228 <pending> 80:32021/TCP 6s ... azure-vote-front LoadBalancer 10.0.18.228 52.188.140.81 80:32021/TCP 2m6sانتقل إلى موازن التحميل للتطبيق في مستعرض باستخدام
<EXTERNAL-IP>لرؤية نموذج التطبيق.
قم بحذف نظام المجموعة
قم بإزالة مجموعة الموارد الخاصة بك، ومجموعة AKS، وسجل الحاويات Azure، وصور الحاويات المخزنة في ACR، وجميع الموارد ذات الصلة باستخدام أمر az group delete مع معامل
--yesلتأكيد الحذف، ومعامل--no-waitللعودة إلى موجه الأوامر دون انتظار إتمام العملية.az group delete --name myResourceGroup --yes --no-wait
إشعار
إذا قمت بإنشاء نظام مجموعة AKS الخاص بك بهوية مدارة معينة من قبل النظام (خيار الهوية الافتراضي في هذا التشغيل السريع)، تتم إدارة الهوية بواسطة النظام الأساسي ولا تتطلب إزالة.
إذا قمت بإنشاء نظام مجموعة AKS الخاص بك باستخدام كيان خدمة، فلن تتم إزالة كيان الخدمة عند حذف نظام المجموعة. لإزالة كيان الخدمة، راجع اعتبارات كيان خدمة AKS والحذف.
الخطوات التالية
لمزيد من المعلومات حول استخدام Helm، راجع وثائق Helm.