
# 所有Pod是否都注入了sidecar
#### 问题描述
Service管理的所有Pod都必须存在istio-proxy容器，否则报此异常。
#### 修复指导
1. 登录ASM控制台，选择服务所在网格。单击左侧导航中的"网格配置"，选择"sidecar管理"页签，检查服务所在命名空间是否已注入sidecar。 
   - 未注入，执行[2]。
   
   - 已注入，执行[3]。
     检查方法如下：
     在CCE控制台，进入集群详情的命名空间页面，单击您的命名空间操作列的"编辑YAML"，如果存在istio.io/rev=\<revision\>或者istio-injection=enabled标签内容说明已注入sidecar。
     ![](https://support.huaweicloud.com/usermanual-asm/public_sys-resources/note_3.0-zh-cn.png)
     - 1.13.9-r3及以下istio版本、1.15.5-r2及以下istio版本，需存在istio-injection=enabled标签。请注意版本号使用中划线连接。
     
     - 1.13.9-r3以上istio版本、1.15.5-r2以上istio版本、1.18所有istio版本，需存在istio.io/rev=\<revision\> 标签。请注意版本号使用中划线连接，如下图： ![](https://support.huaweicloud.com/usermanual-asm/zh-cn_image_0000002086005592.png)
       
       
   
   
   
   
2. 可参考[sidecar注入](https://support.huaweicloud.com/usermanual-asm/asm_01_0041.html#asm_01_0041__section65931513505)为您的某个负载或者命名空间下的所有工作负载关联的Pod注入sidecar。
   
   这两种场景注入的方法如下：
   - 为命名空间下所有工作负载关联的Pod注入sidecar ，即打上标签。请根据下面说明中的不同istio版本打不同的标签。打标签命令如下：
     ```
     kubectl label ns <namespace> istio-injection=enabled
     ```
     或者
     ```
     kubectl label ns <namespace> istio.io/rev=<revision>
     ```
     ![](https://support.huaweicloud.com/usermanual-asm/public_sys-resources/note_3.0-zh-cn.png)
     系统将根据不同的istio版本为命名空间设置标签：
     - 设置istio-injection=enabled标签，适用于1.13.9-r3及以下版本、1.15.5-r2及以下版本。
     
     
     
     - 设置istio.io/rev=\<revision\> 标签，适用于1.13.9-r3以上版本、1.15.5-r2以上版本、1.18所有版本。
       
   
   
   
   - 只为某个工作负载注入sidecar 在CCE控制台，在工作负载所在行，单击您的工作负载操作列的"更多 \> 编辑YAML"，请根据您的istio版本手动添加annotations字段或者labels字段。
     - 1.13.9-r3以上版本、1.15.5-r2以上版本、1.18所有版本，设置如下：
       ```
       labels:
               istio.io/rev=<revision>
       ```
       
     
     - 1.13.9-r3及以下版本、1.15.5-r2及以下版本，设置如下：
       ```
       annotations:
               istio-injection: enabled
       ```
       
      
   
   
   您可以单击[Installing the Sidecar](https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/)了解更多sidecar注入的知识。
   
   
3. 如果网格已经开启了命名空间注入，但是Pod未注入sidecar，需要在CCE控制台手动重启Pod。方法如下：
   
   登录CCE控制台，在工作负载所在行，单击操作列的"更多 \> 重新部署"。
   
   
4. 检查工作负载是否配置了主机网络模式。方法如下： 
   登录CCE控制台，在工作负载所在行，单击操作列的"更多 \> 编辑YAML"，查看是否配置了spec.template.spec.hostNetwork: true。如果是，请确认是否可将该字段删除或者配置为false，否则不允许注入sidecar。
   ![](https://support.huaweicloud.com/usermanual-asm/zh-cn_image_0000001344069664.png)
   
   
5. 检查网格实例数量是否已经超出限额。 
   如果实例总数已经超出 200，那么超出部分的实例将无法注入sidecar。
   
   
 
