Запуск весенней загрузки в порту 80 с помощью Azure Kubernetes - PullRequest
0 голосов
/ 19 декабря 2018

При наличии приложения Spring Boot с docker-compose.yaml:

version: '3'
services:
  my-ws:
  build: .
  image: my-ws
   container_name: my-ws
   ports:
        - "8080:8080"

И манифест kubernetes:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: my-ws
spec:
  replicas: 3
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
  minReadySeconds: 5
  template:
    metadata:
      labels:
        app: my-ws
    spec:
      containers:
      - name: my-ws
        image: myacr.azurecr.io/my-ws:v1
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: 250m
          limits:
            cpu: 500m
---
apiVersion: v1
kind: Service
metadata:
  name: my-ws
spec:
  loadBalancerIP: <redacted>
  type: LoadBalancer
  ports:
    - port: 8080
  selector:
    app: my-ws

Мы можем успешно выполнить развертывание в Azure Kubernetes Service, и приложение ответит напорт 8080. Мы хотели бы, чтобы он отвечал на порт 80. Мы попытались изменить порты docker-compose.yaml на:

ports:
     - 80:80

и манифест:

- containerPort: 80
...
-port: 80

и перераспределить,Развертывание выполнено успешно, но приложение недоступно ни на 8080, ни на 80.

1 Ответ

0 голосов
/ 19 декабря 2018

вам нужно сопоставить сервисный порт 80 с контейнерным портом 8080, это самое простое решение (и наименее разрушительное):

---
apiVersion: v1
kind: Service
metadata:
  name: my-ws
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: my-ws

ps.оставь все остальное как было до изменений

...