调用 webhook 失败 "vingress.elbv2.k8s.aws"
failed calling webhook "vingress.elbv2.k8s.aws"
我在新的 EKS 集群(版本 v1.21.5-eks-bc4871b)上安装了 aws-load-balancer-controller。
我是按照本指南 https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.3/deploy/installation/ 一步一步安装的,但是当我尝试部署入口时 object 我遇到了标题中提到的错误。
我尝试像 github 一样在此处 https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/2039 提出问题,但没有找到任何答案。
我还能做些什么来检查这个?
我假设您收到如下错误消息,如果不是这样,请post您的错误。
Error from server (InternalError): error when creating "anymanifest.yaml": Internal error occurred: failed calling webhook "vingress.elbv2.k8s.aws": Post "https://aws-load-balancer-webhook-service.kube-system.svc:443/validate-networking-v1beta1-ingress?timeout=10s": context deadline exceeded
通常是由于EKS控制平面无法使用webhook端口与节点通信。
检查 aws-load-balancer-controller pods 的日志以检查它开始侦听的端口
{"level":"info","ts":1643365219.2410042,"logger":"controller-runtime.webhook","msg":"serving webhook server","host":"","port":9443}
为了解决这个问题,在工作节点的安全组中,允许来自 EKS 控制平面
的端口 9443
的通信
load-balancer-controller 广告连播描述了解更多详情
可能会出现 ECR
无法获取图像的情况
如果它可能对其他人有帮助 - 我也遇到了使用 fargate 配置文件和 worker-node 用于 core-dns 的原始问题。我在另一个地方找到的解决方案只是添加
node_security_group_additional_rules = {
ingress_allow_access_from_control_plane = {
type = "ingress"
protocol = "tcp"
from_port = 9443
to_port = 9443
source_cluster_security_group = true
description = "Allow access from control plane to webhook port of AWS load balancer controller"
}
}
我在新的 EKS 集群(版本 v1.21.5-eks-bc4871b)上安装了 aws-load-balancer-controller。
我是按照本指南 https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.3/deploy/installation/ 一步一步安装的,但是当我尝试部署入口时 object 我遇到了标题中提到的错误。 我尝试像 github 一样在此处 https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/2039 提出问题,但没有找到任何答案。
我还能做些什么来检查这个?
我假设您收到如下错误消息,如果不是这样,请post您的错误。
Error from server (InternalError): error when creating "anymanifest.yaml": Internal error occurred: failed calling webhook "vingress.elbv2.k8s.aws": Post "https://aws-load-balancer-webhook-service.kube-system.svc:443/validate-networking-v1beta1-ingress?timeout=10s": context deadline exceeded
通常是由于EKS控制平面无法使用webhook端口与节点通信。
检查 aws-load-balancer-controller pods 的日志以检查它开始侦听的端口
{"level":"info","ts":1643365219.2410042,"logger":"controller-runtime.webhook","msg":"serving webhook server","host":"","port":9443}
为了解决这个问题,在工作节点的安全组中,允许来自 EKS 控制平面
的端口9443
的通信
load-balancer-controller 广告连播描述了解更多详情 可能会出现 ECR
无法获取图像的情况如果它可能对其他人有帮助 - 我也遇到了使用 fargate 配置文件和 worker-node 用于 core-dns 的原始问题。我在另一个地方找到的解决方案只是添加
node_security_group_additional_rules = {
ingress_allow_access_from_control_plane = {
type = "ingress"
protocol = "tcp"
from_port = 9443
to_port = 9443
source_cluster_security_group = true
description = "Allow access from control plane to webhook port of AWS load balancer controller"
}
}