2017-02-07 20 views
4

Если я прохожу через http load balancer example, он отлично работает в моем проекте контейнера для контейнеров google. Когда я запускаю «описание кубекта», бэкэнд «ЗДОРОВЫЙ». Если я после этого изменить SVC к одному, что указывает на мое приложение, как показано здесь:Ingress дает ошибку 502

apiVersion: v1 
kind: Service 
metadata: 
    name: app 
    labels: 
    name: app 
spec: 
    ports: 
    - port: 8000 
    name: http 
    targetPort: 8000 
    selector: 
    name: app 
    type: NodePort 

приложение Я бегу это Джанго за gunicorn и работает просто найти, если я делаю что балансировки нагрузки вместо NodePort ,

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: main-ingress 
spec: 
    backend: 
    serviceName: app 
    servicePort: 8000 

Теперь, когда я бегу «kubectl описывают ИНГ» бэкенд указан как «нездоровых» и все запросы к попаданию IP дать 502.

  1. ли 502 симптомом плохого здоровья проверить?
  2. Что мне нужно сделать, чтобы пройти проверку здоровья? Я уверен, что контейнер с моим приложением на самом деле здоров. Я никогда не настраивал проверку работоспособности, поэтому я предполагаю, что мне нужно настроить что-то, что не настроено, но мой поисковик не доставил меня нигде.

ответ

10

После много рытья я нашел ответ: В соответствии с требованиями здесь: https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/cluster-loadbalancing/glbc#prerequisites приложение должно вернуть 200 код статуса на «/». Поскольку мое приложение возвращало 302 (перенаправление на логин), проверка работоспособности завершилась неудачей. Когда проверка работоспособности не удалась, ресурс входа возвращается 502.

+0

Я думаю, вы можете принять ваш ответ. Я сталкиваюсь с той же проблемой и решаю ее с помощью вашего подхода. Благодаря! –

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

  • Нет связанных вопросов^_^