EXTERNAL-IP stays in <pending> state
dwschulze opened this issue · 3 comments
When I applied your .yaml to my two node cluster (one master, one worker) the external-ip stays in Here's the service and pod:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-kubernetes LoadBalancer 10.110.156.22 80:30210/TCP 18m
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-kubernetes-594f6f475f-4s9nw 1/1 Running 0 18m
hello-kubernetes-594f6f475f-7zb4h 1/1 Running 0 28s
hello-kubernetes-594f6f475f-jlrwb 1/1 Running 0 28s
Browser requests to port 30210 on either host is successful, but I should still be able to get an external-ip to connect on port 8080.
Do I need to change something in the .yaml to run on my two node cluster?
Able to replicate on stock k3s install:
$ sudo kubectl get pods
NAME READY STATUS RESTARTS AGE
svclb-hello-kubernetes-npwb2 0/1 Pending 0 48s
hello-kubernetes-594f6f475f-gpfvs 1/1 Running 0 48s
hello-kubernetes-594f6f475f-tss77 1/1 Running 0 48s
hello-kubernetes-594f6f475f-kclvr 1/1 Running 0 48s
$ sudo kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 13m
hello-kubernetes LoadBalancer 10.43.160.18 <pending> 80:32474/TCP 90s
Am able to connect to https://:32474
Hey all,
I also just ran into this issue on my vanilla k3s install. From the docs:
If you try to create a Service LB that listens on port 80, the Service LB will try to find a free host in the cluster for port 80. If no host with that port is available, the LB will stay in Pending.
I switched the port for the load balancer in the yaml to 8080 and it works for me now. FYI.
The recently added Helm Chart and Ingress options should provide options that work across more platforms.