Skip to content

Commit 5b237ba

Browse files
committed
Init Persian localization - Part 5
1 parent 458ec48 commit 5b237ba

File tree

6 files changed

+726
-0
lines changed

6 files changed

+726
-0
lines changed
Lines changed: 345 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,345 @@
1+
---
2+
title: Hello Minikube
3+
content_type: tutorial
4+
weight: 5
5+
card:
6+
name: tutorials
7+
weight: 10
8+
---a
9+
10+
<!-- overview -->
11+
12+
این آموزش به شما نشان می‌دهد که چگونه یک اپلیکیشن نمونه را با استفاده از Minikube روی Kubernetes اجرا کنید.در این آموزش، یک ایمیج Nginx استفاده شده است و برای بازگرداندن تمام درخواست‌ها (Echo) استفاده می‌کند.
13+
14+
## {{% heading "objectives" %}}
15+
16+
* راه اندازی یک اپلیکیشن به صورت نمونه
17+
* اجرای برنامه
18+
* مشاهده خطا های ایجاد شده در برنامه
19+
20+
## {{% heading "prerequisites" %}}
21+
22+
23+
این آموزش فرض می‌کند که شما قبلاً Minikube را راه‌اندازی کرده‌اید.
24+
.به مرحله مراجعه کنید برای دستورالعمل‌های نصب __Step 1__ in [minikube start](https://minikube.sigs.k8s.io/docs/start/)
25+
{{< note >}}
26+
فقط دستورالعمل‌های مربوط به مرحله ۱ (نصب) را انجام دهید __Step 1, Installation__.فقط دستورالعمل‌های مربوط به مرحله ۱ (نصب) را انجام دهید
27+
{{< /note >}}
28+
29+
همچنین نیاز می باشد تا را نصب کنید `kubectl`.
30+
[Install tools](/docs/tasks/tools/#kubectl) لینک پیوست شده را برای نصب مشاهده کنید .
31+
32+
33+
<!-- lessoncontent -->
34+
35+
## راه اندازی کلاستر minikube
36+
37+
```shell
38+
minikube start
39+
```
40+
41+
## بازکردن داشبورد
42+
43+
برای باز کردن داشبورد minikube می توانید از دو روش زیر استقاده نمایید :
44+
45+
{{< tabs name="dashboard" >}}
46+
{{% tab name="Launch a browser" %}}
47+
ترمینال جدید باز کیند و دستور زیرا اجرا کنید:
48+
```shell
49+
# ترمینال جدید را باز کنید و دستور زیر را اجرا کنید .
50+
minikube dashboard
51+
```
52+
53+
حالا به ترمینال قبلی بروید که دستور minikube start را اجرا کرده بودید. `minikube start`.
54+
55+
{{< note >}}
56+
دستور `dashboard` افزونه‌ی داشبورد را فعال کرده و یک پراکسی (proxy) موقت را در مرورگر پیش‌فرض شما باز می‌کند. در این داشبورد می‌توانید منابع Kubernetes مانند `Deployment` و `Service` ایجاد کنید.
57+
58+
برای اینکه بدون باز شدن مستقیم مرورگر از طریق ترمینال، فقط آدرس URL داشبورد را دریافت کنید، به برگه‌ی «URL copy and paste» مراجعه کنید.
59+
60+
به‌صورت پیش‌فرض، داشبورد تنها از طریق شبکه داخلی مجازی Kubernetes قابل دسترسی است. دستور `dashboard` یک پراکسی موقتی ایجاد می‌کند تا داشبورد را از بیرون شبکه Kubernetes نیز قابل دسترس کند.
61+
62+
برای متوقف کردن پراکسی، کافیست کلیدهای `Ctrl+C` را بزنید تا از فرآیند خارج شوید. پس از خروج از دستور، داشبورد همچنان روی خوشه‌ی Kubernetes اجرا می‌ماند. شما می‌توانید مجدداً دستور `dashboard` را اجرا کنید تا یک پراکسی جدید برای دسترسی به داشبورد بسازید.
63+
{{< /note >}}
64+
65+
{{% /tab %}}
66+
{{% tab name="URL copy and paste" %}}
67+
68+
اگر نمی‌خواهید Minikube به‌طور خودکار مرورگر را باز کند، دستور `dashboard` را با فلگ `--url` اجرا کنید
69+
70+
یک ترمینال **جدید** باز کنید و دستور زیر را اجرا کیند :
71+
```shell
72+
# ترمینال جدید بسازید و دستور زیرا اجرا نمایید
73+
minikube dashboard --url
74+
```
75+
76+
حالا میتوانید به ترمینالی که دستور `minikube start` را زدید برگردید
77+
{{% /tab %}}
78+
{{< /tabs >}}
79+
80+
## ساخت Deployment
81+
82+
[*Pod*](/docs/concepts/workloads/pods/) در داخل کوبرنتیز ، به مجموعه ای از یک یا چند container گویند ، یک پارچه شده اند برای اجرای دستوراتی از ادمین ها و نتورک به انها میرسد. POD در این سناریو فقط یک عدد می باشد . deployment های کوبرنتیز بررسی میکنند تا سلامت POD برقرار است یا نه ، اگر نبود به صورت خودکار راه اندازی مجدد میکنند .
83+
[*Deployment*](/docs/concepts/workloads/controllers/deployment/) ها راه پیشنهادی کوبرنتیز می باشند برای مدیریت POD ها.
84+
85+
86+
1. از دستور `kubectl create` استفاده کنید تا یک Deployment ایجاد کنید که مدیریت یک Pod را بر عهده دارد.
87+
88+
```shell
89+
# کانتینر webmaster را جهت تست اجرا نمایید:
90+
kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080
91+
```
92+
93+
1. مشاهده deployment ها:
94+
95+
```shell
96+
kubectl get deployments
97+
```
98+
99+
نتیجه می بایست به شکل زیر باشد
100+
101+
```
102+
NAME READY UP-TO-DATE AVAILABLE AGE
103+
hello-node 1/1 1 1 1m
104+
```
105+
106+
(ممکن است مدتی طول بکشد تا Pod در دسترس قرار گیرد. اگر پیام "0/1" را مشاهده کردید، چند ثانیه بعد دوباره امتحان کنید.)
107+
108+
1. مشاهده پاد ها:
109+
110+
```shell
111+
kubectl get pods
112+
```
113+
114+
:نتیجه می بایست به شکل زیر باشد
115+
116+
```
117+
NAME READY STATUS RESTARTS AGE
118+
hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m
119+
```
120+
121+
1. :مشاهده رخداد ها
122+
123+
```shell
124+
kubectl get events
125+
```
126+
127+
1. مشاهده تنظیمات `kubectl` :
128+
129+
```shell
130+
kubectl config view
131+
```
132+
133+
1. برای مشاهده‌ی لاگ‌های اپلیکیشن در یک کانتینر داخل یک Pod، از دستور زیر استفاده کنید (نام Pod را با نامی که از دستور `kubectl get pods` به دست آورده‌اید جایگزین کنید).
134+
135+
{{< note >}}
136+
Replace `hello-node-5f76cf6ccf-br9b5` in the `kubectl logs` command with the name of the pod from the `kubectl get pods` command output.
137+
ارگومان `hello-node-5f76cf6ccf-br9b5` در مقابل دستور `kubectl logs` قرار دهید اسم POD `kubectl get pods` برداشته شده است. قبلا از طریق دستور
138+
{{< /note >}}
139+
140+
```shell
141+
kubectl logs hello-node-5f76cf6ccf-br9b5
142+
```
143+
144+
:نتیجه می بایست به شکل زیر باشد
145+
146+
```
147+
I0911 09:19:26.677397 1 log.go:195] Started HTTP server on port 8080
148+
I0911 09:19:26.677586 1 log.go:195] Started UDP server on port 8081
149+
```
150+
151+
152+
{{< note >}}
153+
برای اطلاعات بیشتر از دستور `kubectl `لینک پیوست شده را مشاهده کنید [kubectl overview](/docs/reference/kubectl/).
154+
{{< /note >}}
155+
156+
## ساخت سرویس
157+
158+
به‌صورت پیش‌فرض، Pod فقط از طریق آدرس IP داخلی خود درون کلاستر Kubernetes قابل دسترسی است.
159+
برای اینکه کانتینر `hello-node` از بیرون شبکه‌ی مجازی Kubernetes قابل دسترسی باشد، باید Pod را به‌عنوان یک سرویس Kubernetes [*Service*](/docs/concepts/services-networking/service/).منتشر (Expose) کنید.
160+
161+
{{< warning >}}
162+
کانتینر agnhost دارای یک مسیر (endpoint) به نام `/shell` است که برای عیب‌یابی (debug) مفید است، اما در معرض خطر در صورت اتصال به اینترنت عمومی قرار دارد.
163+
این کانتینر را روی کلاستر هایی که به اینترنت متصل هستند یا کلاستر های تولیدی (production) اجرا نکنید.
164+
165+
{{< /warning >}}
166+
167+
1. 1. برای در دسترس قرار دادن Pod از طریق اینترنت عمومی، از دستور `kubectl expose` استفاده کنید:
168+
169+
```shell
170+
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
171+
```
172+
173+
دستور `-type=LoadBalancer` به این معنی می باشد که میخواهید سرویس را به بیرون کلاستر دسترسی بدید
174+
175+
کد اپلیکیشن داخل تصویر تست (test image) فقط روی پورت TCP شماره 8080 باز میشود.
176+
اگر با استفاده از دستور `kubectl expose` پورتی متفاوت را منتشر کرده باشید، کلاینت‌ها نمی‌توانند به آن پورت متصل شوند.
177+
178+
179+
2. مشاهده service ساخته شده:
180+
181+
```shell
182+
kubectl get services
183+
```
184+
185+
نتیجه می بایست به شکل زیر باشد:
186+
187+
```
188+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
189+
hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
190+
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m
191+
```
192+
193+
در ارائه‌دهندگان خدمات ابری (Cloud Providers) که از Load Balancer پشتیبانی می‌کنند,
194+
آدرس IP خارجی برای دسترسی به Service اختصاص داده می‌شود.
195+
اما در Minikube، نوع سرویس `LoadBalancer` باعث می‌شود سرویس از طریق دستور زیر در دسترس باشد: `minikube service`
196+
197+
3. دستور زیر را اجرا کنید:
198+
199+
```shell
200+
minikube service hello-node
201+
```
202+
203+
با اجرای این دستور صفحه مرورگر باز میشود و جواب اپلیکشن را به شما نشان میدهد
204+
205+
## فعال سازی اضافه ها(addons)
206+
207+
The minikube tool includes a set of built-in {{< glossary_tooltip text="addons" term_id="addons" >}} that can be enabled, disabled and opened in the local Kubernetes environment.
208+
ابزار{{< glossary_tooltip text="addons" term_id="addons" >}} که میتواند در محییط کوبرنتیز فعالیا غیر فعال شود minikube شامل تعدادی ابزار داخلی می باشد که امکان
209+
1. لیست (addons) های در حال خاضر minikube پشتیبانی میکند:
210+
211+
```shell
212+
minikube addons list
213+
```
214+
215+
نتیجه دستور به این شکل می باشد :
216+
217+
```
218+
addon-manager: enabled
219+
dashboard: enabled
220+
default-storageclass: enabled
221+
efk: disabled
222+
freshpod: disabled
223+
gvisor: disabled
224+
helm-tiller: disabled
225+
ingress: disabled
226+
ingress-dns: disabled
227+
logviewer: disabled
228+
metrics-server: disabled
229+
nvidia-driver-installer: disabled
230+
nvidia-gpu-device-plugin: disabled
231+
registry: disabled
232+
registry-creds: disabled
233+
storage-provisioner: enabled
234+
storage-provisioner-gluster: disabled
235+
```
236+
237+
1. برای مثال فعال سازی addon بر روی , `metrics-server`:
238+
239+
```shell
240+
minikube addons enable metrics-server
241+
```
242+
243+
نتیجه دستور به این شکل می باشد :
244+
245+
```
246+
The 'metrics-server' addon is enabled
247+
```
248+
249+
1. مشاهده pod,services که از طریق addons نصب شده است:
250+
251+
```shell
252+
kubectl get pod,svc -n kube-system
253+
```
254+
255+
نتیجه دستور به این شکل می باشد :
256+
257+
```
258+
NAME READY STATUS RESTARTS AGE
259+
pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m
260+
pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m
261+
pod/metrics-server-67fb648c5 1/1 Running 0 26s
262+
pod/etcd-minikube 1/1 Running 0 34m
263+
pod/influxdb-grafana-b29w8 2/2 Running 0 26s
264+
pod/kube-addon-manager-minikube 1/1 Running 0 34m
265+
pod/kube-apiserver-minikube 1/1 Running 0 34m
266+
pod/kube-controller-manager-minikube 1/1 Running 0 34m
267+
pod/kube-proxy-rnlps 1/1 Running 0 34m
268+
pod/kube-scheduler-minikube 1/1 Running 0 34m
269+
pod/storage-provisioner 1/1 Running 0 34m
270+
271+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
272+
service/metrics-server ClusterIP 10.96.241.45 <none> 80/TCP 26s
273+
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 34m
274+
service/monitoring-grafana NodePort 10.99.24.54 <none> 80:30002/TCP 26s
275+
service/monitoring-influxdb ClusterIP 10.111.169.94 <none> 8083/TCP,8086/TCP 26s
276+
```
277+
278+
1. نیجه سرویس بررسی میکینیم `metrics-server`:
279+
280+
```shell
281+
kubectl top pods
282+
```
283+
284+
نتیجه دستور به این شکل می باشد :
285+
286+
```
287+
NAME CPU(cores) MEMORY(bytes)
288+
hello-node-ccf4b9788-4jn97 1m 6Mi
289+
```
290+
291+
اگر پیام زیر را مشاهده کردید ، بعد از چند دقیقه مجدد بررسی کنید:
292+
293+
```
294+
error: Metrics API not available
295+
```
296+
297+
1. غیرفال کردن `metrics-server`:
298+
299+
```shell
300+
minikube addons disable metrics-server
301+
```
302+
303+
نتیجه به این شکل می باشد :
304+
305+
```
306+
metrics-server was successfully disabled
307+
```
308+
309+
## پاک کردن پروژه
310+
311+
بعد از مشاهده نتیاج ، میتونید از با دستورات زیر منبعی که داخل کلاستر ساختید را پاک کنید:
312+
313+
```shell
314+
kubectl delete service hello-node
315+
kubectl delete deployment hello-node
316+
```
317+
318+
Stop the Minikube cluster
319+
320+
```shell
321+
minikube stop
322+
```
323+
324+
درصوت تمایل میتوانید کلاستر minikube را غیر فعال نمایید :
325+
326+
```shell
327+
# Optional
328+
minikube delete
329+
```
330+
331+
اکر میخواهید بیشتر با minikube کار کنید ، نیازی به پاک کردن کلاستر نمی باشد .
332+
333+
## نتیجه گیری:
334+
335+
این صفحه جنبه‌های اولیه برای راه‌اندازی یک کلاستر Minikube را پوشش داد.اکنون آماده‌اید تا اپلیکیشن‌های خود را مستقر (Deploy) کنید
336+
337+
## {{% heading "whatsnext" %}}
338+
339+
340+
* منابع _[deploy your first app on Kubernetes with kubectl](/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/)_.
341+
* بیشتر راجبش یادبگیرید [Deployment objects](/docs/concepts/workloads/controllers/deployment/).
342+
* بیشتر راجبش یادبگیرید [Deploying applications](/docs/tasks/run-application/run-stateless-application-deployment/).
343+
* بیشتر راجبش یادبگیرید [Service objects](/docs/concepts/services-networking/service/).
344+
345+

content/fa/releases/_index.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
linktitle: Release History
3+
title: Releases
4+
type: docs
5+
layout: release-info
6+
notoc: true
7+
---
8+
<div dir="rtl" style="text-align: right;">
9+
<!-- overview -->
10+
11+
پروژه Kubernetes شاخه‌های انتشار (release branches) را برای سه نسخه جزئی (minor) اخیر نگهداری می‌کند.
12+
({{< skew latestVersion >}}, {{< skew prevMinorVersion >}}, {{< skew oldestMinorVersion >}}).
13+
Kubernetes 1.19 و نسخه های جدید تر ان
14+
[approximately 1 year of patch support](/releases/patch-releases/#support-period).
15+
نسخه‌های 1.18 و قدیمی‌تر Kubernetes تقریباً به‌مدت ۹ ماه پشتیبانی اصلاحی (patch support) دریافت می‌کردند.
16+
17+
نسخه‌های Kubernetes به‌صورت زیر بیان می‌شوند: **x.y.z**,
18+
که در آن **x** نسخه اصلی (major version)، **y** نسخه فرعی (minor version)، و **z** نسخه اصلاحی (patch version) است.,
19+
مطابق با اصطلاحات نسخه‌بندی معنایی [Semantic Versioning](https://semver.org/).
20+
21+
[version skew policy](/releases/version-skew-policy/)اطلاعات بیشتر در سند سیاست ناسازگاری نسخه‌ها موجود است.
22+
<!-- body -->
23+
24+
## تاریخجه تغیرات
25+
26+
{{< release-data >}}
27+
28+
## تغیرات اینده
29+
30+
نگاهی بیندازید به[schedule](https://github.com/kubernetes/sig-release/tree/master/releases/release-{{< skew nextMinorVersion >}})
31+
for the upcoming **{{< skew nextMinorVersion >}}** Kubernetes release!
32+
برای تغیرات **{{< skew nextMinorVersion >}}**اینده کوبرنتیز
33+
## منابع موثر
34+
35+
36+
برای اطلاعات کلیدی درباره نقش‌ها و فرآیند انتشار[Kubernetes Release Team](https://github.com/kubernetes/sig-release/tree/master/release-team)، به منابع تیم انتشار Kubernetes مراجعه کنید.

0 commit comments

Comments
 (0)