ロードバランサのチュートリアル:https://cloud.google.com/container-engine/docs/tutorials/http-balancerは、Nginxイメージを使用すると正常に動作しています。私は自分のアプリケーションイメージを使用しようとしていますが、バックエンドは不健全になります。kubernetes不健全なイングレスバックエンド
私のアプリケーションは、(302を返す)/上のリダイレクトが、私はポッドの定義でlivenessProbe
を追加しました:
livenessProbe:
httpGet:
path: /ping
port: 4001
httpHeaders:
- name: X-health-check
value: kubernetes-healthcheck
- name: X-Forwarded-Proto
value: https
- name: Host
value: foo.bar.com
のように私の進入が見えます:サービスの設定がある
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: foo
spec:
backend:
serviceName: foo
servicePort: 80
rules:
- host: foo.bar.com
:
kind: Service
apiVersion: v1
metadata:
name: foo
spec:
type: NodePort
selector:
app: foo
ports:
- port: 80
targetPort: 4001
Backends health in ingress describe ing
のようになります。
backends: {"k8s-be-32180--5117658971cfc555":"UNHEALTHY"}
など侵入の外観上のルール:
Rules:
Host Path Backends
---- ---- --------
* * foo:80 (10.0.0.7:4001,10.0.1.6:4001)
大幅受信任意のポインタ、私は運と時間のためにこれをうまくしようとしてきました。
更新
私は私の展開にreadinessProbe
を追加したが、何かがまだヒットするように見える/及び侵入はまだ不健康です。私はそれが仕事を始めreadinessProbe
からカスタムヘッダーを取り除いた後、アップデート2
kind: Service
apiVersion: v1
metadata:
name: foo
spec:
type: NodePort
selector:
app: foo
ports:
- port: 4001
targetPort: 4001
を:私のプローブは次のようになります。
readinessProbe:
httpGet:
path: /ping
port: 4001
httpHeaders:
- name: X-health-check
value: kubernetes-healthcheck
- name: X-Forwarded-Proto
value: https
- name: Host
value: foo.com
私はに私のサービスを変更しました!どうもありがとう。
元のコメントを更新しました –
私は同じ問題、あなたの答え、そして答えをここに加えました:http://stackoverflow.com/questions/42967763/kubernetes-ingress-gce-keeps-returning-502-エラー/ 42971328は私がこれを解決するのを助けた – GrandVizier