تدريب - تثبيت مخطط Helm

مكتمل

تسهل مخططات Helm تثبيت التطبيقات الأصلية للسحابة المكونة مسبقا على مجموعة Kubernetes.

في هذا التمرين، ستستخدم Helm لتثبيت تطبيق متجر الحيوانات الأليفة على مجموعة Kubernetes الخاصة بك.

توزيع مخطط Helm

  1. انتقل إلى Azure Cloud Shell وتأكد من أنك في دليل aks-store-demo . إذا لم يكن الأمر كما هو، فقم بالتغيير إلى الدليل باستخدام cd.

    cd aks-store-demo
    
  2. غير إلى المخططات/aks-store-demo directory باستخدام cd.

    cd charts
    
  3. نشر مخطط Helm الأمامي لمتجر الحيوانات الأليفة باستخدام helm install الأمر .

    helm install aks-store-demo ./aks-store-demo
    

    يجب أن يرجع الأمر نتيجة مشابهة للإخراج التالي:

    NAME: aks-store-demo
    LAST DEPLOYED: Tue Feb 20 21:05:51 2024
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    NOTES:
    1. Get the application URL by running these commands:
      export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=aks-store-demo,app.kubernetes.io/instance=storedemo2" -o jsonpath="{.items[0].metadata.name}")
      export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
      echo "Visit http://127.0.0.1:8080 to use your application"
      kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT
    
  4. يسمح لك Helm بالاستعلام عن كل الإصدارات المثبتة على نظام المجموعة. سرد جميع إصدارات Helm باستخدام helm list الأمر .

    helm list
    

    يجب أن يرجع الأمر نتيجة مشابهة للإخراج التالي:

    NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
    aks-store-demo  default         1               2024-02-20 21:05:51.557392349 +0000 UTC deployed        aks-store-demo-0.1.0    1.16.0
    
  5. يسمح لك Helm بإحضار معلومات البيان المتعلقة بكل إصدار. إحضار معلومات البيان باستخدام helm get manifest الأمر .

    helm get manifest aks-store-demo
    

    يجب أن يرجع الأمر نتيجة مشابهة للإخراج المكثف التالي:

    ---
    # Source: aks-store-demo-chart/templates/order-service.yaml
    apiVersion: v1
    kind: Secret
    metadata:
      name: order-service-secret
    ...
    ---
    # Source: aks-store-demo-chart/templates/rabbitmq.yaml
    apiVersion: v1
    kind: Secret
    metadata:
      name: rabbitmq-secret
    ...
    ---
    # Source: aks-store-demo-chart/templates/order-service.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: makeline-service-configmap
    ...
    
  6. تحقق من أن الجراب يتم نشره باستخدام kubectl get pods الأمر .

    kubectl get pods -o wide -w
    

    يجب أن يرجع الأمر نتيجة مشابهة للإخراج التالي:

    NAME                                         READY   STATUS    RESTARTS   AGE     IP            NODE                                NOMINATED NODE   READINESS GATES
    makeline-service-8747ddb89-j6mvz             1/1     Running   0          6m11s   10.244.2.7    aks-nodepool1-41853373-vmss000001   <none>           <none>
    mongodb-0                                    1/1     Running   0          6m11s   10.244.2.3    aks-nodepool1-41853373-vmss000001   <none>           <none>
    order-service-7854888498-mlsvv               1/1     Running   0          6m11s   10.244.2.8    aks-nodepool1-41853373-vmss000001   <none>           <none>
    product-service-5d7d4f5c47-gr4sc             1/1     Running   0          6m11s   10.244.2.6    aks-nodepool1-41853373-vmss000001   <none>           <none>
    rabbitmq-0                                   1/1     Running   0          6m11s   10.244.2.2    aks-nodepool1-41853373-vmss000001   <none>           <none>
    store-admin-894788d77-k5qjw                  1/1     Running   0          6m11s   10.244.2.10   aks-nodepool1-41853373-vmss000001   <none>           <none>
    store-front-6749d8579c-xdkv8                 1/1     Running   0          6m11s   10.244.2.4    aks-nodepool1-41853373-vmss000001   <none>           <none>
    virtual-customer-76c4bb9b7-dq6lc             1/1     Running   0          6m11s   10.244.2.9    aks-nodepool1-41853373-vmss000001   <none>           <none>
    virtual-worker-56b79f9547-9dkm9              1/1     Running   0          6m11s   10.244.2.5    aks-nodepool1-41853373-vmss000001   <none>           <none>
    

    استخدم Ctrl+C للخروج من الأمر بمجرد الانتهاء.

حذف إصدار Helm

  1. احذف إصدار Helm باستخدام helm delete الأمر .

    helm delete aks-store-demo
    

    يجب أن يرجع الأمر نتيجة مشابهة للإخراج التالي:

    release "aks-store-demo" uninstalled
    

تثبيت مخطط Helm مع قيم مجموعة

يمكنك تجاوز قيم مخطط Helm عن طريق تمرير معلمة قيمة أو ملفك الخاص values.yaml . في الوقت الحالي، استخدم الأوامر التالية لمعرفة كيفية تحديث قيمة باستخدام المعلمة --set . ستتعلم كيفية استخدام values.yaml ملف في الوحدة التالية.

  1. قم بتثبيت مخطط Helm باستخدام helm install الأمر مع المعلمة --set لتعيين replicaCount قالب التوزيع إلى خمس نسخ متماثلة.

    helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
    
  2. تحقق من نشر خمس نسخ متماثلة للحجيرة باستخدام kubectl get pods الأمر .

    kubectl get pods -o wide -w
    

    يجب أن يرجع الأمر نتيجة مشابهة للإخراج التالي:

    NAME                                         READY   STATUS     RESTARTS   AGE   IP            NODE                                NOMINATED NODE   READINESS GATES
    aks-store-demo-c8dfddf78-2v8fv               1/1     Running   0          31s   10.244.1.5    aks-nodepool1-41853373-vmss000000   <none>           <none>
    aks-store-demo-c8dfddf78-8t4rq               1/1     Running   0          31s   10.244.2.16   aks-nodepool1-41853373-vmss000001   <none>           <none>
    aks-store-demo-c8dfddf78-h2p8m               1/1     Running   0          31s   10.244.2.15   aks-nodepool1-41853373-vmss000001   <none>           <none>
    aks-store-demo-c8dfddf78-l8qq2               1/1     Running   0          31s   10.244.0.10   aks-nodepool1-41853373-vmss000002   <none>           <none>
    aks-store-demo-c8dfddf78-xwcpw               1/1     Running   0          31s   10.244.0.9    aks-nodepool1-41853373-vmss000002   <none>           <none>
    

    استخدم Ctrl+C للخروج من الأمر بمجرد الانتهاء.

  3. احذف مخطط Helm باستخدام helm delete الأمر .

    helm delete aks-store-demo