イングレスK8Sの理解
HTTPサービスの道を公開
サービスでは、外部アクセスできるようにNodePortタイプのHTTPサービスは、ホストポート上で公開することができますデフォルトモードK8S露光HTTPサービスです。サービスコンフィギュレーションモードは次のようです。
service -> label selector -> pods
31217 -> app1 selector -> app1 1234
31218 -> app2 selector -> app2 3456
31218 -> app2 selector -> app2 4567
モデルの利点
シンプルな構造、理解しやすいです。
モードの欠点
- アプリは、ホストポートを取る必要があります
- ポート管理の欠如
- L4転送、転送は、HTTPヘッダとルーティング経路に基づいてすることができません
イングレスモード
サービス進入の層を追加し、次のような構造に先立ち
ingress -> service -> label selector -> pods www.app1.com -> app1-service -> app1 selector -> app1 1234 80 -> www.app2.com -> app2-service -> app2 selector -> app2 3456 www.app3.com -> app3-service -> app3 selector ->app3 4567
モデルの利点
- 増加認識層7、ヘッダでhttpできる、転送ルーティング経路
モードの欠点
- アップグレードの複雑さ
イングレスは、理解を達成します
イングレスイングレスは、コントローラと進入を達成するために2つの部分に分け。
- イングレスコントローラは、入口流量であるソフトウェア・エンティティであり、一般的にnginxのHaproxy。
- 入口は、特定のルーティングルールを記述しました。
イングレスコントローラは、即時効果を持つAPIサーバー上/ ingressesリソースをリッスンします。
Ingerssルーティングルールは、入力リソースの形で、一つまたは複数のドメインを記載しています。
簡単に言えば:ルーティングルール、イングレスコントローラリアルタイム実装ルールの進入説明を。
デザイン
デザインコンセプト、需要と供給のすなわち分離を通じてK8S。イングレスコントローラと進入もこれを達成することをお勧めします。K8Sを理解するために、心の中で電源分離設計のニーズを保ちます。
イングレスコントローラ情報
- クラスタは、入口進入コントローラであり得る複数の入力制御装置を有することができ、指定
- イングレスルールは、より競争力のある表示される場合があります
- イングレスコントローラ自体はHOSTPORTやサービス形態にさらされる必要があります。あなたは、クラウドサービス、クラウド・プロバイダーポンドを使用することができます
- イングレスは複数の名前空間にサービスを提供することができます
どのような設定かイングレスコントローラ
私たちは、nginxの-イングレス、例えば、我々は以下のいくつかのグローバルパラメータを設定することができます
- グローバルタイムアウト時間
- グローバルgzip圧縮
- httpsの和HTTP2
- グローバル要求の数を制限
- VTS nginxのリアルタイムの状況、あなたはトラフィックを監視することができます
ここではいくつかのより多くのドキュメントを参照してのもので https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/configmap.md
イングレスコントローラーをセットアップする方法
二つの方法がconfigmapとカスタムテンプレート。カスタムテンプレートは、通常の状況下では、configmapの使用は十分にされている、設定することはできませんconfigmapいくつかの高度なオプションを設定するために使用されます。
イングレスコントローラーを確保するためにconfigmap必要性を使用する場合は、configmapパラメータが有効になって
あなたは何ができるかを設定イングレス
次のように私たちは、nginxの-イングレスは、例えば、我々はいくつかのパラメータを設定することができます
- のHTTPヘッダーベースのルーティング
- ルーティングパスに基づいて、
- 進入単一のタイムアウト(タイムアウトが他の侵入のスケジュールには影響しません)
- ログイン認証
- CRO
- リクエストレート制限
- ルールを書き換えます
- SSL
ここでの唯一の部分的なリストは、より多くのドキュメントを参照してください https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md
イングレスの設定方法
イングレスは注釈のみで設定することができます。および入力コントローラの開始を確保する必要性は、注釈オプションが有効になっています
孤立需給利点
- 管理者が管理し、別の名前空間で進入コントローラ、。
- アプリケーションの操作や保守によって設定された各アプリケーションの名前空間に進入、。
このような権利を単離することができ、およびコンフィギュレーション機能を提供することができます。
概要
- ルーティングの要件を記述するためのイングレスコントローラは、ルーティングの要件を実装するための責任があり、進入責任
- イングレスコントローラー・クラスターは、より多くを持つことができます
- 注釈によって提供さConfigmap、侵入を設定して、入力コントローラ
- イングレスコントローラは、ローカルルールを設定することが進入、グローバルルールを設定しました
- イングレスコントローラは、複数の名前空間を提供することができます。
- 分離は、需要供給の権限の分離を行って、だけでなく、コンフィギュレーション機能を提供することができます。
ファイル
nginxの-入口文書 https://github.com/kubernetes/ingress-nginx