Невозможно получить доступ к капсулам Кубернейтса - PullRequest
0 голосов
/ 06 августа 2020

Я выполняю следующие шаги, чтобы развернуть свой собственный jar

1) - Я создал изображение docker с помощью приведенного ниже docker файла

FROM openjdk:8-jre-alpine3.9
LABEL MAINTAINER DINESH
LABEL version="1.0"
LABEL description="First image with Dockerfile & DINESH."
RUN mkdir  /app
COPY LoginService-0.0.1-SNAPSHOT.jar /app
WORKDIR /app
CMD ["java", "-jar", "LoginService-0.0.1-SNAPSHOT.jar"]

2) - Развернуть на kubernetes с приведенным ниже файлом развертывания

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: load-balancer-example
  name: hello-world
spec:
  replicas: 2
  selector:
    matchLabels:
      app.kubernetes.io/name: load-balancer-example
  template:
    metadata:
      labels:
        app.kubernetes.io/name: load-balancer-example
    spec:
      containers:
      - image: localhost:5000/my-image:latest
        name: hello-world
        ports:
        - containerPort: 8000

3) - Отображается как служба с помощью следующей команды

minikube tunnel
kubectl expose deployment hello-world --type=LoadBalancer --name=my-service --port=8000 --target-port=8000 

4) - Вывод kubectl описывает sv c my-service

<strong>
Name:                     my-service<br> 
Namespace:                default<br> 
Labels:                   app.kubernetes.io/name=load-balancer-example<br> 
Annotations:              <none><br> 
Selector:                 app.kubernetes.io/name=load-balancer-example<br> 
Type:                     LoadBalancer<br> 
IP:                       10.96.142.93<br> 
LoadBalancer Ingress:     10.96.142.93<br> 
Port:                     <unset>  8000/TCP<br> 
TargetPort:               8000/TCP<br> 
NodePort:                 <unset>  31284/TCP<br> 
Endpoints:                172.18.0.7:8000,172.18.0.8:8000<br> 
Session Affinity:         None<br> 
External Traffic Policy:  Cluster<br> 
Events:                   <none><br> </strong>


POD находится в рабочем состоянии

Я пытаюсь получить доступ к модулю, используя «10.96.142.93», как указано в http://10.96.142.93: 8090 my Служба входа в систему запущена на ПОРТУ 8090, НО я не могу получить доступ к pod plz help

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

Попробуйте получить доступ на nodeport localhost:31284 и используйте тип службы как NodePort вместо LoadBalancer, потому что тип службы loadbalancer в основном используется на облачном уровне.

и используйте Target-Port как тот же порт, что и вы настроен в файле yaml определения pod.

, поэтому ваш URL-адрес должен быть http://10.96.142.93:8000

или другим способом, используя переадресацию портов

kubectl port-forward pod_name 80:8000, это сопоставит порт pod на порт localhost

Затем откройте его на http://localhost:80

0 голосов
/ 06 августа 2020

Услуга типа балансировщика нагрузки Kubernetes предоставляется только в таких местах, как aws и gcp. Используйте Metallb для использования в локальной среде.

Если нет, попробуйте изменить тип службы на Nodeport и получить доступ к http://localhost:31284

...