Unable to access service exposed via NodePort
Hello,
I have a K8S cluster with one master and two worker nodes (CNI flavor: Calico). The cluster is formed using 3 EC2 ubuntu instances. I have 3 pods running as below (distributed on worker nodes) as below
[email protected]:/home/ubuntu# kubectl get pods
NAME READY STATUS RESTARTS AGE
echoserver 1/1 Running 0 4d
echoserver-5xdbn 1/1 Running 0 22m
echoserver-kl8d4 1/1 Running 0 26m
I created a service with the below definition on the master.
apiVersion: v1
kind: Service
metadata:
name: echoserver
spec:
type: "NodePort"
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: echoserver
doing a describe on service gives below (kubectl describe services/echoserver)
Name: echoserver
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=echoserver
Type: NodePort
IP: 10.106.88.19
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
NodePort: <unset> 31434/TCP
Endpoints: 192.168.30.3:8080,192.168.9.65:8080,192.168.9.67:8080
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
When I try to access service using NodePort using curl, its hangs with error connection refused.
Please help as I am stuck.
Thanks,
Niti
Comments
hai....
can i know how you access your pod using NodePort?
anyway, i suggest you to check your firewall rules, and make sure to allow all range of ip, port, and protocol than apply to your instance.
i face this thing before, and solved with allow the firewall rule
please refer to this threads:
https://forum.linuxfoundation.org/discussion/855493/lab-3-3-cluster-ip-access
https://forum.linuxfoundation.org/discussion/798753/lab-3-2-3-3-master-to-node-network-problem
https://forum.linuxfoundation.org/discussion/778929/problem-with-exercise-3-3-access-from-outside-the-cluster
https://forum.linuxfoundation.org/discussion/comment/22080
https://forum.linuxfoundation.org/discussion/comment/21891
cheers
regards
nkristianto
Hello,
It would be useful to see the full command you used for acccess and any errors as well. In addition the the threads nkristianto shows, I agree it's probably a firewall issue, there are also video which show how to set up the firewall in GCE and Digital Ocean.
Regards,