IstioOperator 和 sidecar 自动注入

IstioOperator and sidecar autoinjection

如何使用 IstioOperator 启用 sidecar 注入?这是我的配置,还不够。

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: control-plane-1-9-4
  namespace: istio-system
spec:
  components:
    base:
      enabled: true
    pilot:
      enabled: true
  profile: default
  revision: 1-9-4
  values:
    global:
      proxy:
        autoInject: enabled

默认启用自动注入。

$ kubectl get configmap istio-sidecar-injector -n istio-system -o yaml | head -6
apiVersion: v1
data:
  config: |-
    # defaultTemplates defines the default template to use for pods that do not explicitly specify a template
    defaultTemplates: [sidecar]
    policy: enabled

您可以通过将值设置为 disabled 来禁用此功能。

  values:
    global:
      proxy:
        autoInject: disabled

现在命名空间上的 istio-injection=enabled 标签将被忽略。 您必须在应用程序清单中手动设置 sidecar 注释:

      annotations:
        sidecar.istio.io/inject: "true"

docs

中有关该主题的更多信息

我猜你想做的是默认在任何命名空间上启用自动注入。这不可能。

此问题与 revision 安装期间的参数使用有关 istioctl operator init --revision 1-9-4

如果使用 --revision 那么 NS 应该是这样的:

apiVersion: v1
kind: Namespace
metadata:
  labels:
    istio.io/rev: 1-9-4
  name: default

问题报告:https://github.com/istio/istio/issues/32746