1

Я новичок в Kubernetes, и я пытаюсь выполнить балансировку нагрузки HTTP в Google Container Engine с помощью TLS (с помощью входящего в комплект контроллера GCE Ingress Controller). Ошибка, которую я имею, повторяется даже после Google's official tutorial. Для удобства чтения я описываю процедуру, описанную в config.yaml:Ошибка контроллера Kubernetes/GCE

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, что according to the docs означает, что это, вероятно, самонастройка (но она всегда остается такой). Я вижу на консоли, что бэкенд нездоровый.

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

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

В чем причина этой ошибки и как ее можно отладить?

+0

Можете ли вы начать с создания файла yaml для вашей конфигурации? Тогда это более ясно, что там все. –

+0

@NorbertvanNobelen отредактировал – user7384

ответ

1

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

+0

Для балансировки нагрузки L7 требуется всего несколько минут. –

Смежные вопросы