2017-02-07 7 views
4

http load balancer exampleを実行すると、Googleコンテナエンジンプロジェクトで問題なく動作します。 "kubectl describe ing"を実行すると、バックエンドは "健康"です。ここに示したように、私はその後、私のアプリを指し示すものにSVCを変更する場合:入力が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 

私はバックエンドが「不健康」と表示されていると、イングレスIPへのすべての要求が502

  1. が体調不良の症状502です与える「kubectlはINGのについて説明し、」実行チェック?
  2. ヘルスチェックをパスするにはどうすればよいですか?私はかなり私のアプリを実行しているコンテナが実際に健康であると確信しています。私はヘルスチェックを設定していないので、設定されていないものを設定しなければならないと仮定していますが、私のグーグルは私をどこにも入れていません。ここでの要件によると :https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/cluster-loadbalancing/glbc#prerequisitesアプリケーションが「/」で200のステータスコードを返す必要があり、私は答えを見つけ掘りたくさんの後

答えて

10

。私のアプリケーションは302(ログインへのリダイレクト)を返していたので、ヘルスチェックに失敗していました。ヘルスチェックが失敗すると、入力リソースは502を返します。

+0

あなたの答えを受け入れることができると思います。私は同じ問題に直面し、あなたのアプローチで解決しました。ありがとう! –

関連する問題