简体   繁体   中英

Kubernetes service without a external IP, not able to access the service

I'm trying to deploy my container in a kubernetes cluster but I'm not getting an External ip and hence I'm not able to access the server.

This is my.yaml file:

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.21.0 (992df58d8)
  creationTimestamp: null
  labels:
    io.kompose.service: service-app
  name: service-app
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: service-app
  strategy: {}
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.21.0 (992df58d8)
      creationTimestamp: null
      labels:
        io.kompose.service: service-app
    spec:
      containers:
      - image: magneto-challengue:1.0
        imagePullPolicy: ""
        name: magneto-challengue
        ports:
        - containerPort: 8080
        resources: {}
      restartPolicy: Always
      serviceAccountName: ""
      volumes: null
status: {}
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.21.0 (992df58d8)
  creationTimestamp: null
  labels:
    io.kompose.service: service-app
  name: service-app
spec:
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 8080
  selector:
    io.kompose.service: service-app
    type: NodePort

When I use the kubectl get svc,deployment,pods command. I'm getting the next response:

在此处输入图像描述

As you can see I'm not getting an external Ip. With the kubectl describe service service-app command I'm getting the next response:

在此处输入图像描述

I tried with the 10.107.179.10 ip, but it didn't work.

Any idea?

You can not use 10.107.179.10 IP to access a pod from outside kubernetes cluster because that IP is clusterIP and is valid inside the kubernetes cluster and can be used from another pod for example.

NodePort type does not get an EXTERNAL-IP . To access a pod from outside the kubernetes cluster via NodePort service you can use NodeIP:NodePort where NodeIP is any of your kubernetes cluster nodes IP address.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM