مشاركة عبر


الشرح التعليمي: تكوين حجم صوت الحافة المشتركة المحلية (معاينة)

في هذا البرنامج التعليمي، ستتعلم كيفية تكوين وحدة تخزين الحافة المشتركة المحلية. يوفر نوع وحدة التخزين هذا تخزين read-write-many، محليا إلى مجموعة Kubernetes الخاصة بك. يظل نوع التخزين المشترك هذا مستقلا عن البنية التحتية السحابية، مما يجعله مثاليا لمساحة التسويد والتخزين المؤقت والبيانات الثابتة محليا غير المناسبة للوجهات السحابية. كما أنها وجهة جيدة للبيانات التي يتم العمل عليها أو تغييرها أو معالجتها على الحافة.

يغطي البرنامج التعليمي المهام التالية:

  • إنشاء وحدة تخزين حافة مشتركة محلية PVC
  • إنشاء مثال على التوزيع
  • اتصل بالكبسولة الخاصة بك
  • كتابة نموذج ملف

المتطلبات الأساسية

إنشاء وحدة تخزين حافة مشتركة محلية PVC

ينشئ هذا القسم مطالبة وحدة تخزين ثابتة، أو PVC، لوحدة التخزين المشتركة المحلية. يمكنك تحديد مقدار المساحة التي تريد توفيرها لهذا المجلد.

إنشاء ملف باسم localSharedPVC.yaml بالمحتويات التالية. قم بتعديل metadata.name القيمة باسم لمطالبة وحدة التخزين الثابتة. ثم ، في السطر 8 ، حدد مساحة الاسم التي تطابق الجراب المستهلك المقصود. تتم الإشارة إلى metadata.name القيمة في السطر الأخير في deploymentExample.yaml الخطوة التالية. تحدد المعلمة spec.resources.requests.storage حجم الحجم الثابت. تبلغ سهابها 2 غيغابايت في هذا المثال، ولكن يمكن تعديلها لتناسب احتياجاتك:

إشعار

استخدم الأحرف الصغيرة والشرطات فقط. لمزيد من المعلومات، راجع وثائق تسمية كائن Kubernetes.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  ### Create a name for your PVC ###
  name: <create-a-pvc-name-here>
  ### Use a namespace that matches your intended consuming pod, or "default" ###
  namespace: <intended-consuming-pod-or-default-here>
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 2Gi
  storageClassName: unbacked-sc

بعد ذلك، قم بتشغيل هذا الأمر لتطبيق ملف YAML وإنشاء PVC:

kubectl apply -f "localSharedPVC.yaml"

إنشاء مثال على النشر أو استخدام النشر الخاص بك

إذا كان لديك بالفعل تطبيق للنشر ضده ، فيمكنك استخدامه هنا. من أجل البساطة وللبدء ، نقوم بتضمين مثال على النشر هنا. لإنشاء توزيع باستخدام مثال التكوين الخاص بنا، قم بإنشاء ملف باسم deploymentExample.yaml بالمحتويات التالية. إضافة قيم ل containers.name و volumes.persistentVolumeClaim.claimName. تحدد المعلمة spec.replicas عدد جراب النسخ المتماثلة المراد إنشاؤها. إنه 2 في هذا المثال ، ولكن يمكن تعديله ليناسب احتياجاتك:

إشعار

استخدم الأحرف الصغيرة والشرطات فقط. لمزيد من المعلومات، راجع وثائق تسمية كائن Kubernetes.

apiVersion: apps/v1 
kind: Deployment 
metadata: 
  name: localsharededgevol-deployment ### This will need to be unique for every volume you choose to create 

spec: 
  replicas: 2 
  selector: 
    matchLabels: 
      name: wyvern-testclientdeployment 
  template: 
    metadata: 
      name: wyvern-testclientdeployment 
      labels: 
        name: wyvern-testclientdeployment 
    spec: 
      affinity: 
        podAntiAffinity: 
          requiredDuringSchedulingIgnoredDuringExecution: 
            - labelSelector: 
                matchExpressions: 
                  - key: app 
                    operator: In 
                    values: 
                      - wyvern-testclientdeployment 
              topologyKey: kubernetes.io/hostname 
      containers: 

        ### Specify the container in which to launch the busy box. ### 
        - name: <create-a-container-name-here> 
          image: 'mcr.microsoft.com/mirror/docker/library/busybox:1.35' 
          command: 
            - "/bin/sh" 
            - "-c" 
            - "dd if=/dev/urandom of=/data/acsalocalsharedtestfile count=16 bs=1M && while true; do ls /data &>/dev/null || break; sleep 1; done" 
          volumeMounts: 

            ### This name must match the following volumes::name attribute ### 
            - name: wyvern-volume 

              ### This mountPath is where the PVC will be attached to the pod's filesystem ### 
              mountPath: /data 
      volumes: 

        ### User-defined name that is used to link the volumeMounts. This name must match volumeMounts::name as previously specified. ### 
        - name: wyvern-volume 
          persistentVolumeClaim: 

            ### This claimName must refer to your PVC metadata::name from lsevPVC.yaml. 
            claimName: <your-pvc-metadata-name-from-line-5-of-pvc-yaml>

بعد ذلك، قم بتشغيل هذا الأمر لتطبيق ملف YAML وإنشاء التوزيع:

kubectl apply -f "deploymentExample.yaml"

اتصل بالكبسولة الخاصة بك

اركض kubectl get pods للعثور على اسم الكبسولة. انسخ هذا الاسم، كما هو مطلوب في الخطوة التالية.

إشعار

لأنه spec::replicas من deploymentExample.yaml تم تحديده على أنه 2، يظهر جرابن باستخدام kubectl get pods. يمكنك استخدام أي من اسمي الكبسولة للخطوة التالية.

قم بتشغيل الأمر التالي واستبدل POD_NAME_HERE بالقيمة المنسوخة من الخطوة السابقة:

kubectl exec -it POD_NAME_HERE -- sh 

قم بتغيير الدلائل إلى مسار التحميل /data ، كما هو محدد في deploymentExample.yaml.

كتابة مثال على ملف

الآن بعد أن أصبحت متصلا بالجرابة وفي مسار التحميل ، تظهر أي ملفات تكتبها هنا في وحدة التخزين الخاصة بك.

على سبيل المثال ، قم بإنشاء ملف باسم file1.txt واكتب إليه باستخدام echo "Hello World" > file1.txt.

يمكنك الآن أن ترى أن الملف الذي كتبته موجود في الدليل.

الخطوات التالية

بعد إكمال هذه الخطوات، ابدأ في مراقبة التوزيع باستخدام Azure Monitor وKubernetes Monitoring، أو مراقبة الجهات الخارجية باستخدام Prometheus وGrafana.