【问题标题】:can't create pods - failed calling webhook "sidecar-injector.istio.io"无法创建 pod - 调用 webhook "sidecar-injector.istio.io" 失败
【发布时间】:2021-04-12 14:54:39
【问题描述】:

Kubernetes 版本:1.17.14-gke.400

我在使用 istio 设置创建 pod 时遇到问题,我从 sidecar 注入器收到超时错误。

我使用以下命令设置 istio (1.8.1):

istioctl install --set profile=minimal \
 --set values.cni.cniBinDir=/home/kubernetes/bin \
 --set 'values.cni.excludeNamespaces[0]'=kube-system \
 --set 'values.cni.excludeNamespaces[1]'=istio-system \
 --set 'values.cni.excludeNamespaces[2]'=backend \
 --set components.cni.enabled=true \
 --set components.cni.namespace=kube-system

然后,当我尝试部署睡眠样本时,我得到了这两个错误之一 kubectl apply -f samples/sleep/sleep.yaml

Error creating: Internal error occurred: failed calling webhook "sidecar-injector.istio.io": Post https://istiod.istio-system.svc:443/inject?timeout=30s: context deadline exceeded

Error creating: Internal error occurred: failed calling webhook "sidecar-injector.istio.io": Post https://istiod.istio-system.svc:443/inject?timeout=30s: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

我确实启用了网络策略,但我在 istio-system 的 kube-system 中没有任何设置。此外,当我卷曲该端点时,我会收到 400 错误。

【问题讨论】:

    标签: kubernetes google-kubernetes-engine istio


    【解决方案1】:

    我的问题原来是我需要更新防火墙规则以添加端口 15017,即使我没有私有集群:https://istio.io/latest/docs/setup/platform-setup/gke/

    【讨论】:

      【解决方案2】:

      从 GKE 1.16 升级到 1.17 存在一个已知问题。在升级到 1.17 期间,您在 istio-system 命名空间中创建的任何自定义资源都会被删除。这些资源必须手动重新创建。在修复推出之前,我们建议不要将带有 Istio 插件的集群升级到 1.17。该问题仅在升级期间出现,因此新集群不受影响。查看此release notes 了解更多详情。

      【讨论】:

      • 这是一个全新的 istio 安装
      猜你喜欢
      • 2021-10-06
      • 2020-05-27
      • 2017-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多