kubernetes Minikube: служба порта узла недоступна извне - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь развернуть службу REST простой весенней загрузки на мини-кубе (Windows -10). Ниже моя конфигурация

Docker файл

FROM openjdk:8-jdk-alpine
ENTRYPOINT ["/usr/bin/java", "-jar", "/usr/share/myservice/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar"]
ADD target/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar  /usr/share/myservice/lib
ARG JAR_FILE
ADD target/${JAR_FILE} /usr/share/myservice/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar
EXPOSE 8080

docker образ работает нормально, и я могу запустить приложение.

docker run -p 8080:8080 minikube-spring-boot-demo:0.0.1-SNAPSHO

Развертывание

apiVersion: apps/v1
kind: Deployment
metadata:
  name: minikube-spring-boot-demo
spec:
  selector:
    matchLabels:
      app: minikube-spring-boot-demo
      tier: backend
  replicas: 3
  template:
    metadata:
      labels:
        app: minikube-spring-boot-demo
        tier: backend
    spec:
      containers:
        - name: demo-backend
          image: nirajsonawane/minikube-spring-boot-demo:0.0.1-SNAPSHOT
          imagePullPolicy: Always
          ports:
            - containerPort: 8080

Сервис

apiVersion: v1
kind: Service
metadata:
  name: minikube-spring-boot-demo-service
spec:
  selector:
    app: minikube-spring-boot-demo
    tier: backend
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 30008
  type: NodePort

kubectl получить все статус enter image description here

kubectl cluster-info enter image description here

журналы мини-кубов enter image description here

Сервисная информация enter image description here

Я не могу получить доступ к остальной конечной точке, используя service-ip:Nodeport/Uri
http://127.0.0.1: 30008 / привет

http://172.17.0.2: 30008 / привет

Все, что я здесь отсутствует? любые входные данные будут полезны.

вывод netstat -a

enter image description here

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

minikube работает на виртуальной машине. Доступ к службам невозможен через localhost или 127.0.0.1 вне машины.

Попробуйте запустить minikube service minikube-spring-boot-demo-service. Он покажет детали сервиса и откроет сервис в браузере.

0 голосов
/ 03 апреля 2020

Вы можете получить свой IP-адрес кластера, используя приведенную ниже команду

kubectl get nodes -o wide

, затем запустите ниже, чтобы получить nodeport

kubectl get svc -o wide -n <namespace>

, чтобы получить порт вашего NodePort Sv c

тогда ваше приложение будет работать на http: //: port (sv c Nodeport)

В вашем случае оно может работать на http://127.0.0.1: 30008 / hello

...