Сбой контроллера Kubernetes/GCE Ingress

Я новичок в Kubernetes и пытаюсь выполнить балансировку нагрузки HTTP в Google Container Engine с помощью TLS (используя включенный контроллер GCE Ingress). Моя ошибка повторяется даже после официального руководства Google. Для удобочитаемости я резюмирую процедуру в config.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    name: nginx
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
  selector:
    name: nginx

---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: basic-ingress
spec:
  backend:
    serviceName: nginx
    servicePort: 80

Затем:

kubectl create -f config.yaml
export NODE_PORT=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services nginx)
gcloud compute firewall-rules create allow-130-211-0-0-22   --source-ranges 130.211.0.0/22   --allow tcp:$NODE_PORT
curl <ip_of_load_balancer>

(Я удалил теги в правиле брандмауэра, чтобы оно применялось ко всем).

Но я получаю 502 Server Error, что согласно документам означает это, вероятно, начальная загрузка (но она всегда остается такой). Я вижу в консоли, что бэкенд неисправен.

В документах, чтобы избежать этого, нужно:

  • правило брандмауэра (которое сделано выше)
  • Служба должна ответить 200 (но я протестировал образ nginx локально, и служба через общий балансировщик нагрузки работает нормально)

Итак, в чем причина этой ошибки и как я могу ее отладить?


person user7384    schedule 26.06.2016    source источник
comment
Можете ли вы начать с создания файла yaml для вашей конфигурации? Тогда будет более понятно, что там вообще есть.   -  person Norbert van Nobelen    schedule 26.06.2016
comment
@NorbertvanNobelen отредактировано   -  person user7384    schedule 29.06.2016


Ответы (1)


Я оставил кластер на ночь, и теперь он работает. Либо кажется, что для загрузки требуется довольно много времени, либо что-то было исправлено на стороне Google Cloud.

person user7384    schedule 28.06.2016
comment
Для запуска балансировщика нагрузки L7 требуется несколько минут. - person Tim Hockin; 01.09.2016