tencent cloud

文档反馈

没有自动注入 Sidecar

最后更新时间:2023-12-26 15:29:59
    通过 kubectl label namespace xxx istio-injection=enabled 为某个 namespace 开启 sidecar 自动注入,发现不生效。

    TCM 自动注入的 label

    TCM 1.6 及其以上的版本并不是用 istio-injection=enabled 这个 label 来开启 namespace 的自动注入,而是用类似 istio.io/rev=1-8-1 这样的 label,根据不同的版本不一样:
    1.6 是 istio.io/rev=1-6-9
    1.8 是 istio.io/rev=1-8-1
    所以如果用社区常见的 istio-injection=enabled 这样的 label,在 TCM 上是不会生效的,以下为不使用社区常见的 label 的原因。

    网格灰度升级需使用不同 label

    为了支持服务网格的灰度升级,就需要新旧两个控制面共存一段时间,让旧的数据面逐渐滚动更新升级并连到新的控制面,如果两个控制面都使用同一个 label 来识别是否需要自动注入,在滚动更新的过程中,两个控制面都去注入 sidecar,就会造成冲突。所以 istio 官方给出了 灰度升级方案,正是基于不同控制面使用不同 label 的方法来实现多控制面共存,这也是 TCM 所采用的方案。

    TCM 如何开启自动注入

    在服务网格控制台,选择服务 > sidecar 自动注入。如下图所示:
    
    
    
    然后勾选需要开启自动注入的命名空间即可。
    也可以通过使用 kubectl 给 namespace 打 label 来开启:
    kubectl label namespace xxx istio.io/rev=1-8-1
    注意:
    注意替换 namespace 以及根据版本替换对应的 label。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持