502 плохих шлюза с использованием Kubernetes с контроллером Ingress - PullRequest
0 голосов
/ 27 января 2020

У меня есть настройка Kubernetes на Minikube с этой конфигурацией:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myappdeployment
spec:
  replicas: 5
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: myapp
          image: custom-docker-image:latest
          ports:
            - containerPort: 3000

---
kind: Service
apiVersion: v1
metadata:
  name: example-service
spec:
  selector:
    app: myapp
  ports:
    - protocol: "TCP"
      # Port accessible inside cluster
      port: 3000
      # Port to forward to inside the pod
      targetPort: 3000
  type: NodePort

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  - http:
      paths:
      - path: /
        backend:
          serviceName: example-service
          servicePort: 3000

Я посмотрел на решение для этого поста Stackoverflow и кажется, что моя конфигурация ... в порядке?

Что я делаю неправильно, чтобы получить 502 Bad Gateway при доступе к http://192.xxx.xx.x, моему адресу Minikube? В журналах nginx-ingress-controller говорится:

...
Connection refused while connecting to upstream
...

Еще одна странная информация, когда я следую этому руководству , чтобы настроить базовую службу узла c на Kubernetes, все работает, и я см. страницу «Привет, мир», когда я открываю Minikube add

1 Ответ

1 голос
/ 28 января 2020

Предпринятые шаги: я побежал

kubectl port-forward pods/myappdeployment-5dff57cfb4-6c6bd 3000:3000

Затем я посетил localhost:3000 и увидел

This page isn’t working
localhost didn’t send any data.
ERR_EMPTY_RESPONSE

Я понял, что причина более очевидна в журналах, поэтому я запустил

kubectl logs pods/myappdeployment-5dff57cfb4-6c6bd 

и получил

Waiting for MySQL...
no destination
Waiting for MySQL...
no destination
Waiting for MySQL...
no destination
Waiting for MySQL...
no destination
...

Таким образом, я пришел к выводу, что изначально получал 502, потому что все модули не работали из-за отсутствия настройки MySQL.

...