• Sidecar 自动注入

    Sidecar 自动注入

    Sidecar 自动注入机制将 sidecar 代理添加到用户创建的 pod。

    它使用 MutatingWebhook 机制在 pod 创建的时候将 sidecar 的容器和卷添加到每个 pod 的模版里。

    用户可以通过 webhooks namespaceSelector 机制来限定需要启动自动注入的范围,也可以通过注解的方式针对每个 pod 来单独启用和禁用自动注入功能。

    Sidecar 是否会被自动注入取决于下面 3 条配置和 2 条安全规则:

    配置:

    • webhooks namespaceSelector
    • 默认策略
    • pod 级别的覆盖注解安全规则:

    • sidecar 默认不能被注入到 kube-systemkube-public 这两个 namespace

    • sidecar 不能被注入到使用 host network 网络的pod里下面的表格展示了基于上述三个配置条件的最终注入状态。上述的安全规则不会被覆盖。
    namespaceSelector 匹配默认策略Pod 覆盖 sidecar.istio.io/inject 注解Sidecar 是否注入?
    yesenabledtrue (default)yes
    yesenabledfalseno
    yesdisabledtrueyes
    yesdisabledfalse (default)no
    noenabledtrue (default)no
    noenabledfalseno
    nodisabledtrueno
    nodisabledfalse (default)no