failed calling webhook "vingress.elbv2.k8s.aws"

1/12/2022

I installed aws-load-balancer-controller on new EKS cluster (version v1.21.5-eks-bc4871b).

I installed by this guide https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.3/deploy/installation/ step by step but when I'm trying to deploy ingress object I'm getting the error I mentioned in the title. I tried to do as github issues questions like here https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/2039 but didn't find any answer.

What else can I do for checking this?

-- yershalom
amazon-eks
amazon-web-services
aws-application-load-balancer
kubernetes
kubernetes-ingress

3 Answers

3/27/2022

load-balancer-controller pod description for more details It may happen that the image is not available at the ECR

-- Sanjay Mahajan
Source: StackOverflow

1/28/2022

I assume you are getting an error message like the following, if is not the case, please post your error.

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

Usually, it happens due to EKS control plane can't communicate with nodes using the webhook port.

Checkout the logs of the aws-load-balancer-controller pods to check the port it started to listen

{"level":"info","ts":1643365219.2410042,"logger":"controller-runtime.webhook","msg":"serving webhook server","host":"","port":9443}

In order to fix that, in the security group of the worker nodes, allow communications of port 9443 from EKS control plane

-- RuBiCK
Source: StackOverflow

4/14/2022

In case it might help others - I also had the original issue using fargate profile and worker-node for core-dns. The solution for me I found in another place was just adding

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"
}

}

-- Emo
Source: StackOverflow