|
| 1 | +--- |
| 2 | +id: hpa.md |
| 3 | +related_key: scale Milvus cluster with HPA |
| 4 | +summary: >- |
| 5 | + تعرّف على كيفية تكوين التوسيع التلقائي للحاوية الأفقية (HPA) لتوسيع نطاق |
| 6 | + مجموعة Milvus بشكل ديناميكي. |
| 7 | +title: تكوين التحجيم التلقائي للحاوية الأفقية (HPA) ل Milvus |
| 8 | +--- |
| 9 | +<h1 id="Configure-Horizontal-Pod-Autoscaling-HPA-for-Milvus" class="common-anchor-header">تكوين التحجيم التلقائي للحاوية الأفقية (HPA) ل Milvus<button data-href="#Configure-Horizontal-Pod-Autoscaling-HPA-for-Milvus" class="anchor-icon" translate="no"> |
| 10 | + <svg translate="no" |
| 11 | + aria-hidden="true" |
| 12 | + focusable="false" |
| 13 | + height="20" |
| 14 | + version="1.1" |
| 15 | + viewBox="0 0 16 16" |
| 16 | + width="16" |
| 17 | + > |
| 18 | + <path |
| 19 | + fill="#0092E4" |
| 20 | + fill-rule="evenodd" |
| 21 | + d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" |
| 22 | + ></path> |
| 23 | + </svg> |
| 24 | + </button></h1><h2 id="Overview" class="common-anchor-header">نظرة عامة<button data-href="#Overview" class="anchor-icon" translate="no"> |
| 25 | + <svg translate="no" |
| 26 | + aria-hidden="true" |
| 27 | + focusable="false" |
| 28 | + height="20" |
| 29 | + version="1.1" |
| 30 | + viewBox="0 0 16 16" |
| 31 | + width="16" |
| 32 | + > |
| 33 | + <path |
| 34 | + fill="#0092E4" |
| 35 | + fill-rule="evenodd" |
| 36 | + d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" |
| 37 | + ></path> |
| 38 | + </svg> |
| 39 | + </button></h2><p>التحجيم الأفقي للقرنة الأفقية التلقائي (HPA) هي ميزة Kubernetes التي تقوم تلقائيًا بضبط عدد القرون في عملية النشر بناءً على استخدام الموارد، مثل وحدة المعالجة المركزية أو الذاكرة. في Milvus، يمكن تطبيق HPA على مكونات عديمة الحالة مثل <code translate="no">proxy</code> و <code translate="no">queryNode</code> و <code translate="no">dataNode</code> و <code translate="no">indexNode</code> لتوسيع نطاق المجموعة ديناميكيًا استجابةً لتغيرات عبء العمل.</p> |
| 40 | +<p>يشرح هذا الدليل كيفية تكوين HPA لمكونات Milvus باستخدام مشغل Milvus.</p> |
| 41 | +<h2 id="Prerequisites" class="common-anchor-header">المتطلبات الأساسية<button data-href="#Prerequisites" class="anchor-icon" translate="no"> |
| 42 | + <svg translate="no" |
| 43 | + aria-hidden="true" |
| 44 | + focusable="false" |
| 45 | + height="20" |
| 46 | + version="1.1" |
| 47 | + viewBox="0 0 16 16" |
| 48 | + width="16" |
| 49 | + > |
| 50 | + <path |
| 51 | + fill="#0092E4" |
| 52 | + fill-rule="evenodd" |
| 53 | + d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" |
| 54 | + ></path> |
| 55 | + </svg> |
| 56 | + </button></h2><ul> |
| 57 | +<li>مجموعة Milvus قيد التشغيل تم نشرها باستخدام مشغل Milvus.</li> |
| 58 | +<li>الوصول إلى <code translate="no">kubectl</code> لإدارة موارد Kubernetes.</li> |
| 59 | +<li>الإلمام ببنية Milvus و Kubernetes HPA.</li> |
| 60 | +</ul> |
| 61 | +<h2 id="Configure-HPA-with-Milvus-Operator" class="common-anchor-header">تكوين HPA باستخدام مشغل Milvus<button data-href="#Configure-HPA-with-Milvus-Operator" class="anchor-icon" translate="no"> |
| 62 | + <svg translate="no" |
| 63 | + aria-hidden="true" |
| 64 | + focusable="false" |
| 65 | + height="20" |
| 66 | + version="1.1" |
| 67 | + viewBox="0 0 16 16" |
| 68 | + width="16" |
| 69 | + > |
| 70 | + <path |
| 71 | + fill="#0092E4" |
| 72 | + fill-rule="evenodd" |
| 73 | + d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" |
| 74 | + ></path> |
| 75 | + </svg> |
| 76 | + </button></h2><p>لتمكين HPA في مجموعة Milvus التي يديرها مشغل Milvus، اتبع الخطوات التالية:</p> |
| 77 | +<ol> |
| 78 | +<li><p><strong>اضبط النسخ المتماثلة على -1</strong>:</p> |
| 79 | +<p>في مورد Milvus المخصص (CR)، قم بتعيين الحقل <code translate="no">replicas</code> إلى <code translate="no">-1</code> للمكون الذي تريد توسيع نطاقه باستخدام HPA. هذا يفوض التحكم في القياس إلى HPA بدلاً من المشغل. يمكنك تحرير المورد المخصص مباشرةً أو استخدام الأمر التالي <code translate="no">kubectl patch</code> للتبديل بسرعة إلى التحكم في HPA:</p> |
| 80 | +<pre><code translate="no" class="language-bash">kubectl patch milvus <your-release-name> --<span class="hljs-built_in">type</span>=<span class="hljs-string">'json'</span> -p=<span class="hljs-string">'[{"op": "replace", "path": "/spec/components/proxy/replicas", "value": -1}]'</span> |
| 81 | +<button class="copy-code-btn"></button></code></pre> |
| 82 | +<p>استبدل <code translate="no"><your-release-name></code> باسم مجموعة ميلفوس العنقودية الخاصة بك.</p> |
| 83 | +<p>للتحقق من تطبيق التغيير، قم بالتشغيل:</p> |
| 84 | +<pre><code translate="no" class="language-bash">kubectl <span class="hljs-keyword">get</span> milvus <your-release-name> -o jsonpath=<span class="hljs-string">'{.spec.components.proxy.replicas}'</span> |
| 85 | +<button class="copy-code-btn"></button></code></pre> |
| 86 | +<p>يجب أن يكون الناتج المتوقع هو <code translate="no">-1</code> ، مما يؤكد أن المكون <code translate="no">proxy</code> أصبح الآن تحت سيطرة HPA.</p> |
| 87 | +<p>بدلاً من ذلك، يمكنك تعريفه في CR YAML:</p> |
| 88 | +<pre><code translate="no" class="language-yaml">apiVersion: milvus.io/v1beta1 |
| 89 | +kind: Milvus |
| 90 | +metadata: |
| 91 | + name: <your-release-name> |
| 92 | +spec: |
| 93 | + mode: cluster |
| 94 | + components: |
| 95 | + proxy: |
| 96 | + replicas: -1 |
| 97 | +<button class="copy-code-btn"></button></code></pre></li> |
| 98 | +<li><p><strong>تعريف مورد HPA</strong>:</p> |
| 99 | +<p>قم بإنشاء مورد HPA لاستهداف نشر المكون المطلوب. فيما يلي مثال للمكون <code translate="no">proxy</code>:</p> |
| 100 | +<pre><code translate="no" class="language-yaml">apiVersion: autoscaling/v2 |
| 101 | +kind: HorizontalPodAutoscaler |
| 102 | +metadata: |
| 103 | + name: my-release-milvus-proxy-hpa |
| 104 | +spec: |
| 105 | + scaleTargetRef: |
| 106 | + apiVersion: apps/v1 |
| 107 | + kind: Deployment |
| 108 | + name: my-release-milvus-proxy |
| 109 | + minReplicas: 2 |
| 110 | + maxReplicas: 10 |
| 111 | + metrics: |
| 112 | + - <span class="hljs-built_in">type</span>: Resource |
| 113 | + resource: |
| 114 | + name: cpu |
| 115 | + target: |
| 116 | + <span class="hljs-built_in">type</span>: Utilization |
| 117 | + averageUtilization: 60 |
| 118 | + - <span class="hljs-built_in">type</span>: Resource |
| 119 | + resource: |
| 120 | + name: memory |
| 121 | + target: |
| 122 | + <span class="hljs-built_in">type</span>: Utilization |
| 123 | + averageUtilization: 60 |
| 124 | + behavior: |
| 125 | + scaleUp: |
| 126 | + policies: |
| 127 | + - <span class="hljs-built_in">type</span>: Pods |
| 128 | + value: 1 |
| 129 | + periodSeconds: 30 |
| 130 | + scaleDown: |
| 131 | + stabilizationWindowSeconds: 300 |
| 132 | + policies: |
| 133 | + - <span class="hljs-built_in">type</span>: Pods |
| 134 | + value: 1 |
| 135 | + periodSeconds: 60 |
| 136 | +<button class="copy-code-btn"></button></code></pre> |
| 137 | +<p>استبدل <code translate="no">my-release</code> في <code translate="no">metadata.name</code> و <code translate="no">spec.scaleTargetRef.name</code> باسم مجموعة ميلفوس الفعلي الخاص بك (على سبيل المثال، <code translate="no"><your-release-name>-milvus-proxy-hpa</code> و <code translate="no"><your-release-name>-milvus-proxy</code>).</p></li> |
| 138 | +<li><p><strong>قم بتطبيق تكوين HPA</strong>:</p> |
| 139 | +<p>انشر مورد HPA باستخدام الأمر التالي:</p> |
| 140 | +<pre><code translate="no" class="language-bash">kubectl apply -f hpa.yaml |
| 141 | +<button class="copy-code-btn"></button></code></pre> |
| 142 | +<p>للتحقق من إنشاء HPA بنجاح، قم بتشغيله:</p> |
| 143 | +<pre><code translate="no" class="language-bash">kubectl <span class="hljs-keyword">get</span> hpa |
| 144 | +<button class="copy-code-btn"></button></code></pre> |
| 145 | +<p>يجب أن ترى مخرجات مشابهة لـ:</p> |
| 146 | +<pre><code translate="no">NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE |
| 147 | +my-release-milvus-proxy-hpa Deployment/my-release-milvus-proxy <some>/60% 2 10 2 <time> |
| 148 | +<button class="copy-code-btn"></button></code></pre> |
| 149 | +<p>سيعكس الحقلان <code translate="no">NAME</code> و <code translate="no">REFERENCE</code> اسم المجموعة (على سبيل المثال، <code translate="no"><your-release-name>-milvus-proxy-hpa</code> و <code translate="no">Deployment/<your-release-name>-milvus-proxy</code>).</p></li> |
| 150 | +</ol> |
| 151 | +<ul> |
| 152 | +<li><code translate="no">scaleTargetRef</code>: يحدد النشر لتوسيع النطاق (على سبيل المثال، <code translate="no">my-release-milvus-proxy</code>).</li> |
| 153 | +<li><code translate="no">minReplicas</code> و <code translate="no">maxReplicas</code>: يحدد نطاق القياس (من 2 إلى 10 كبسولات في هذا المثال).</li> |
| 154 | +<li><code translate="no">metrics</code>: يقوم بتهيئة القياس بناءً على استخدام وحدة المعالجة المركزية والذاكرة، مستهدفًا متوسط استخدام بنسبة 60%.</li> |
| 155 | +</ul> |
| 156 | +<h2 id="Conclusion" class="common-anchor-header">الخلاصة<button data-href="#Conclusion" class="anchor-icon" translate="no"> |
| 157 | + <svg translate="no" |
| 158 | + aria-hidden="true" |
| 159 | + focusable="false" |
| 160 | + height="20" |
| 161 | + version="1.1" |
| 162 | + viewBox="0 0 16 16" |
| 163 | + width="16" |
| 164 | + > |
| 165 | + <path |
| 166 | + fill="#0092E4" |
| 167 | + fill-rule="evenodd" |
| 168 | + d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" |
| 169 | + ></path> |
| 170 | + </svg> |
| 171 | + </button></h2><p>يسمح HPA لـ Milvus بالتكيف بكفاءة مع أعباء العمل المختلفة. باستخدام الأمر <code translate="no">kubectl patch</code> ، يمكنك تبديل أحد المكونات بسرعة إلى التحكم في HPA دون تحرير CR الكامل يدويًا. لمزيد من التفاصيل، راجع <a href="https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/">وثائق Kubernetes HPA</a>.</p> |
0 commit comments