Ошибка входа GKE: сервер обнаружил временную ошибку и не смог выполнить ваш запрос - PullRequest
0 голосов
/ 25 марта 2019

Я создал кластер kubernetes на GKE с веб-приложением. Первоначально это работало нормально, но после изменения порта (с 80 на 5000) выдалось следующее сообщение об ошибке:

Error: Server Error
The server encountered a temporary error and could not complete your request.

Please try again in 30 seconds.

После этого я снова изменил порт (с 5000 на 80), но ошибка осталась. Я не думаю, что порт на самом деле является проблемой, так как я видел несколько примеров с портами не 80 порта. Однако проблема, вероятно, связана со здоровьем или готовностью, как показывает страница сведений о балансировщике нагрузки:

Name                             Type             Zone     Healthy  Auto-scaling    Balancing mode  Capacity
k8s-ig--93f47ba7de28cdd1    Instance group  europe-west2-a  0 / 1   Off Max. RPS: 1 (per instance)  100%
k8s-ig--93f47ba7de28cdd1    Instance group  europe-west2-b  0 / 1   Off Max. RPS: 1 (per instance)  100%
k8s-ig--93f47ba7de28cdd1    Instance group  europe-west2-c  0 / 1   Off Max. RPS: 1 (per instance)  100%

Это мои настройки:

Развертывание

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      component: web
  template:
    metadata:
      labels:
        component: web
    spec:
      containers:
      - name: web
        image: web:latest
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /
            port: 5000
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /
            port: 5000
        ports:
        - containerPort: 5000

Услуги:

apiVersion: v1
kind: Service
metadata:
  name: web-cluster-ip-service
spec:
  type: NodePort
  selector:
    component: web
  ports:
    - port: 5000
      targetPort: 5000

Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.global-static-ip-name: web-ip
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/add-base-url: "true"
spec:
  rules:
    - http:
        paths:
          - path: /
            backend:
              serviceName: web-cluster-ip-service
              servicePort: 5000

at / является целевой страницей, поэтому возвращается 200.

...