3.4.4 开启需要自动注入Sidecar的命名空间

根据上述启用Sidecar自动注入的规则,enableNamespacesByDefault设置为false时,命名空间中设置了标签istio-injection并且值为enabled,才会启用Sidecar自动注入。

执行以下命名可以为命名空间default增加标签istio-injection且值设为enabled:


kubectl label namespace default istio-injection=enabled

至此,命名空间default已经支持Sidecar自动注入,运行如下命令等同于前面文章中介绍的手工注入,系统会自动注入Envoy容器作为Sidecar:


kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

具体来说,是否进行Sidecar自动注入取决于以下三个条件:

·Webhook的namespaceSelector机制。

·默认策略。

·每个pod的可覆盖注解。

表3-1展示了基于三个条件变量的最终的注入状态。

表3-1 基于三个条件变量的最终的注入状态