forked from docs/doc-exports
Reviewed-by: Eotvos, Oliver <oliver.eotvos@t-systems.com> Co-authored-by: qiujiandong1 <qiujiandong1@huawei.com> Co-committed-by: qiujiandong1 <qiujiandong1@huawei.com>
58 lines
6.9 KiB
HTML
58 lines
6.9 KiB
HTML
<a name="asm_faq_0044"></a><a name="asm_faq_0044"></a>
|
|
|
|
<h1 class="topictitle1">How Do I Handle a Canary Upgrade Failure?</h1>
|
|
<div id="body0000001566345722"><p id="asm_faq_0044__p15844739104812">There are many reasons for a canary upgrade failure. In case of a canary upgrade failure, you can use the following solutions to handle it.</p>
|
|
<ol id="asm_faq_0044__ol7822958185419"><li id="asm_faq_0044__li188346725614">Failed to check custom resource definitions (CRDs) before the upgrade.<p id="asm_faq_0044__p116531953105718"><a name="asm_faq_0044__li188346725614"></a><a name="li188346725614"></a><strong id="asm_faq_0044__b257713234302">Solution</strong>: New Istio version does not support some CRDs, including ClusterRbacConfigs, ServiceRoles, ServiceRoleBindings, and Policies. If there are resources to be discarded in the current version, delete them before the upgrade.</p>
|
|
</li><li id="asm_faq_0044__li1350163725711">Failed to check Istio gateway labels before the upgrade.<p id="asm_faq_0044__p899201514013"><a name="asm_faq_0044__li1350163725711"></a><a name="li1350163725711"></a><strong id="asm_faq_0044__b1778184795016">Solution:</strong> Configure Istio gateway labels (specified by <strong id="asm_faq_0044__b177789476508">matchLabels</strong>) in <em id="asm_faq_0044__i477824755012">{app: istio-ingressgateway, istio: ingressgateway}</em> format.</p>
|
|
</li><li id="asm_faq_0044__li6914111195817">Failed to check add-ons before the upgrade.<p id="asm_faq_0044__p108601011633"><a name="asm_faq_0044__li6914111195817"></a><a name="li6914111195817"></a><strong id="asm_faq_0044__b1824118892916">Solution:</strong> ASM 1.8 and later versions do not support the tracing, kiali, grafana, and prometheus add-ons. Uninstall the add-ons before the upgrade. You can install open-source add-ons or use APM.</p>
|
|
</li><li id="asm_faq_0044__li148631614165815">Failed to check the cluster status before the upgrade.<p id="asm_faq_0044__p137912141946"><a name="asm_faq_0044__li148631614165815"></a><a name="li148631614165815"></a><strong id="asm_faq_0044__b438672510125">Solution:</strong> If the cluster is unavailable before the upgrade, do not perform the upgrade.</p>
|
|
</li><li id="asm_faq_0044__li12441191612583">Failed to query resources before the upgrade.<p id="asm_faq_0044__p7802191656"><a name="asm_faq_0044__li12441191612583"></a><a name="li12441191612583"></a><strong id="asm_faq_0044__b128111365512">Solution:</strong> Prepare the required resources for the canary upgrade.</p>
|
|
</li><li id="asm_faq_0044__li1581414179585">Failed to check the cluster version before the upgrade.<p id="asm_faq_0044__p89909508511"><a name="asm_faq_0044__li1581414179585"></a><a name="li1581414179585"></a><strong id="asm_faq_0044__b298104685118">Solution</strong>: Use the cluster version listed in the following table.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="asm_faq_0044__table1655872545813" frame="border" border="1" rules="all"><tbody><tr id="asm_faq_0044__row186381025105817"><td class="cellrowborder" valign="top" width="49.919999999999995%"><p id="asm_faq_0044__p263812555815">Service Mesh Version</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="50.080000000000005%"><p id="asm_faq_0044__p863842516587">Supported Cluster Version</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="asm_faq_0044__row136381425135812"><td class="cellrowborder" valign="top" width="49.919999999999995%"><p id="asm_faq_0044__p1963882595815">1.15</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="50.080000000000005%"><p id="asm_faq_0044__p11638192517583">1.21, 1.23, 1.25, and 1.27</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="asm_faq_0044__row13514175315319"><td class="cellrowborder" valign="top" width="49.919999999999995%"><p id="asm_faq_0044__p16527951103114">1.18</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="50.080000000000005%"><p id="asm_faq_0044__p195271851173113">1.25, 1.27, 1.28, 1.29, and 1.30</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</li><li id="asm_faq_0044__li17960131875820">Failed to check the component affinity before the upgrade.<p id="asm_faq_0044__p669312468613"><a name="asm_faq_0044__li17960131875820"></a><a name="li17960131875820"></a><strong id="asm_faq_0044__b1568325792715">Solutions</strong>: If you upgrade Istio from a non-canary version to a canary version, ensure that there are at least twice as many nodes labeled with <strong id="asm_faq_0044__b7683957102712">istio:master</strong> as there are istiod instances, and at least twice as many schedulable nodes as there are istio-ingressgateway or istio-egressgateway instances (depending on which one is larger). If such conditions are not met, add nodes to meet the scheduling requirements or set the anti-affinity of istiod, istio-ingressgateway, and istio-egressgateway to <strong id="asm_faq_0044__b15683165711272">Preferred</strong>.</p>
|
|
<ul id="asm_faq_0044__ul20572165411417"><li id="asm_faq_0044__li6572155414140">Method 1: Add nodes labeled with <strong id="asm_faq_0044__b12596411145311">istio:master</strong> on the CCE console.</li></ul>
|
|
<p id="asm_faq_0044__p8632111679"></p>
|
|
<ul id="asm_faq_0044__ul0794122213159"><li id="asm_faq_0044__li979416226154"><strong id="asm_faq_0044__b11987104419536">Solution 2</strong>: Edit the YAML file to modify the anti-affinity policy on the CCE console.</li></ul>
|
|
<p id="asm_faq_0044__p26327119718"></p>
|
|
<pre class="screen" id="asm_faq_0044__screen1177622115514">preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 1
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchExpressions:
|
|
- key: app
|
|
operator: In
|
|
values:
|
|
- istiod (For the anti-affinity policy of istio-ingressgateway, replace the value of <strong id="asm_faq_0044__b149420513549">values</strong> with <strong id="asm_faq_0044__b159417516540">istio-ingressgateway</strong>. For the anti-affinity policy of istio-egressgateway, replace the value of <strong id="asm_faq_0044__b11941651105419">values</strong> with <strong id="asm_faq_0044__b594165165412">istio-egressgateway</strong>.)
|
|
namespaces:
|
|
- istio-system
|
|
topologyKey: kubernetes.io/hostname</pre>
|
|
<p id="asm_faq_0044__p11633141777">Alternatively, change the anti-affinity from <strong id="asm_faq_0044__b1742791355512">Required</strong> to <strong id="asm_faq_0044__b94271813195510">Preferred</strong> on the CCE console.</p>
|
|
<p id="asm_faq_0044__p2633011178"></p>
|
|
</li><li id="asm_faq_0044__li485331955816">Failed to check the automatic namespace injection before the upgrade.<p id="asm_faq_0044__p49178221785"><a name="asm_faq_0044__li485331955816"></a><a name="li485331955816"></a><strong id="asm_faq_0044__b4661328105520">Solution:</strong> If there are pods in the namespace when you migrate service mesh data from the Dedicated edition to the Basic edition, enable automatic injection for the namespace.</p>
|
|
</li></ol>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="asm_faq_0019.html">Mesh Management</a></div>
|
|
</div>
|
|
</div>
|
|
|