Кубернетес Ингресс возвращается 502 Bad Gateway - PullRequest
0 голосов
/ 02 марта 2020

Я настраивал кластер K8s, и это моя конфигурация (ниже), и у меня проблема с входом, возвращающим неверный шлюз 502.

У меня все зеленое на приборной панели, и я просто не могу понять узнать, как траффи c застревает здесь.

Все изображения (dockerfiles) работают на 100% локально.

Я просмотрел большинство подобных вопросов здесь и не нашел проблема еще, поэтому спасибо за вашу помощь заранее.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: moneyapi-deployment
  labels:
    app: moneyapi-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: moneyapi
  template:
    metadata:
      labels:
        app: moneyapi
    spec:
      containers:
      - name: moneyapi
        image: money/api:latest
        ports:
        - containerPort: 8080
      imagePullSecrets:
        - name: projesecret
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: moneyfrontend-deployment
  labels:
    app: moneyfrontend-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: moneyfrontend
  template:
    metadata:
      labels:
        app: moneyfrontend
    spec:
      containers:
      - name: moneyfrontend
        image: money/frontend:latest
        ports:
        - containerPort: 3000
      imagePullSecrets:
        - name: projesecret
---
apiVersion: v1
kind: Service
metadata:
  name: moneyapiservice
spec:
  selector:
    app: moneyapi
  ports:
  - protocol: TCP
    port: 8000
    targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: moneyfrontendservice
spec:
  selector:
    app: moneyfrontend
  ports:
  - protocol: TCP
    port: 3030
    targetPort: 3000
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: moneyingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
  - http:
      paths: 
      - path: /api
        backend:
          serviceName: moneyapiservice
          servicePort: 8000
      - path: /
        backend:
          serviceName: moneyfrontendservice
          servicePort: 3030

1 Ответ

3 голосов
/ 02 марта 2020

Отказ в соединении означает, что контейнер не прослушивает порт 3000. Проверьте файл docker изображения и, возможно, он прослушивает другой порт, например 80 или 8080. Если это так, измените targetPort службы от 3000 до правого порта должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...