Skip to content

Latest commit

 

History

History
306 lines (217 loc) · 11.1 KB

hello-minikube.md

File metadata and controls

306 lines (217 loc) · 11.1 KB
title content_type weight menu card
مرحبًا، مينيكيوب
tutorial
5
main
title weight post
ابدأ الآن
10
<p>مستعد للبدء؟ قم ببناء عنقود كوبيرنيتيس بسيط لتشغيل تطبيق تجريبي .</p>
name weight
tutorials
10

يعرض هذا الدليل كيفية تشغيل تطبيق تجريبي على كوبيرنيتيس باستخدام مينيكيوب. يقدم الدليل صورة حاوية لإنجينكس (Nginx) لإعادة توجيه جميع الطلبات على الشبكة.

{{% heading "objectives" %}}

  • نشر تطبيق تجريبي على عنقود مينيكيوب.
  • تشغيل التطبيق.
  • عرض سجلات التطبيق.

{{% heading "prerequisites" %}}

يفترض هذا البرنامج التعليمي أنك قمت بإعداد مينيكيوب مسبقاً. راجع تعليمات الإعداد في الخطوة 1 من بدء مينيكيوب للحصول على تعليمات التثبيت.

{{< note >}} قم بتنفيذ التعليمات فقط في الخطوة 1، التثبيت. الباقي مغطى في هذه الصفحة. {{< /note >}}

كما يتعين عليك تثبيت kubectl. يرجى مراجعة تثبيت الأدوات للحصول على تعليمات التثبيت.

إنشاء عنقود مينيكيوب

minikube start

فتح لوحة المعلومات

افتح لوحة معلومات كوبيرنيتيس. يمكنك فعل ذلك بطريقتين مختلفتين:

{{< tabs name="dashboard" >}} {{% tab name="Launch a browser" %}} افتح *سطر أوامر جديد، وقم بتشغيل:

# ابدأ سطر أوامر جديد واترك هذا الأمر يعمل.
minikube dashboard

الآن، قم بالتبديل إلى سطر الأوامر حيث قمت بتشغيل minikube start.

{{% /tab %}} {{< /tabs >}}

نشر التطبيق

الحجيرة في كوبيرنيتيس هي مجموعة تتكون من حاوية واحدة أو عدة حاويات، مرتبطة معاً لأغراض الإدارة والشبكات. الحجيرة في هذا البرنامج التعليمي تحتوي على حاوية واحدة فقط. النشر في كوبيرنيتيس هو وحدة تتولى إنشاء وإدارة وتحجيم الحجيرات، وهي الأداة الموصى باستخدامها لتلك الأغراض. يحافظ النشر على صحة حجيرتك ويعيد تشغيل الحاويات داخلها إذا توقفت.

  1. استخدم أمر kubectl create لإنشاء نشر يدير حجيرة. تعمل الحجيرة على حاوية مبنية على صورة دوكر الآتية:

    # شَغِل صورة حاوية تتضمن خادم شبكة الويب لفحص النظام
    kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080
  2. عرض النشر:

    kubectl get deployments

    :سيبدو الناتج مشابهاً للتالي

    NAME         READY   UP-TO-DATE   AVAILABLE   AGE
    hello-node   1/1      1            1           1m
  3. عرض الحجيرات:

    kubectl get pods

    :سيبدو الناتج مشابهاً للتالي

    NAME                          READY     STATUS    RESTARTS   AGE
    hello-node-5f76cf6ccf-br9b5   1/1       Running   0          1m
  4. عرض أحداث العنقود:

    kubectl get events
  5. عرض إعدادات kubectl:

    kubectl config view
  6. عرض سجلات التطبيق لحاوية في حجيرة.

    kubectl logs hello-node-5f76cf6ccf-br9b5

    :سيبدو الناتج مشابهاً للتالي

    I0911 09:19:26.677397       1 log.go:195] Started HTTP server on port 8080
    I0911 09:19:26.677586       1 log.go:195] Started UDP server on port  8081

{{< note >}} لمزيد من المعلومات حول أوامر kubectl، انظر نظرة عامة على kubectl. {{< /note >}}

إنشاء خدمة

تتاح الحجيرة طبيعياً فقط عبر عنوان بروتوكول الإنترنت (IP) الداخلي للعنقود. لإتاحة حاوية hello-node خارج الشبكة الافتراضية للعنقود، يجب عليك إبراز الحجيرة كخدمة كوبيرنيتيس.

  1. قم بإبراز الحجيرة للإنترنت العام باستخدام أمر kubectl expose:

    kubectl expose deployment hello-node --type=LoadBalancer --port=8080

    العلم --type=LoadBalancer يشير إلى أنك تريد بإبراز خدمتك خارج العنقود.

    الكود التطبيقي داخل صورة الاختبار يستمع فقط على منفذ TCP 8080. إذا استخدمت kubectl expose لتعريض منفذ مختلف، لن يتمكن العملاء من الاتصال بذلك المنفذ الآخر.

  2. عرض الخدمة التي أنشأتها:

    kubectl get services

    :سيبدو الناتج مشابهاً للتالي

    NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    hello-node   LoadBalancer   10.108.144.78   <pending>     8080:30369/TCP   21s
    kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          23m

    على مزودي الخدمة السحابية التي تدعم موزع الحمل، سيتم توفير عنوان (ب إي) خارجي للوصول إلى الخدمة. في حالة استخدام مينيكيوب، يجعل النوع LoadBalancer الخدمة متاحة من خلال الأمر minikube service.

  3. قم بتشغيل الأمر التالي:

    minikube service hello-node

    هذا يفتح نافذة متصفح تخدم تطبيقك وتعرض استجابة التطبيق.

تفعيل الإضافات

يتضمن برنامج مينيكيوب مجموعة من الإضافات المدمجة التي يمكن تفعيلها، تعطيلها وفتحها في بيئة كوبيرنيتيس المحلية.

  1. سرد الإضافات المدعومة حالياً:

    minikube addons list

    :سيبدو الناتج مشابهاً للتالي

    addon-manager: enabled
    dashboard: enabled
    default-storageclass: enabled
    efk: disabled
    freshpod: disabled
    gvisor: disabled
    helm-tiller: disabled
    ingress: disabled
    ingress-dns: disabled
    logviewer: disabled
    metrics-server: disabled
    nvidia-driver-installer: disabled
    nvidia-gpu-device-plugin: disabled
    registry: disabled
    registry-creds: disabled
    storage-provisioner: enabled
    storage-provisioner-gluster: disabled
    1. تفعيل إضافة، على سبيل المثال، metrics-server:
    minikube addons enable metrics-server

    :سيبدو الناتج مشابهاً للتالي

    The 'metrics-server' addon is enabled
  2. عرض الحجيرة والخدمة التي أُنشِئت نتيجة تفعيل تلك الإضافة:

    kubectl get pod,svc -n kube-system

    :سيبدو الناتج مشابهاً للتالي

    NAME                                        READY     STATUS    RESTARTS   AGE
    pod/coredns-5644d7b6d9-mh9ll                1/1       Running   0          34m
    pod/coredns-5644d7b6d9-pqd2t                1/1       Running   0          34m
    pod/metrics-server-67fb648c5                1/1       Running   0          26s
    pod/etcd-minikube                           1/1       Running   0          34m
    pod/influxdb-grafana-b29w8                  2/2       Running   0          26s
    pod/kube-addon-manager-minikube             1/1       Running   0          34m
    pod/kube-apiserver-minikube                 1/1       Running   0          34m
    pod/kube-controller-manager-minikube        1/1       Running   0          34m
    pod/kube-proxy-rnlps                        1/1       Running   0          34m
    pod/kube-scheduler-minikube                 1/1       Running   0          34m
    pod/storage-provisioner                     1/1       Running   0          34m
    
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
    service/metrics-server         ClusterIP   10.96.241.45    <none>        80/TCP              26s
    service/kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP       34m
    service/monitoring-grafana     NodePort    10.99.24.54     <none>        80:30002/TCP        26s
    service/monitoring-influxdb    ClusterIP   10.111.169.94   <none>        8083/TCP,8086/TCP   26s
  3. تحقق من الناتج من metrics-server:

    kubectl top pods

    :سيبدو الناتج مشابهاً للتالي

    NAME                         CPU(cores)   MEMORY(bytes)   
    hello-node-ccf4b9788-4jn97   1m           6Mi             

    إذا رأيت الرسالة التالية، انتظر وحاول مرة أخرى:

    error: Metrics API not available
  4. تعطيل metrics-server:

    minikube addons disable metrics-server

    :سيبدو الناتج مشابهاً للتالي

    metrics-server was successfully disabled

إزالة الموارد

الآن يمكنك إزالة الموارد التي أنشأتها في عنقودك:

kubectl delete service hello-node
kubectl delete deployment hello-node

إيقاف عنقود مينيكيوب

minikube stop

اختياريًا، حذف خادم الافتراضي الخاص بـ مينيكيوب:

# اختياري
minikube delete

إذا كنت ترغب في استخدام مينيكيوب مرة أخرى لتعلم المزيد عن كوبيرنيتيس، فلا حاجة لحذفه.

الختام

تمت تغطية الجوانب الأساسية للحصول على عنقود مينيكيوب جاهزًا للتشغيل. أنت الآن جاهز لنشر التطبيقات.

{{% heading "whatsnext" %}}