From 67eedc03720504a1c068fbe29085adf41dc2fb1c Mon Sep 17 00:00:00 2001 From: kasramp Date: Tue, 27 Oct 2020 08:42:27 +0100 Subject: [PATCH] Add hello minikube Persian translation --- content/fa/docs/tutorials/hello-minikube.md | 273 ++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 content/fa/docs/tutorials/hello-minikube.md diff --git a/content/fa/docs/tutorials/hello-minikube.md b/content/fa/docs/tutorials/hello-minikube.md new file mode 100644 index 0000000000..1f63cb30dc --- /dev/null +++ b/content/fa/docs/tutorials/hello-minikube.md @@ -0,0 +1,273 @@ +--- +title: سلام مینی کیوب +content_type: tutorial +weight: 5 +menu: + main: + title: "شروع کنید" + weight: 10 + post: > +

آماده هستید که دست به کار بشید؟ بیاید یک کلاستر ساده کوبرنتیز که یک برنامه ساده را اجرا می کند بسازیم

+card: + name: tutorials + weight: 10 +--- + + + +این آموزش به شما نشان می دهد که چگونه یک برنامه ساده رو در کوبرنتیز با استفاده از [مینی کیوب](/docs/setup/learning-environment/minikube) و کاتاکدا (Katacoda) اجرا کنید. +کاتاکدا یک محیط رایگان کوبرنتیز را در مرورگر فراهم می کند. + +{{< note >}} +می توانید این آموزش را دنبال کنید اگر [مینی کیوب را محلی (در ماشین خود)](/docs/tasks/tools/install-minikube/) نصب کرده اید. +{{< /note >}} + + + +## {{% heading "اهداف" %}} + + +* یک برنامه کاربردی نمونه را در مینی کیوب مستقر کنید. +* برنامه را اجرا کنید. +* لاگ های برنامه را مشاهده کنید. + + +## {{% heading "پیش نیازها" %}} + + +این آموزش یک کانتینر را ارائه می دهد که با استفاده از NGINX تمام درخواست ها را بازتاب می دهد. + + + + +## ساخت خوشه مینی کیوب + +1. کلیک کنید ** راه اندازی ترمینال ** + + {{< kat-button >}} + +{{< note >}} + اگر مینی کیوب را به صورت محلی نصب کرده اید ، `minikube start` اجرا کنید. +{{< /note >}} + +2. داشبورد کوبرنتیز را در یک مرورگر باز کنید: + + ```shell + minikube dashboard + ``` + +3. فقط برای محیط کاتاکودا: در بالای صفحه ترمینال ، روی علامت مثبت کلیک کنید و سپس **Select port to view on Host 1** را انتخاب کنید. + +4. فقط برای محیط کاتاکودا: ‍‍‍`30000` را وارد کنید و سپس بر روی **Display Port** کلیک کنید. + +## ساختن دپلویمنت (Deployment) + +یک [*Pod*](/docs/concepts/workloads/pods/pod/) کوبرنتیز گروهی از یک یا چند کانتینر است ، که برای اهداف مدیریتی (Administration) و شبکه به هم وصل هستند. Pod در این آموزش فقط یک کانتینر دارد. یک [*Deployment*](/docs/concepts/workloads/controllers/deployment/) کوبرنتیز سلامت Pod شما رو بررسی می کند و در صورت خاتمه آنرا دوباره راه اندازی می کند. Deployment ها روش پیشنهادی برای مدیریت و اسکیل (scale) کردن Pod هاست. + +1. برای ایجاد یک Deployment که یک Pod را مدیریت می کند ، از دستور `kubectl create` استفاده کنید. Pod یک کانتینر را بر اساس ایمیج ارائه شده Docker اجرا می کند. + + ```shell + kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 + ``` + +2. دیدن Deployment: + + ```shell + kubectl get deployments + ``` + + خروجی (مثال): + + + ``` + NAME READY UP-TO-DATE AVAILABLE AGE + hello-node 1/1 1 1 1m + ``` + +3. دیدن Pod: + + ```shell + kubectl get pods + ``` + + خروجی (مثال): + + ``` + NAME READY STATUS RESTARTS AGE + hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m + ``` + +4. دیدن رویدادهای یک خوشه: + + ```shell + kubectl get events + ``` + +5. دیدن تنظیمات `kubectl` : + + ```shell + kubectl config view + ``` + +{{< note >}} + برای کسب اطلاعات بیشتر در مورد دستورات `kubectl` ، به [نمای کلی kubectl](/docs/user-guide/kubectl-overview/) مراجعه کنید. +{{< /note >}} + +## ساختن یک سرویس (Service) + +به طور پیش فرض ، Pod فقط با آدرس IP داخلی خود در خوشه Kubernetes قابل دسترسی است. برای دسترسی `hello-node` کانتینر خارج از شبکه مجازی کوبرنتیز شما باید Pod را به عنوان یک [*Service*](/docs/concepts/services-networking/service/) در معرض دید قرار بدهید. + +1. با استفاده از دستور `kubectl expose` پاد را در معرض دید اینترنت قرار دهید: + + ```shell + kubectl expose deployment hello-node --type=LoadBalancer --port=8080 + ``` + + سوییچ `--type=LoadBalancer` نشان می دهد که شما می خواهید سرویس خود را در معرض دید خارج از خوشه قرار دهید. + +2. دیدن سرویس ساخته شده: + + ```shell + kubectl get services + ``` + + خروجی (مثال): + + ``` + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + hello-node LoadBalancer 10.108.144.78 8080:30369/TCP 21s + kubernetes ClusterIP 10.96.0.1 443/TCP 23m + ``` + + در ارائه دهندگان ابری که از Load balancer پشتیبانی می کنند ، + یک آدرس IP خارجی برای دسترسی به سرویس ارائه می شود. مینی کیوب ، + نوع `LoadBalancer` سرویس را از طریق دستور` minikube service` قابل دسترسی می کند. + +3. دستور زیر را اجرا کنید: + + ```shell + minikube service hello-node + ``` + +4. فقط برای محیط کاتاکودا: روی علامت بعلاوه کلیک کنید ، و سپس روی **Select port to view on Host 1** کلیک کنید. + +5. فقط برای محیط کاتاکودا: به شماره پورت 5 رقمی که در مقابل `8080` در خروجی خدمات نمایش داده شده است توجه داشته باشید. این شماره پورت به طور تصادفی تولید می شود و می تواند برای شما متفاوت باشد. شماره خود را در کادر متن شماره پورت تایپ کنید ، سپس روی Display Port کلیک کنید. براساس خروجی مثال قبلی ، پورت `30369` می باشد. + + با این کار یک پنجره مرورگر باز می شود که به برنامه شما سرویس می دهد و پاسخ برنامه را نشان می دهد. + +## فعال کردن افزونه ها + +مینی کیوب دارای مجموعه ای از افزونه های {{< glossary_tooltip text="addons" term_id="addons" >}} داخلی است که می توانند در محیط محلی کوبرنتیز فعال ، غیرفعال و باز شوند. + +1. افزونه های پشتیبانی شده فعلی را لیست کنید: + + ```shell + 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 + ``` + +2. فعال کردن یک افزونه ، به عنوان مثال ، `metrics-server`: + + ```shell + minikube addons enable metrics-server + ``` + + خروجی (مثال): + + ``` + metrics-server was successfully enabled + ``` + +3. مشاهده Pod و سرویسی که به تازگی ایجاد کرده اید: + + ```shell + 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 80/TCP 26s + service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 34m + service/monitoring-grafana NodePort 10.99.24.54 80:30002/TCP 26s + service/monitoring-influxdb ClusterIP 10.111.169.94 8083/TCP,8086/TCP 26s + ``` + +4. غیر فعال کردن `metrics-server`: + + ```shell + minikube addons disable metrics-server + ``` + + خروجی (مثال): + + ``` + metrics-server was successfully disabled + ``` + +## پاک کردن + +اکنون می توانید منابعی را که در خوشه خود ایجاد کرده اید پاک کنید: + +```shell +kubectl delete service hello-node +kubectl delete deployment hello-node +``` + +به صورت اختیاری ، ماشین مجازی Minikube (VM) را متوقف کنید: + +```shell +minikube stop +``` + +در صورت تمایل ، حذف Minikube VM: + +```shell +minikube delete +``` + + + +## {{% heading "قدم بعدی" %}} + + +* درباره [Deployment objects](/docs/concepts/workloads/controllers/deployment/) بیشتر بدانید. +* درباره [Deploying applications](/docs/tasks/run-application/run-stateless-application-deployment/) بیشتر بدانید. +* درباره [Service objects](/docs/concepts/services-networking/service/) بیشتر بدانید. + +