невозможно получить доступ к приложению из kubernetes - PullRequest
0 голосов
/ 02 ноября 2019

Я создал простое php-приложение, пытающееся получить доступ из кластера kubernetes, но я не могу получить доступ к приложению

мой deploy.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: phpdeployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: phpapp
  template:
    metadata:
      labels:
        app: phpapp
    spec:
      containers:
      - image: rajendar38/myhtmlapp
        name: myhtmlapp
        ports:
        - containerPort: 80

мой service.yml

apiVersion: v1
kind: Service
metadata:
  name: php-service
spec:
  selector:
    app: myhtmlapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 31000
  type: NodePort

rajendar@HP-EliteBook:~/Desktop/work$ kubectl get services
NAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
kubernetes    ClusterIP   10.96.0.1        <none>        443/TCP        26h
my-service    ClusterIP   10.102.235.244   <none>        4000/TCP       24h
php-service   NodePort    10.110.73.30     <none>        80:31000/TCP   22m

Я использую мини-куб для этого приложения, когда пытаюсь подключиться к http: 127.0.0.1: 31000 / test.html Мне не удается подключиться к приложению

Спасибо

Раджендар

Ответы [ 2 ]

2 голосов
/ 02 ноября 2019

Minikube использует виртуальную машину для предоставления кластера с одним узлом. При предоставлении службы NodePort она является локальной с точки зрения виртуальной машины, которая обычно не совпадает с вашей локальной машиной.

Используйте minikube ip для определения IP-адреса компьютера и используйте этот IP вместо localhost или 127.0.0.1 для доступа к службам NodePort в кластере мини-кубов.

0 голосов
/ 06 ноября 2019

Целевой порт и порт совпадают с 80, поэтому службы используют порт 80 для обеих попыток

    port: 8000
    targetPort: 80
...