You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
کوبرنتیز کانتینرهایی که از کار میافتند را مجدداً راهاندازی میکند، در صورت نیاز کل Podها را جایگزین میکند، در پاسخ به خرابیهای گستردهتر، فضای ذخیرهسازی را دوباره متصل میکند و میتواند با مقیاسپذیرهای خودکار گره ادغام شود تا حتی در سطح گره نیز خود را ترمیم کند.
10
+
---
11
+
<!-- overview -->
12
+
13
+
کوبرنتیز با قابلیتهای خودترمیمی طراحی شده است که به حفظ سلامت و در دسترس بودن بارهای کاری کمک میکند. این سیستم به طور خودکار کانتینرهای خراب را جایگزین میکند، بارهای کاری را در صورت از دسترس خارج شدن گرهها مجدداً برنامهریزی میکند و تضمین میکند که وضعیت مطلوب سیستم حفظ شود.
-**Container-level restarts:** If a container inside a Pod fails, Kubernetes restarts it based on the [`restartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy).
20
+
21
+
-**Replica replacement:** If a Pod in a [Deployment](/docs/concepts/workloads/controllers/deployment/) or [StatefulSet](/docs/concepts/workloads/controllers/statefulset/) fails, Kubernetes creates a replacement Pod to maintain the specified number of replicas.
22
+
If a Pod fails that is part of a [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) fails, the control plane
23
+
creates a replacement Pod to run on the same node.
24
+
25
+
-**Persistent storage recovery:** If a node is running a Pod with a PersistentVolume (PV) attached, and the node fails, Kubernetes can reattach the volume to a new Pod on a different node.
26
+
27
+
-**Load balancing for Services:** If a Pod behind a [Service](/docs/concepts/services-networking/service/) fails, Kubernetes automatically removes it from the Service's endpoints to route traffic only to healthy Pods.
28
+
29
+
Here are some of the key components that provide Kubernetes self-healing:
30
+
31
+
-**[kubelet](/docs/concepts/architecture/#kubelet):** Ensures that containers are running, and restarts those that fail.
32
+
33
+
-**ReplicaSet, StatefulSet and DaemonSet controller:** Maintains the desired number of Pod replicas.
34
+
35
+
-**PersistentVolume controller:** Manages volume attachment and detachment for stateful workloads.
36
+
37
+
## Considerations {#considerations}
38
+
39
+
-**Storage Failures:** If a persistent volume becomes unavailable, recovery steps may be required.
40
+
41
+
-**Application Errors:** Kubernetes can restart containers, but underlying application issues must be addressed separately.
42
+
43
+
## {{% heading "whatsnext" %}}
44
+
45
+
- Read more about [Pods](/docs/concepts/workloads/pods/)
46
+
- Learn about [Kubernetes Controllers](/docs/concepts/architecture/controller/)
Copy file name to clipboardExpand all lines: content/fa/docs/concepts/containers/_index.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,26 +14,26 @@ card:
14
14
15
15
این صفحه به بررسی کانتینرها و ایمیجهای کانتینر، و همچنین کاربرد آنها در عملیات و توسعه راهحلها میپردازد.
16
16
17
-
واژهٔ_کانتینر_ یک اصطلاح بارگذاریشده است. هر زمان از این واژه استفاده میکنید، بررسی کنید که مخاطبان شما از همان تعریف استفاده میکنند یا خیر.
17
+
واژه_کانتینر_ یک اصطلاح بارگذاریشده است. هر زمان از این واژه استفاده میکنید، بررسی کنید که مخاطبان شما از همان تعریف استفاده میکنند یا خیر.
18
18
19
19
هر کانتینری که اجرا میکنید قابل تکرار است؛ استانداردسازیای که با درج وابستگیها به دست میآید این تضمین را میدهد که در هر نقطهای که آن را اجرا کنید، رفتار یکسانی خواهید داشت.
20
20
21
21
کانتینرها، برنامهها را از زیرساخت میزبان جدا میکنند. این موضوع استقرار را در محیطهای مختلف ابری یا سیستمعامل آسانتر میسازد.
22
22
23
-
هر {{< glossary_tooltip text="نود" term_id="node" >}} در یک خوشهٔ Kubernetes، کانتینرهایی را که تشکیلدهندهٔ[پادها](/docs/concepts/workloads/pods/) هستند و به آن نود اختصاص یافتهاند، اجرا میکند. کانتینرهای یک پاد، هممکان و همزمانبندی شده تا بر روی یک نود اجرا شوند.
23
+
هر {{< glossary_tooltip text="نود" term_id="node" >}} در یک خوشه Kubernetes، کانتینرهایی را که تشکیلدهنده[پادها](/docs/concepts/workloads/pods/) هستند و به آن نود اختصاص یافتهاند، اجرا میکند. کانتینرهای یک پاد، هممکان و همزمانبندی شده تا بر روی یک نود اجرا شوند.
24
24
25
25
26
26
<!-- body -->
27
27
28
28
## ایمیجهای کانتینر
29
-
یک [ایمیج کانتینر](/docs/concepts/containers/images/) بستهی نرمافزاری آمادهٔ اجراست که همهٔ آنچه برای راهاندازی یک برنامه لازم است را در بر میگیرد: کد و هر محیط اجرای مورد نیاز، کتابخانههای برنامه و سیستم، و مقادیر پیشفرض برای هر تنظیم ضروری.
29
+
یک [ایمیج کانتینر](/docs/concepts/containers/images/) بستهی نرمافزاری آماده اجراست که همه آنچه برای راهاندازی یک برنامه لازم است را در بر میگیرد: کد و هر محیط اجرای مورد نیاز، کتابخانههای برنامه و سیستم، و مقادیر پیشفرض برای هر تنظیم ضروری.
30
30
31
31
کانتینرها قرار است بدونحالت (stateless) و [تغییرناپذیر](https://glossary.cncf.io/immutable-infrastructure/) باشند؛ نباید کد یک کانتینر در حال اجرا را تغییر دهید. اگر برنامهای کانتینری دارید و میخواهید تغییری اعمال کنید، روش درست این است که یک ایمیج جدید شامل آن تغییر بسازید و سپس کانتینر را از روی ایمیج بهروزشده مجدداً ایجاد کنید.
عموماً میتوانید به خوشه اجازه دهید زماناجرای پیشفرض را برای یک پاد انتخاب کند. اگر نیاز دارید در خوشهٔ خود بیش از یک زماناجرا داشته باشید، میتوانید [RuntimeClass](/docs/concepts/containers/runtime-class/) را برای یک پاد مشخص کنید تا مطمئن شوید Kubernetes آن کانتینرها را با زماناجرای مورد نظر شما اجرا میکند.
37
+
عموماً میتوانید به خوشه اجازه دهید زماناجرای پیشفرض را برای یک پاد انتخاب کند. اگر نیاز دارید در خوشه خود بیش از یک زماناجرا داشته باشید، میتوانید [RuntimeClass](/docs/concepts/containers/runtime-class/) را برای یک پاد مشخص کنید تا مطمئن شوید Kubernetes آن کانتینرها را با زماناجرای مورد نظر شما اجرا میکند.
38
38
39
39
همچنین میتوانید با استفاده از RuntimeClass، پادهای مختلف را با یک زماناجرا اما با تنظیمات متفاوت اجرا کنید.
Copy file name to clipboardExpand all lines: content/fa/docs/concepts/containers/container-lifecycle-hooks.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ weight: 40
28
28
29
29
`PreStop`
30
30
31
-
این قلاب درست قبل از خاتمه کانتینر در اثر یک درخواست API یا رویدادی مدیریتی مانند شکست پروب liveness/startup، پیشدستی (preemption)، تداخل منابع و موارد دیگر فراخوانی میشود. فراخوانی قلاب `PreStop` در صورتی شکست میخورد که کانتینر قبلاً در وضعیت خاتمهیافته یا تکمیلشده باشد. این قلاب باید قبل از ارسال سیگنال TERM برای متوقف کردن کانتینر تکمیل شود. شمارش معکوس دورهٔ مهلت خاتمهٔ پاد قبل از اجرای قلاب `PreStop` آغاز میشود، بنابراین فارغ از نتیجهٔ هندلر، کانتینر در نهایت در دورهٔ مهلت خاتمهٔ پاد متوقف خواهد شد. هیچ پارامتری به هندلر ارسال نمیشود.
31
+
این قلاب درست قبل از خاتمه کانتینر در اثر یک درخواست API یا رویدادی مدیریتی مانند شکست پروب liveness/startup، پیشدستی (preemption)، تداخل منابع و موارد دیگر فراخوانی میشود. فراخوانی قلاب `PreStop` در صورتی شکست میخورد که کانتینر قبلاً در وضعیت خاتمهیافته یا تکمیلشده باشد. این قلاب باید قبل از ارسال سیگنال TERM برای متوقف کردن کانتینر تکمیل شود. شمارش معکوس دوره مهلت خاتمه پاد قبل از اجرای قلاب `PreStop` آغاز میشود، بنابراین فارغ از نتیجه هندلر، کانتینر در نهایت در دوره مهلت خاتمه پاد متوقف خواهد شد. هیچ پارامتری به هندلر ارسال نمیشود.
32
32
33
33
توضیح دقیقتر رفتار خاتمه را میتوانید در
34
34
[Termination of Pods](/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination)
@@ -55,7 +55,7 @@ weight: 40
55
55
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) فعال میشود.
56
56
57
57
{{< note >}}
58
-
بتا-level feature gate `PodLifecycleSleepActionAllowZero` که از نسخهٔ v1.33 بهطور پیشفرض فعال است،
58
+
بتا-level feature gate `PodLifecycleSleepActionAllowZero` که از نسخه v1.33 بهطور پیشفرض فعال است،
59
59
به شما اجازه میدهد مدت زمان Sleep را صفر ثانیه (عملاً عملیاتی انجام نمیشود)
60
60
برای هندلرهای چرخهعمر Sleep تنظیم کنید.
61
61
{{< /note >}}
@@ -66,17 +66,17 @@ weight: 40
66
66
67
67
فراخوانی هندلر قلاب `PostStart` هنگام ایجاد کانتینر شروع میشود، به این معنی که ENTRYPOINT کانتینر و قلاب `PostStart` بهطور همزمان فعال میشوند. با این حال، اگر اجرای قلاب `PostStart` طولانی شود یا در حین اجرا گیر کند، ممکن است مانع از انتقال کانتینر به وضعیت `running` شود.
68
68
69
-
قلابهای `PreStop` بهصورت ناهمزمان با سیگنال توقف کانتینر اجرا نمیشوند؛ قلاب باید اجرای خود را قبل از ارسال سیگنال TERM کامل کند. اگر قلاب `PreStop` در حین اجرا گیر کند، فاز پاد به `Terminating` تغییر میکند و تا زمان اتمام دورهٔ `terminationGracePeriodSeconds` و سپس کشته شدن پاد در آن وضعیت باقی میماند. این دورهٔ مهلت شامل مجموع زمانی است که برای اجرای قلاب `PreStop` و متوقف شدن طبیعی کانتینر نیاز است. برای مثال، اگر `terminationGracePeriodSeconds` برابر ۶۰ ثانیه باشد، و قلاب ۵۵ ثانیه و کانتینر ۱۰ ثانیه بعد از دریافت سیگنال برای توقف طبیعی زمان ببرد، کانتینر قبل از توقف طبیعی کشته میشود، چون `terminationGracePeriodSeconds` کمتر از مجموع زمان (۵۵+۱۰) است.
69
+
قلابهای `PreStop` بهصورت ناهمزمان با سیگنال توقف کانتینر اجرا نمیشوند؛ قلاب باید اجرای خود را قبل از ارسال سیگنال TERM کامل کند. اگر قلاب `PreStop` در حین اجرا گیر کند، فاز پاد به `Terminating` تغییر میکند و تا زمان اتمام دوره `terminationGracePeriodSeconds` و سپس کشته شدن پاد در آن وضعیت باقی میماند. این دوره مهلت شامل مجموع زمانی است که برای اجرای قلاب `PreStop` و متوقف شدن طبیعی کانتینر نیاز است. برای مثال، اگر `terminationGracePeriodSeconds` برابر ۶۰ ثانیه باشد، و قلاب ۵۵ ثانیه و کانتینر ۱۰ ثانیه بعد از دریافت سیگنال برای توقف طبیعی زمان ببرد، کانتینر قبل از توقف طبیعی کشته میشود، چون `terminationGracePeriodSeconds` کمتر از مجموع زمان (۵۵+۱۰) است.
70
70
71
71
اگر هر یک از قلابهای `PostStart` یا `PreStop` با شکست مواجه شوند، کانتینر را نابود میکنند.
72
72
73
73
کاربران باید هندلرهای قلاب خود را تا حد ممکن سبک نگه دارند. با این حال، در برخی موارد اجرای فرمانهای طولانیمدت منطقی است، مانند وقتی که لازم است قبل از توقف کانتینر، وضعیت (state) ذخیره شود.
74
74
75
75
### تضمین تحویل قلابها
76
76
77
-
تحویل قلاب قرار است *حداقل یکبار* باشد، یعنی ممکن است برای هر رویداد مشخص – مانند `PostStart` یا `PreStop` – قلاب چندین بار فراخوانی شود. مدیریت صحیح این شرایط بر عهدهٔ پیادهسازی قلاب است.
77
+
تحویل قلاب قرار است *حداقل یکبار* باشد، یعنی ممکن است برای هر رویداد مشخص – مانند `PostStart` یا `PreStop` – قلاب چندین بار فراخوانی شود. مدیریت صحیح این شرایط بر عهده پیادهسازی قلاب است.
78
78
79
-
بهطور کلی، معمولاً تنها یکبار تحویل انجام میشود. اگر مثلاً گیرندهٔ HTTP قلاب از کار افتاده و قادر به دریافت درخواست نباشد، تلاشی برای ارسال مجدد صورت نمیگیرد. با این حال، در برخی موارد نادر ممکن است تحویل دوگانه رخ دهد. برای مثال، اگر kubelet در میانهٔ ارسال قلاب ریاستارت شود، ممکن است پس از برگشت، قلاب دوباره ارسال شود.
79
+
بهطور کلی، معمولاً تنها یکبار تحویل انجام میشود. اگر مثلاً گیرنده HTTP قلاب از کار افتاده و قادر به دریافت درخواست نباشد، تلاشی برای ارسال مجدد صورت نمیگیرد. با این حال، در برخی موارد نادر ممکن است تحویل دوگانه رخ دهد. برای مثال، اگر kubelet در میانه ارسال قلاب ریاستارت شود، ممکن است پس از برگشت، قلاب دوباره ارسال شود.
80
80
81
81
### اشکالزدایی هندلرهای قلاب
82
82
@@ -103,5 +103,5 @@ Events:
103
103
104
104
105
105
* برای کسب اطلاعات بیشتر درباره [محیط کانتینر](/docs/concepts/containers/container-environment/) مطالعه کنید.
106
-
*تجربهٔ عملی بهدست آورید و با [پیوست هندلرها به رویدادهای چرخهعمر کانتینر](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) کار کنید.
106
+
*تجربه عملی بهدست آورید و با [پیوست هندلرها به رویدادهای چرخهعمر کانتینر](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) کار کنید.
0 commit comments