forked from docs/doc-exports
Reviewed-by: Eotvos, Oliver <oliver.eotvos@t-systems.com> Co-authored-by: Dong, Qiu Jian <qiujiandong1@huawei.com> Co-committed-by: Dong, Qiu Jian <qiujiandong1@huawei.com>
118 lines
18 KiB
HTML
118 lines
18 KiB
HTML
<a name="cce_bestpractice_10010"></a><a name="cce_bestpractice_10010"></a>
|
|
|
|
<h1 class="topictitle1">Pre-Binding Container ENI for CCE Turbo Clusters</h1>
|
|
<div id="body0000001462926721"><p id="cce_bestpractice_10010__p8060118">In the Cloud Native Network 2.0 model, each pod is allocated an ENI or a sub-ENI (called container ENI). The speed of ENI creation and binding is slower than that of pod scaling, severely affecting the container startup speed in large-scale batch creation. Therefore, the Cloud Native Network 2.0 model provides the dynamic pre-binding of container ENIs to accelerate pod startup while improving IP resource utilization.</p>
|
|
<div class="section" id="cce_bestpractice_10010__section12659173995317"><h4 class="sectiontitle">Constraints</h4><ul id="cce_bestpractice_10010__ul211116566537"><li id="cce_bestpractice_10010__li181113561537">CCE Turbo clusters of 1.19.16-r4, 1.21.7-r0, 1.23.5-r0, 1.25.1-r0 or later support ENI pre-binding, global configuration at the cluster level, and custom settings at the node pool level. Custom settings of nodes out of a node pools is not supported.</li><li id="cce_bestpractice_10010__li411117560531">CCE Turbo clusters of 1.19.16-r2, 1.21.5-r0, 1.23.3-r0 to 1.19.16-r4, 1.21.7-r0, 1.23.5-r0 only support two parameters, <strong id="cce_bestpractice_10010__b7144115313419">nic-minimum-target</strong> and <strong id="cce_bestpractice_10010__b197671656143414">nic-warm-target</strong>, and do not support custom settings at the node pool level.</li><li id="cce_bestpractice_10010__li2011113564533">Modify the dynamic pre-binding parameters using the console or API instead of the node annotations in the background. Otherwise, the modified annotations will be overwritten by the original values after the cluster is upgraded.</li></ul>
|
|
</div>
|
|
<div class="section" id="cce_bestpractice_10010__section593191035518"><h4 class="sectiontitle">How It Works</h4><p id="cce_bestpractice_10010__p05249209554">CCE Turbo provides four dynamic pre-binding parameters for container ENIs. You can properly configure the parameters based on your service requirements. (The node pool-level dynamic ENI pre-binding parameters take priority over the cluster-level dynamic ENI pre-binding parameters.)</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="cce_bestpractice_10010__table12837154511555" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameters of the dynamic ENI pre-binding policy</caption><thead align="left"><tr id="cce_bestpractice_10010__en-us_topic_0000001244261049_row68387451552"><th align="left" class="cellrowborder" valign="top" width="23.597640235976403%" id="mcps1.3.3.3.2.5.1.1"><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p15544654105610">Parameter</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="8.739126087391263%" id="mcps1.3.3.3.2.5.1.2"><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p10544135465610">Default Value</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="49.27507249275072%" id="mcps1.3.3.3.2.5.1.3"><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p185443543564">Description</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="18.388161183881614%" id="mcps1.3.3.3.2.5.1.4"><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p5533161014014">Suggestion</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="cce_bestpractice_10010__en-us_topic_0000001244261049_row1583874565519"><td class="cellrowborder" valign="top" width="23.597640235976403%" headers="mcps1.3.3.3.2.5.1.1 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p11544354145615">nic-minimum-target</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="8.739126087391263%" headers="mcps1.3.3.3.2.5.1.2 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p2054425416564">10</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="49.27507249275072%" headers="mcps1.3.3.3.2.5.1.3 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p954465475620">Minimum number of ENIs bound to a node. The value can be a number or a percentage.</p>
|
|
<ul id="cce_bestpractice_10010__en-us_topic_0000001244261049_ul1354212181438"><li id="cce_bestpractice_10010__en-us_topic_0000001244261049_li554316181032">Value: The value must be a positive integer. For example, 10 indicates that at least 10 ENIs are bound to a node. If the ENI quota of a node is exceeded, the ENI quota is used.</li><li id="cce_bestpractice_10010__en-us_topic_0000001244261049_li05435182319">Percentage: The value ranges from 1% to 100%. For example, 10%. If the ENI quota of a node is 128, at least 12 (rounded down) ENIs are bound to the node.</li></ul>
|
|
<p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p125441354165613">Set both <strong id="cce_bestpractice_10010__b19994163132710">nic-minimum-target</strong> and <strong id="cce_bestpractice_10010__b1699473102720">nic-maximum-target</strong> to the same value or percentage.</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="18.388161183881614%" headers="mcps1.3.3.3.2.5.1.4 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p146974331425">Set these parameters based on the number of pods.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="cce_bestpractice_10010__en-us_topic_0000001244261049_row1838134510559"><td class="cellrowborder" valign="top" width="23.597640235976403%" headers="mcps1.3.3.3.2.5.1.1 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p155441754115610">nic-maximum-target</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="8.739126087391263%" headers="mcps1.3.3.3.2.5.1.2 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p254495411569">0</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="49.27507249275072%" headers="mcps1.3.3.3.2.5.1.3 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p16544175455617">If the number of ENIs bound to a node exceeds the value of <strong id="cce_bestpractice_10010__b10929164810274">nic-maximum-target</strong>, the system does not proactively pre-bind NICs.</p>
|
|
<p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p75441054135616">If the value of this parameter is greater than or equal to the value of <strong id="cce_bestpractice_10010__b14486192514289">nic-minimum-target</strong>, the check on the maximum number of the pre-bound ENIs is enabled. Otherwise, the check is disabled. The value can be a number or a percentage.</p>
|
|
<ul id="cce_bestpractice_10010__en-us_topic_0000001244261049_ul07411381247"><li id="cce_bestpractice_10010__en-us_topic_0000001244261049_li1874112814412">Value: The value must be a positive integer. For example, 0. The check on the maximum number of the pre-bound ENIs is disabled. If the ENI quota of a node is exceeded, the ENI quota is used.</li><li id="cce_bestpractice_10010__en-us_topic_0000001244261049_li187411283411">Percentage: The value ranges from 1% to 100%. For example, 50%. If the ENI quota of a node is 128, the maximum number of the pre-bound ENI is 64 (rounded down).</li></ul>
|
|
<p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p65441554175620">Set both <strong id="cce_bestpractice_10010__b118331033152917">nic-minimum-target</strong> and <strong id="cce_bestpractice_10010__b1183373322912">nic-maximum-target</strong> to the same value or percentage.</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="18.388161183881614%" headers="mcps1.3.3.3.2.5.1.4 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p11600134516218">Set these parameters based on the number of pods.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="cce_bestpractice_10010__en-us_topic_0000001244261049_row075618516568"><td class="cellrowborder" valign="top" width="23.597640235976403%" headers="mcps1.3.3.3.2.5.1.1 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p115445545562">nic-warm-target</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="8.739126087391263%" headers="mcps1.3.3.3.2.5.1.2 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p1754435418569">2</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="49.27507249275072%" headers="mcps1.3.3.3.2.5.1.3 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p145441454125616">Extra ENIs will be pre-bound after the <strong id="cce_bestpractice_10010__b111096241309">nic-minimum-target</strong> is used up in a pod. The value can only be a number.</p>
|
|
<p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p18544354115619">When the value of <strong id="cce_bestpractice_10010__b1693613419309">nic-warm-target</strong> + the number of bound ENIs is greater than the value of <strong id="cce_bestpractice_10010__b169361434123017">nic-maximum-target</strong>, the system will pre-bind ENIs based on the difference between the value of <strong id="cce_bestpractice_10010__b1593693493018">nic-maximum-target</strong> and the number of bound ENIs.</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="18.388161183881614%" headers="mcps1.3.3.3.2.5.1.4 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p16533910603">Set this parameter to the number of pods that can be scaled out instantaneously within 10 seconds.</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="cce_bestpractice_10010__en-us_topic_0000001244261049_row14150115315561"><td class="cellrowborder" valign="top" width="23.597640235976403%" headers="mcps1.3.3.3.2.5.1.1 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p954435415565">nic-max-above-warm-target</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="8.739126087391263%" headers="mcps1.3.3.3.2.5.1.2 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p105451654145616">2</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="49.27507249275072%" headers="mcps1.3.3.3.2.5.1.3 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p15545354185619">Only when the number of idle ENIs on a node minus the value of <strong id="cce_bestpractice_10010__b3464631154510">nic-warm-target</strong> is greater than the threshold, the pre-bound ENIs will be unbound and reclaimed. The value can only be a number.</p>
|
|
<ul id="cce_bestpractice_10010__en-us_topic_0000001244261049_ul1163419561149"><li id="cce_bestpractice_10010__en-us_topic_0000001244261049_li9634756047">Setting a larger value of this parameter slows down the recycling of idle ENIs and accelerates pod startup. However, the IP address usage decreases, especially when IP addresses are insufficient. Therefore, <strong id="cce_bestpractice_10010__b3111624184511">exercise caution when increasing the value of this parameter</strong>.</li><li id="cce_bestpractice_10010__en-us_topic_0000001244261049_li8634195615410">Setting a smaller value of this parameter accelerates the recycling of idle ENIs and improves the IP address usage. However, when a large number of pods increase instantaneously, the startup of some pods slows down.</li></ul>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="18.388161183881614%" headers="mcps1.3.3.3.2.5.1.4 "><p id="cce_bestpractice_10010__en-us_topic_0000001244261049_p1963305914219">Set this parameter based on the difference between the number of pods that are frequently scaled on most nodes within minutes and the number of pods that are instantly scaled out on most nodes within 10 seconds.</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="cce_bestpractice_10010__section1688214241613"><a name="cce_bestpractice_10010__section1688214241613"></a><a name="section1688214241613"></a><h4 class="sectiontitle">Configuration Example</h4>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="cce_bestpractice_10010__table11780174411616" frame="border" border="1" rules="all"><thead align="left"><tr id="cce_bestpractice_10010__row5781184414616"><th align="left" class="cellrowborder" valign="top" width="8.400000000000002%" id="mcps1.3.4.2.1.4.1.1"><p id="cce_bestpractice_10010__p20486458713">Level</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="54.480000000000004%" id="mcps1.3.4.2.1.4.1.2"><p id="cce_bestpractice_10010__p123431141473">Service Scenario</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="37.120000000000005%" id="mcps1.3.4.2.1.4.1.3"><p id="cce_bestpractice_10010__p13343141971">Configuration Example</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="cce_bestpractice_10010__row7781114413613"><td class="cellrowborder" valign="top" width="8.400000000000002%" headers="mcps1.3.4.2.1.4.1.1 "><p id="cce_bestpractice_10010__p174810451679">Cluster</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="54.480000000000004%" headers="mcps1.3.4.2.1.4.1.2 "><p id="cce_bestpractice_10010__p193431941372">All nodes use the c7.4xlarge.2 model (sub-ENI quota: 128).</p>
|
|
<p id="cce_bestpractice_10010__p123431941973">Most nodes run about 20 pods.</p>
|
|
<p id="cce_bestpractice_10010__p173431941070">Most nodes can run a maximum of 60 pods.</p>
|
|
<p id="cce_bestpractice_10010__p03431741572">Most nodes can scale out 10 pods within 10 seconds.</p>
|
|
<p id="cce_bestpractice_10010__p63431046716">Most nodes frequently scale in or out 15 pods within minutes.</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="37.120000000000005%" headers="mcps1.3.4.2.1.4.1.3 "><p id="cce_bestpractice_10010__p13433420715">Cluster-level global configuration:</p>
|
|
<ul id="cce_bestpractice_10010__ul015611121072"><li id="cce_bestpractice_10010__li4156512277">nic-minimum-target: 20 or 16%</li><li id="cce_bestpractice_10010__li1915641210714">nic-maximum-target: 60 or 47%</li><li id="cce_bestpractice_10010__li51564121976">nic-warm-target: 10</li><li id="cce_bestpractice_10010__li131561312874">nic-max-above-warm-target: 5</li></ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="cce_bestpractice_10010__row1578114441463"><td class="cellrowborder" valign="top" width="8.400000000000002%" headers="mcps1.3.4.2.1.4.1.1 "><p id="cce_bestpractice_10010__p204834514715">Node pool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="54.480000000000004%" headers="mcps1.3.4.2.1.4.1.2 "><p id="cce_bestpractice_10010__p1234315411715">A node pool that uses the c7.8xlarge.2 high-specification model is created in the cluster. (sub-ENI quota: 256)</p>
|
|
<p id="cce_bestpractice_10010__p193432416712">Most nodes run about 100 pods.</p>
|
|
<p id="cce_bestpractice_10010__p14343164771">Most nodes can run a maximum of 128 pods.</p>
|
|
<p id="cce_bestpractice_10010__p6343240715">Most nodes can scale out 10 pods within 10 seconds.</p>
|
|
<p id="cce_bestpractice_10010__p93431948711">Most nodes frequently scale in or out 12 pods within minutes.</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="37.120000000000005%" headers="mcps1.3.4.2.1.4.1.3 "><p id="cce_bestpractice_10010__p33431441072">Custom settings at the node pool level:</p>
|
|
<ul id="cce_bestpractice_10010__ul139295163716"><li id="cce_bestpractice_10010__li1892931611711">nic-minimum-target: 100 or 40%</li><li id="cce_bestpractice_10010__li89295169716">nic-maximum-target: 120 or 50%</li><li id="cce_bestpractice_10010__li1292913168716">nic-warm-target: 10</li><li id="cce_bestpractice_10010__li119291516177">nic-max-above-warm-target: 2</li></ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="note" id="cce_bestpractice_10010__note4736374812"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="cce_bestpractice_10010__p18737971883">Pods using HostNetwork are excluded.</p>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="cce_bestpractice_10010__section276814274818"><h4 class="sectiontitle">Cluster-level Global Configuration</h4><ol id="cce_bestpractice_10010__ol19733527491"><li id="cce_bestpractice_10010__li114312175131"><span>Log in to the CCE console. In the navigation pane, choose <span class="uicontrol" id="cce_bestpractice_10010__uicontrol9952162410164"><b>Clusters</b></span>.</span></li><li id="cce_bestpractice_10010__li6610192715714"><span>Click <span><img id="cce_bestpractice_10010__image1651517417146" src="en-us_image_0000001701704269.png"></span> next to the target cluster.</span></li><li id="cce_bestpractice_10010__li12641628131216"><span>In the <span class="uicontrol" id="cce_bestpractice_10010__uicontrol11655286129"><b>Manage Component</b></span> window that is displayed on the sidebar, select <strong id="cce_bestpractice_10010__b10609163852412">Networking Components</strong>. For details about the parameter values, see <a href="#cce_bestpractice_10010__section1688214241613">Configuration Example</a>.</span><p><p id="cce_bestpractice_10010__p54961737131218"></p>
|
|
</p></li><li id="cce_bestpractice_10010__li5217467102"><span>After the configuration is complete, click <strong id="cce_bestpractice_10010__b6993148162517">OK</strong>. Wait for about 10 seconds for the configuration to take effect.</span></li></ol>
|
|
</div>
|
|
<div class="section" id="cce_bestpractice_10010__section9981538914"><h4 class="sectiontitle">Custom Settings at the Node Pool Level</h4><ol id="cce_bestpractice_10010__ol5981831516"><li id="cce_bestpractice_10010__li330462393220"><span>Log in to the CCE console.</span></li><li id="cce_bestpractice_10010__li2075471341"><span>Click the cluster name to access the cluster console, choose <span class="uicontrol" id="cce_bestpractice_10010__uicontrol1866139141718"><b>Nodes</b></span> on the left, and click the <strong id="cce_bestpractice_10010__b66616981719">Node Pools</strong> tab on the right.</span></li><li id="cce_bestpractice_10010__li4919175839"><span>Choose <strong id="cce_bestpractice_10010__b1127663581714">More</strong> > <strong id="cce_bestpractice_10010__b0276193541711">Manage</strong> next to the node pool name.</span></li><li id="cce_bestpractice_10010__li02168436192"><span>In the <span class="uicontrol" id="cce_bestpractice_10010__uicontrol571615064014"><b>Manage Component</b></span> window that is displayed on the sidebar, select <strong id="cce_bestpractice_10010__b17164503409">Networking Components</strong>. For details about the parameter values, see <a href="#cce_bestpractice_10010__section1688214241613">Configuration Example</a>.</span><p><p id="cce_bestpractice_10010__p11957549201916"></p>
|
|
</p></li><li id="cce_bestpractice_10010__li4703105317193"><span>After the configuration is complete, click <strong id="cce_bestpractice_10010__b1421743315119">OK</strong>. Wait for about 10 seconds for the configuration to take effect.</span></li></ol>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="cce_bestpractice_0052.html">Networking</a></div>
|
|
</div>
|
|
</div>
|
|
|