【问题标题】:Istio: failed calling admission webhook Address is not allowedIstio:调用 admission webhook 地址失败
【发布时间】:2019-12-09 01:50:45
【问题描述】:

为示例 bookinfo 应用程序创建网关时出现以下错误

发生内部错误:调用 admission webhook 失败 “pilot.validation.istio.io”:发布 https://istio-galley.istio-system.svc:443/admitpilot?timeout=30s: 地址不允许

我使用两个节点组(每个都有两个实例)创建了一个 EKS poc 集群,一个使用 t2.medium,另一个使用 t2.large 类型的实例,在我的开发 AWS 账户中使用两个具有 /26 子网的子网使用 EKS 提供的默认 VPC-CNI

但是随着集群在运行多个服务的情况下不断增长,我开始面临 IP 不可用的问题(根据文档默认 vpc-cni 驱动程序将 pod 视为 EC2 实例)

为了避免同样的情况,我按照以下帖子将网络从默认更改为编织

https://medium.com/codeops/installing-weave-cni-on-aws-eks-51c2e6b7abc8

由于同样的原因,我已经解决了 IP 不可用问题,

现在从 vpc-cni 重新配置网络到 weave

我开始根据主题行解决我使用 Istio 配置的服务网格的问题

在网格内部运行了几个服务,并且还集成了 kiali、prometheus、jaeger。

我尝试查看 Github (https://github.com/istio/istio/issues/9998) 和文档 (https://istio.io/docs/ops/setup/validation/),但无法得到正确有效的答案。

如果有人遇到此问题并对此有部分/完整的解决方案,请告诉我。

【问题讨论】:

    标签: amazon-web-services kubernetes istio amazon-eks


    【解决方案1】:

    这“似乎”与从 AWS CNI 到 weave 的切换有关。 CNI 使用您的 VPC 的 IP 范围,而 weave 使用其自己的地址范围(用于 pod),因此可能还有来自 AWS CNI 的剩余 iptables 规则,例如。

    发生内部错误:调用admission webhook“pilot.validation.istio.io”失败:发布https://istio-galley.istio-system.svc:443/admitpilot?timeout=30s:地址不允许

    上面的消息表明,在您的 K8s 集群内部,istio-galley.istio-system.svc 解析为的任何地址都不是有效的 IP 地址。所以我也想看看能解决什么问题。 (可能与coreDNS有关)。

    你也可以试试下面的these steps

    基本上,(引用)

    • kubectl 删除 ds aws-node -n kube-system
    • 删除每个节点上的 /etc/cni/net.d/10-aws.conflist
    • 编辑实例安全组以允许 UDP、TCP 在 6873、6874 端口上
    • 刷新 iptables、nat、mangle、过滤器
    • 重启 kube-proxy pod
    • 应用 weave-net 守护进程
    • 删除现有 pod,以便在 Weave pod CIDR 的地址空间中重新创建。

    此外,您可以尝试使用 weave 从头开始​​重新安装所有内容。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2022-07-16
      • 2020-05-27
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多