Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

External ip pending Kubernetes Load balancer

Hi Installed Kubernetes using kubeadm in centos When i create the deployment using type Load Balancer in yaml file the External Ip is Pending for Kubernetes LB it is stuck in Pending state

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP        13m
service    LoadBalancer   10.101.168.76   <pending>     80:32225/TCP   4m52s
like image 386
J Jedidiah Avatar asked Oct 01 '19 10:10

J Jedidiah


People also ask

What is external LoadBalancer in Kubernetes?

External load balancer providers When the Service type is set to LoadBalancer, Kubernetes provides functionality equivalent to type equals ClusterIP to pods within the cluster and extends it by programming the (external to Kubernetes) load balancer with entries for the nodes hosting the relevant Kubernetes pods.

How do I access Clusterber services in Kubernetes from outside?

Ways to connect You have several options for connecting to nodes, pods and services from outside the cluster: Access services through public IPs. Use a service with type NodePort or LoadBalancer to make the service reachable outside the cluster. See the services and kubectl expose documentation.

How do I set a static IP address for Kubernetes LoadBalancer?

To create a LoadBalancer service with the static public IP address, add the loadBalancerIP property and the value of the static public IP address to the YAML manifest. Create a file named load-balancer-service. yaml and copy in the following YAML. Provide your own public IP address created in the previous step.


1 Answers

Please try to run:

kubectl describe svc <service-name>

And check for errors / warnings.

An example of a possible error is described under the events field in the example output below - (SyncLoadBalancerFailed - could not find any suitable subnets for creating the ELB):

Name:                     some-service
Namespace:                default
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"some-service","namespace":"default"},"spec":{"ports":[{"port":80,...
Selector:                 app=some
Type:                     LoadBalancer
IP:                       10.100.91.19
Port:                     <unset>  80/TCP
TargetPort:               5000/TCP
NodePort:                 <unset>  31022/TCP
Endpoints:                <none>
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type     Reason                  Age                From                Message
  ----     ------                  ----               ----                -------
  Normal   EnsuringLoadBalancer    68s (x8 over 11m)  service-controller  Ensuring load balancer
  Warning  SyncLoadBalancerFailed  67s (x8 over 11m)  service-controller  Error syncing load balancer: failed to ensure load balancer: could not find any suitable subnets for creating the ELB
like image 191
RtmY Avatar answered Oct 16 '22 08:10

RtmY