Kubernetes, can't reach Pod with external IP address

2/17/2021

I'm new to Kubernetes and I live some problems.

I have a ubuntu server and I working on it. I created pods and services, also I have an API-Gateway pod and service. And I want to reach this pod with my ubuntu server IP address from my PC.

But I cannot reach this pod from outside of the server. My app on the docker image is running on 80 port.

My api-gateway.yaml file is like that:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: api-gateway
spec:
  replicas: 1
  selector:
    matchLabels:
      app: api-gateway
  template:
    metadata:
      labels:
        app: api-gateway
    spec:
      containers:
        - name: api-gateway
          image: myapi/api-gateway
---
apiVersion: v1
kind: Service
metadata:
  name: api-gateway
spec:
  selector:
    app: api-gateway
  ports:
    - name: api-gateway
      protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30007
  type: NodePort
  externalIPs:
  - <My Ubuntu Server IP Adress>

and when I type kubectl get services api-gateway, I get

NAME           TYPE       CLUSTER-IP     EXTERNAL-IP      PORT(S)        AGE
api-gateway   NodePort   10.104.42.32   <MyUbuntuS IP>   80:30007/TCP   131m

also when I type kubectl describe services api-gateway, I get

Name:                     api-gateway
Namespace:                default
Labels:                   <none>
Annotations:              <none>
Selector:                 app=api-gateway
Type:                     NodePort
IP Families:              <none>
IP:                       10.104.42.32
IPs:                      10.104.42.32
External IPs:             <My Ubuntu Server IP Adress>
Port:                     api-gateway  80/TCP
TargetPort:               80/TCP
NodePort:                 api-gateway  30007/TCP
Endpoints:                172.17.0.4:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason  Age                  From                Message
  ----    ------  ----                 ----                -------
  Normal  Type    30m                  service-controller  ClusterIP -> LoadBalancer
  Normal  Type    6m10s                service-controller  NodePort -> LoadBalancer
  Normal  Type    77s (x2 over 9m59s)  service-controller  LoadBalancer -> NodePort

So, how can I reach this pod on my PC's browser or Postman?

-- akasaa
docker
kubeadm
kubectl
kubernetes

0 Answers