Istio 注入带有 secret 和 configmap 的应用程序

Istio injection with an app with secret and configmap

我正在尝试使用 Istio/envoy 入口测试 SSL 直通,因为我能够使用 nginx 入口控制器实现它。 所以我创建了一个 nginx https 部署并测试了 deployment/pod/service 的效果。

但是,当我像往常一样运行时,kubectl apply -f <(istioctl kube-inject -f ~/nginx/nginx-app.yaml)部署不会继续(因此没有创建 pod)。

似乎是卷和装载导致了问题。 Istio 似乎也在尝试挂载这些。

spec:
      volumes:
      - name: secret-volume
        secret:
          secretName: nginxsecret
      - name: configmap-volume
        configMap:
          name: nginxconfigmap
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: nginx
        ports:
        - containerPort: 80
        - containerPort: 443
        volumeMounts:
          - mountPath: /etc/nginx/ssl
            name: secret-volume
          - mountPath: /etc/nginx/conf.d
            name: configmap-volume

有没有人有见识?

谢谢!

我找到了解决办法。 与https://github.com/istio/istio/issues/3548有关 该问题已修复但尚未合并。 所以解决方法是添加 sidecar.istio.io/inject: "false"

例如

spec:
  replicas: 1
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "false"
      labels:
        app: nginx