|
| 1 | +--- |
| 2 | +title: مقیاسبندی خودکار بارهای کاری |
| 3 | +description: >- |
| 4 | + با مقیاسبندی خودکار، میتوانید بارهای کاری خود را به طور خودکار به یک روش یا روش دیگر بهروزرسانی کنید. این به کلاستر شما اجازه میدهد تا به تغییرات در تقاضای منابع، انعطافپذیرتر و کارآمدتر واکنش نشان دهد. |
| 5 | +content_type: concept |
| 6 | +weight: 40 |
| 7 | +--- |
| 8 | + |
| 9 | +<!-- overview --> |
| 10 | + |
| 11 | +در Kubernetes، میتوانید بسته به تقاضای فعلی منابع، حجم کار را _مقیاس_ کنید. |
| 12 | + |
| 13 | +این به کلاستر شما اجازه میدهد تا به تغییرات در تقاضای منابع، انعطافپذیرتر و کارآمدتر واکنش نشان دهد. |
| 14 | + |
| 15 | +هنگامی که یک حجم کار را مقیاسبندی میکنید، میتوانید تعداد کپیهای مدیریتشده توسط حجم کار را افزایش یا کاهش دهید، یا منابع موجود برای کپیهای موجود را تنظیم کنید. |
| 16 | + |
| 17 | +رویکرد اول به عنوان _مقیاسبندی افقی_ و رویکرد دوم به عنوان _مقیاسبندی عمودی_ شناخته میشود. |
| 18 | + |
| 19 | +بسته به مورد استفاده شما، روشهای دستی و خودکار برای مقیاسبندی حجم کار شما وجود دارد. |
| 20 | + |
| 21 | +<!-- body --> |
| 22 | + |
| 23 | +## مقیاسبندی دستی بارهای کاری |
| 24 | + |
| 25 | +کوبرنتیز از _مقیاسبندی دستی_ بارهای کاری پشتیبانی میکند. مقیاسبندی افقی را میتوانید |
| 26 | +با استفاده از ابزار `kubectl` انجام دهید. |
| 27 | +برای مقیاسبندی عمودی، باید تعریف منبع بار کاری خود را _patch_ کنید. |
| 28 | + |
| 29 | +مثال هر دو استراتژی را در ادامه ببینید: |
| 30 | + |
| 31 | +- **مقیاسبندی افقی**: [اجرای چند نمونه از برنامهٔ شما](/docs/tutorials/kubernetes-basics/scale/scale-intro/) |
| 32 | +- **مقیاسبندی عمودی**: [تغییر اندازهٔ منابع CPU و حافظهٔ اختصاصیافته به کانتینرها](/docs/tasks/configure-pod-container/resize-container-resources) |
| 33 | + |
| 34 | +## مقیاسبندی خودکار بارهای کاری |
| 35 | + |
| 36 | +کوبرنتیز همچنین از _مقیاسبندی خودکار_ بارهای کاری پشتیبانی میکند که موضوع این صفحه است. |
| 37 | + |
| 38 | +مفهوم _Autoscaling_ در کوبرنتیز به توانایی بهروزرسانی خودکار یک |
| 39 | +شیٔی که مجموعهای از Pods را مدیریت میکند (برای مثال |
| 40 | +{{< glossary_tooltip text="Deployment" term_id="deployment" >}}) اشاره دارد. |
| 41 | + |
| 42 | +### مقیاسبندی بارهای کاری بهصورت افقی |
| 43 | + |
| 44 | +در کوبرنتیز، میتوانید بهصورت خودکار بار کاری را بهصورت افقی با استفاده از _HorizontalPodAutoscaler_ مقیاسبندی کنید. |
| 45 | + |
| 46 | +این قابلیت بهعنوان یک منبع API کوبرنتیز و یک {{< glossary_tooltip text="controller" term_id="controller" >}} پیادهسازی شده و بهطور دورهای تعداد {{< glossary_tooltip text="replicas" term_id="replica" >}} را در یک بار کاری تنظیم میکند تا با مصرف منابع مشاهدهشده مانند استفاده از CPU یا حافظه همخوانی داشته باشد. |
| 47 | + |
| 48 | +یک [آموزش گامبهگام](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough) برای پیکربندی _HorizontalPodAutoscaler_ برای یک Deployment وجود دارد. |
| 49 | + |
| 50 | +### مقیاسبندی بارهای کاری بهصورت عمودی |
| 51 | + |
| 52 | +{{< feature-state for_k8s_version="v1.25" state="stable" >}} |
| 53 | + |
| 54 | +میتوانید بهصورت خودکار بار کاری را بهصورت عمودی با استفاده از _VerticalPodAutoscaler_ مقیاسبندی کنید. بر خلاف HPA، VPA بهطور پیشفرض همراه کوبرنتیز عرضه نمیشود، بلکه یک پروژهٔ مستقل است که در [GitHub](https://github.com/kubernetes/autoscaler/tree/9f87b78df0f1d6e142234bb32e8acbd71295585a/vertical-pod-autoscaler) در دسترس قرار دارد. |
| 55 | + |
| 56 | +پس از نصب، میتوانید برای بارهای کاری خود {{< glossary_tooltip text="CustomResourceDefinitions" term_id="customresourcedefinition" >}} (CRD) ایجاد کنید که تعریف میکنند _چگونه_ و _چه زمانی_ منابع نسخههای مدیریتشده را مقیاسبندی کنند. |
| 57 | + |
| 58 | +{{< note >}} |
| 59 | +برای کارکرد VPA نیاز است که [Metrics Server](https://github.com/kubernetes-sigs/metrics-server) در کلاستر شما نصب شده باشد. |
| 60 | +{{< /note >}} |
| 61 | + |
| 62 | +در حال حاضر، VPA میتواند در چهار حالت مختلف کار کند: |
| 63 | + |
| 64 | +{{< table caption="حالتهای مختلف VPA" >}} |
| 65 | +حالت | توضیحات |
| 66 | +:----|:----------- |
| 67 | +`Auto` | در حال حاضر `Recreate`. ممکن است در آینده به بهروزرسانی درجا (in-place) تغییر یابد. |
| 68 | +`Recreate` | VPA درخواستهای منابع را هنگام ایجاد پاد تنظیم میکند و همچنین با بیرونکردن پادهای موجود، آنها را بهروزرسانی میکند وقتی درخواست منابع بهطور قابل توجهی با پیشنهاد جدید متفاوت باشد. |
| 69 | +`Initial` | VPA تنها هنگام ایجاد پاد درخواستهای منابع را تنظیم میکند و پس از آن هرگز آنها را تغییر نمیدهد. |
| 70 | +`Off` | VPA بهصورت خودکار نیازمندیهای منابع پادها را تغییر نمیدهد. پیشنهادها محاسبه میشوند و میتوان آنها را در شی VPA بررسی کرد. |
| 71 | +{{< /table >}} |
| 72 | + |
| 73 | +#### مقیاسبندی عمودی پاد درجا |
| 74 | + |
| 75 | +{{< feature-state feature_gate_name="InPlacePodVerticalScaling" >}} |
| 76 | + |
| 77 | +از زمان Kubernetes {{< skew currentVersion >}}، VPA از تغییر اندازهٔ پادها درجا پشتیبانی نمیکند، اما این ادغام در دست کار است. |
| 78 | +برای تغییر اندازهٔ دستی پادها درجا، به [Resize Container Resources In-Place](/docs/tasks/configure-pod-container/resize-container-resources/) مراجعه کنید. |
| 79 | + |
| 80 | +### مقیاسبندی خودکار بر اساس اندازهٔ کلاستر |
| 81 | + |
| 82 | +برای بارهای کاری که نیاز به مقیاسبندی بر اساس اندازهٔ کلاستر دارند (برای مثال `cluster-dns` یا سایر اجزای سیستمی)، میتوانید از |
| 83 | +[_Cluster Proportional Autoscaler_](https://github.com/kubernetes-sigs/cluster-proportional-autoscaler) استفاده کنید. |
| 84 | +مانند VPA، این ابزار بخشی از هستهٔ کوبرنتیز نیست و بهصورت یک پروژهٔ مستقل در GitHub میزبانی میشود. |
| 85 | + |
| 86 | +Cluster Proportional Autoscaler تعداد {{< glossary_tooltip text="Nodes" term_id="node" >}} قابل زمانبندی و هستهها را پایش کرده و |
| 87 | +تعداد Replicaهای بار کاری هدف را بر همان اساس تنظیم میکند. |
| 88 | + |
| 89 | +اگر قرار است تعداد Replicaها ثابت بماند، میتوانید بارهای کاری خود را بهصورت عمودی بر اساس اندازهٔ کلاستر مقیاس دهید |
| 90 | +با استفاده از [_Cluster Proportional Vertical Autoscaler_](https://github.com/kubernetes-sigs/cluster-proportional-vertical-autoscaler). |
| 91 | +این پروژه **در حال حاضر در مرحلهٔ بتا** قرار دارد و در GitHub در دسترس است. |
| 92 | + |
| 93 | +در حالی که Cluster Proportional Autoscaler تعداد Replicaهای یک بار کاری را مقیاس میدهد، |
| 94 | +Cluster Proportional Vertical Autoscaler درخواستهای منابع (برای مثال در یک Deployment یا DaemonSet) را |
| 95 | +بر اساس تعداد Nodes و/یا هستهها در کلاستر تنظیم میکند. |
| 96 | + |
| 97 | +### مقیاسبندی خودکار مبتنی بر رویداد |
| 98 | + |
| 99 | +همچنین امکان مقیاسبندی بارهای کاری بر اساس رویدادها وجود دارد، برای مثال با استفاده از |
| 100 | +[_Kubernetes Event Driven Autoscaler_ (**KEDA**)](https://keda.sh/). |
| 101 | + |
| 102 | +KEDA یک پروژهٔ فارغالتحصیلشده از CNCF است که به شما امکان میدهد بارهای کاری خود را |
| 103 | +بر اساس تعداد رویدادهای قابل پردازش—مثلاً تعداد پیامها در یک صف—مقیاس دهید. |
| 104 | +برای منابع رویداد مختلف، آداپتورهای متنوعی در دسترس هستند. |
| 105 | + |
| 106 | +### مقیاسبندی خودکار بر اساس زمانبندیها |
| 107 | + |
| 108 | +استراتژی دیگری برای مقیاسبندی بارهای کاری شما این است که عملیات مقیاسبندی را **زمانبندی** کنید، برای مثال جهت کاهش مصرف منابع در ساعات کمبار. |
| 109 | + |
| 110 | +مشابه مقیاسبندی خودکار مبتنی بر رویداد، این رفتار را میتوان با استفاده از KEDA همراه با |
| 111 | +[`Cron` scaler](https://keda.sh/docs/latest/scalers/cron/) |
| 112 | +دستیابی کرد. |
| 113 | +`Cron` scaler به شما امکان میدهد زمانبندیها (و مناطق زمانی) را برای مقیاس دادن بارهای کاری خود به داخل یا خارج تعریف کنید. |
| 114 | + |
| 115 | +## مقیاسبندی زیرساخت کلاستر |
| 116 | + |
| 117 | +اگر مقیاسبندی بارهای کاری برای رفع نیازهای شما کافی نیست، میتوانید زیرساخت کلاستر خود را نیز مقیاس دهید. |
| 118 | + |
| 119 | +مقیاسبندی زیرساخت کلاستر بهطور معمول افزودن یا حذف {{< glossary_tooltip text="nodes" term_id="node" >}} را شامل میشود. |
| 120 | +برای اطلاعات بیشتر، [Node autoscaling](/docs/concepts/cluster-administration/node-autoscaling/) را ببینید. |
| 121 | + |
| 122 | +## {{% heading "whatsnext" %}} |
| 123 | + |
| 124 | +- یادگیری بیشتر درباره مقیاسبندی افقی |
| 125 | + - [مقیاس یک StatefulSet](/docs/tasks/run-application/scale-stateful-set/) |
| 126 | + - [آموزش گامبهگام HorizontalPodAutoscaler](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/) |
| 127 | +- [تغییر اندازهٔ منابع کانتینر بهصورت درجا](/docs/tasks/configure-pod-container/resize-container-resources/) |
| 128 | +- [مقیاسبندی خودکار سرویس DNS در کلاستر](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/) |
| 129 | +- آشنایی با [Node autoscaling](/docs/concepts/cluster-administration/node-autoscaling/) |
0 commit comments