2017-11-23 3 views
0

KubernetesセットアップでIngress管理のnginxを使用して、いくつかのNodeJSバックエンドをポッドとして実行しています。テクトニクスkubernetes設定でIngressによるエラーの傍受を無効にする方法

これらのバックエンドはAPIサーバーであり、通常の操作では400、404、または500の応答を返すことができます。これらの応答は、有意義なデータをクライアントに提供します。ステータスコードのほかに、応答には、エラー原因を知らせるか、解決策を提案する、JSON直列化構造体が本体にあります。

ただし、Ingressはこれらのエラー応答を代行受信し、エラーページを返します。したがって、クライアントは、サービスが提供しようとした情報を受信しません。

kubernetes-contribリポジトリにクローズチケットがあり、エラー傍受をオフにすることができることを示しています:https://github.com/kubernetes/contrib/issues/897。 kubernetes/ingressに新しいことは、私の状況でこの設定を適用する方法を理解することができません。参考

、これはkubectl get ingress <ingress-name>の出力である:(編集さ名およびIPアドレス)

Name:    ingress-name-redacted 
Namespace:  default 
Address:   127.0.0.1 
Default backend: default-http-backend:80 (<none>) 
Rules: 
    Host        Path Backends 
    ----        ---- -------- 
    public.service.example.com 
            / service-name:80 (<none>) 
Annotations: 
    rewrite-target:  /
    service-upstream:  true 
    use-port-in-redirects: true 
Events:     <none> 

答えて

1

Iは地殻1.7.9-tectonic.4でこれを解決しました。

テクトニクスWeb UIで、ワークロード - >構成マップに移動し、名前空間構造化システムでフィルタします。

示された設定マップでは、 "tectonic-custom-error"という名前のものが表示されます。

これを開いてYAMLエディタに移動します。

カスタムHTTP-エラー:データ・フィールドで

あなたは、このようなエントリーが必要です '404、500、502、503' 設定し

をどのHTTPレスポンスは次のようになりますカスタムテクトニクスのエラーページが表示されます。

これらのうちのいくつかを削除したい場合は削除するか、削除するだけです。

更新された設定マップを保存するとすぐに有効になります。もちろん

、あなたは可能性が同じにkubectl editを使用して、コマンドラインから:

$> kubectl編集センチ地殻変動 - カスタムエラー--namespace =地殻変動 - システム

・ホープ、この助けてください:)

関連する問題