Skip to content

Commit

Permalink
Translate tutorials pages to arabic
Browse files Browse the repository at this point in the history
  • Loading branch information
seifrajhi authored and saifeddine.rajhi committed Feb 20, 2024
1 parent 4b53bbd commit 6478a66
Show file tree
Hide file tree
Showing 2 changed files with 363 additions and 0 deletions.
60 changes: 60 additions & 0 deletions content/ar/docs/tutorials/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: برامج تعليمية
main_menu: true
no_list: true
weight: 60
content_type: concept
---

<!-- overview -->

يحتوي هذا القسم من وثائق كوبيرنيتيس على برامج تعليمية.

يُظهر البرنامج التعليمي كيفية تحقيق هدف يتجاوز مجرد [مهمة](/docs/tasks/). عادة يحتوي البرنامج التعليمي على أقسام مختلفة، ويحتوي كل قسم على خطوات مختلفة.

قبل استكشاف كل درس، قد يكون من الفائدة الاحتفاظ بعلامة مرجعية للـ [المعجم الموحد](/docs/reference/glossary/) لتسهيل الرجوع إليه لاحقًا.

<!-- body -->

## العناصر الأساسية

* [أساسيات كوبيرنيتيس](/docs/tutorials/kubernetes-basics/) هو برنامج تعليمي تفاعلي مفصل سيساعدك على فهم نظام كوبيرنيتيس والبدء باستخدام ميزات كوبيرنيتيس الأساسية.

* [تمهيد إلى كوبيرنيتيس (edX) (EN)](https://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x#)

* [مرحبًا، مينيكيوب](/ar/docs/tutorials/hello-minikube/)

## الإعدادات

* [مثال: كوبيرنيتيسإعداد خدمة مصغرة جافا](/docs/tutorials/configuration/configure-java-microservice/)
* [تهيئة ريديس باستخدام خرائط الإعدادات](/docs/tutorials/configuration/configure-redis-using-configmap/)

## التطبيقات عديمة الحالة

* [كشف عنوان IP الخارجي للوصول إلى تطبيق في عنقود](/docs/tutorials/stateless-application/expose-external-ip-address/)
* [مثال: نشر تطبيق دفتر زوار PHP مع Redis](/docs/tutorials/stateless-application/guestbook/)

## التطبيقات ذات الحالة

* [أساسيات مجموعة ذات الحالة](/docs/tutorials/stateful-application/basic-stateful-set/)
* [مثال: ووردبريس و MySQL مع أحجام مخزن دائمة](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)
* [مثال: نشر كاساندرا باستخدام مجموعات ذات الحالة](/docs/tutorials/stateful-application/cassandra/)
* [تشغيل ZooKeeper، نظام موزع من نوع CP](/docs/tutorials/stateful-application/zookeeper/)

## الخدمات

* [ربط التطبيقات بالخدمات](/docs/tutorials/services/connect-applications-service/)
* [استخدام عنوان IP المصدر](/docs/tutorials/services/source-ip/)

## الأمن

* [تطبيق معايير أمان الحاوية على مستوى المجموعة](/docs/tutorials/security/cluster-level-pss/)
* [تطبيق معايير أمان الحاوية على مستوى النطاق](/docs/tutorials/security/ns-level-pss/)
* [AppArmor](/docs/tutorials/security/apparmor/)
* [Seccomp](/docs/tutorials/security/seccomp/)

## {{% heading "whatsnext" %}}

إذا كنت ترغب في كتابة درس تعليمي، يرجى الاطلاع على
[أنواع صفحات المحتوى](/docs/contribute/style/page-content-types/)
للحصول على معلومات حول نوع صفحة الدرس التعليمي.
303 changes: 303 additions & 0 deletions content/ar/docs/tutorials/hello-minikube.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,303 @@
---
title: مرحبًا، مينيكيوب
content_type: tutorial
weight: 5
menu:
main:
title: "ابدأ الآن"
weight: 10
post: >
<p>مستعد للبدء؟ قم ببناء عنقود كوبيرنيتيس بسيط لتشغيل عينة تطبيق .</p>
card:
name: tutorials
weight: 10
---

<!-- overview -->

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

## {{% heading "objectives" %}}

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

## {{% heading "prerequisites" %}}

يفترض هذا البرنامج التعليمي أنك قد قمت بإعداد `مينيكيوب` بالفعل.
يرجى الرجوع إلى __الخطوة 1__ في [بدء مينيكيوب](https://minikube.sigs.k8s.io/docs/start/) للحصول على تعليمات التثبيت.

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

كما يتعين عليك تثبيت `kubectl`.
يرجى الرجوع إلى [تثبيت الأدوات](/docs/tasks/tools/#kubectl) للحصول على تعليمات التثبيت.

<!-- lessoncontent -->

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

```shell
minikube start
```

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

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

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

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

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

## نشر التطبيق

[*حجيرة*](/docs/concepts/workloads/pods/) كوبيرنيتيس هي مجموعة من حاويات واحدة أو أكثر، مرتبطة معًا لأغراض الإدارة والشبكات. الحجيرة في هذا البرنامج التعليمي لديها حاوية واحدة فقط. يتحقق [*النشر*](/docs/concepts/workloads/controllers/deployment/) في كوبيرنيتيس من صحة حجيرتك ويعيد تشغيل حاوية الحجيرة إذا انتهت. النشر هو الطريقة الموصى بها لإدارة إنشاء و تحجيم الحجائر.

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

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

1. عرض النشر:

```shell
kubectl get deployments
```

الناتج مشابه للتالي:

```shell
NAME READY UP-TO-DATE AVAILABLE AGE
hello-node 1/1 1 1 1m
```

1. عرض الحجيرات:

```shell
kubectl get pods
```

الناتج مشابه للتالي:

```shell
NAME READY STATUS RESTARTS AGE
hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m
```

1. عرض أحداث العنقود:

```shell
kubectl get events
```

1. عرض إعدادات `kubectl`:

```shell
kubectl config view
```

1. عرض سجلات التطبيق لحاوية في حجيرة.

```shell
kubectl logs hello-node-5f76cf6ccf-br9b5
```

الناتج مشابه للتالي:

```shell
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](/docs/reference/kubectl/).
{{< /note >}}

## إنشاء خدمة

بشكل افتراضي، الحجيرة متاحة فقط عبر عنوان بروتوكول الإنترنت (ب إي) الداخلي ضمن العنقود الخاص بكوبيرنيتيس. لجعل حاوية `hello-node` متاحة من خارج الشبكة الافتراضية لكوبيرنيتيس، يجب عليك تعريض الحجيرة ك[*خدمة*](/docs/concepts/services-networking/service/) كوبيرنيتيس.

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

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

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

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

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

```shell
kubectl get services
```

الناتج مشابه للتالي:

```shell
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. قم بتشغيل الأمر التالي:

```shell
minikube service hello-node
```

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

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

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

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

```shell
minikube addons list
```

الناتج مشابه للتالي:

```shell
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`:

```shell
minikube addons enable metrics-server
```

الناتج مشابه للتالي:

```shell
The 'metrics-server' addon is enabled
```

1. عرض الحجيرة والخدمة التي أنشأتها من خلال تثبيت تلك الإضافة:

```shell
kubectl get pod,svc -n kube-system
```

الناتج مشابه للتالي:

```shell
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
```

1. تحقق من الناتج من `metrics-server`:

```shell
kubectl top pods
```

الناتج مشابه للتالي:

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

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

```shell
error: Metrics API not available
```

1. تعطيل `metrics-server`:

```shell
minikube addons disable metrics-server
```

الناتج مشابه للتالي:

```shell
metrics-server was successfully disabled
```

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

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

```shell
kubectl delete service hello-node
kubectl delete deployment hello-node
```

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

```shell
minikube stop
```

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

```shell
# اختياري
minikube delete
```

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

## الختام

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

## {{% heading "whatsnext" %}}

* البرنامج التعليمي لـ _[نشر التطبيق الأول على كوبيرنيتيس باستخدام kubectl](/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/)_.
* تعلم المزيد حول [النشر](/docs/concepts/workloads/controllers/deployment/).
* تعلم المزيد حول [نشر التطبيقات](/docs/tasks/run-application/run-stateless-application-deployment/).
* تعلم المزيد حول [الخدمة](/docs/concepts/services-networking/service/).

0 comments on commit 6478a66

Please sign in to comment.