5.7.5. ルーターの環境変数
このセクションで説明されているアイテムはすべて、ルーターの デプロイメント設定 に環境変数を指定して設定を変更するか、oc set env
コマンドを使用します。
$ oc set env <object_type>/<object_name> KEY1=VALUE1 KEY2=VALUE2
以下に例を示します。
$ oc set env dc/router ROUTER_SYSLOG_ADDRESS=127.0.0.1 ROUTER_LOG_LEVEL=debug
変数 | デフォルト | 説明 |
---|---|---|
| TLS サーバー証明書を公開しないルートに使用するデフォルトの証明書の内容。PEM 形式。 | |
|
tls.crt というファイルを含むディレクトリーへのパス。tls.crt が PEM ファイルでなく、秘密鍵も含む場合には、同じディレクトリー内の tls.key というファイルと先に統合されます。PEM 形式のコンテンツは、デフォルトの証明書として使用されます。これは、 | |
|
TLS サーバー証明書を公開しないルートに使用するデフォルト証明書へのパス。PEM 形式。 | |
|
|
|
| 監視する namespace に適用するラベルセレクターです。空はすべてを意味します。 | |
| 監視するプロジェクトに適用するラベルセレクターです。空はすべてを意味します。 | |
| ルーターを再ロードするために使用する再ロードスクリプトのパスです。 | |
|
ルートのホスト名のみを含めることができるドメインのコンマ区切りの一覧。ドメインに含まれるサブドメインを使用できます。 | |
| テンプレート関数 processEndpointsForAlias の使用時にエンドポイントをどのように処理すべきかを指定する文字列。有効な値は ["shuffle", ""] です。"shuffle" は、全呼び出しごとに要素を無作為に決定します。 デフォルトの動作は、事前に決定した順番に、値が返されます。 | |
|
|
|
| cookie 名を指定して、内部で生成したデフォルト名を上書きします。名前は、大文字、小文字、数字、"_" または "-" を任意に組み合わせて指定する必要があります。デフォルトは、ルートのハッシュ化された内部キー名です。 | |
| "text/html text/plain text/css" | 圧縮するスペースで区切られた mime タイプの一覧です。 |
|
ルートのホスト名に含めることができないドメインのコンマ区切りの一覧。ドメインに含まれるサブドメインを使用できません。 | |
|
| |
| 0.0.0.0:1936 | ルーターメトリクスのリッスンアドレスを設定します。 |
| warning | syslog サーバーに送信するログレベルです。 |
| 20000 | 同時接続の最大数です。 |
| 500 | |
|
CSV 形式で収集されるメトリクスです。例: | |
| 5s | |
| 5s | |
| haproxy | HAProxy ルーターのメトリクスを生成します (haproxy のみがサポートされている値です)。 |
|
コンマ区切りのドメイン名リスト。ルーターのドメイン名がルートのホストと一致する場合には、ホスト名は無視され、 | |
|
| |
| 443 | HTTPS 要求をリッスンするポートです。 |
| 80 | HTTP 要求をリッスンするポートです。 |
| public | ルーターがルートステータスで自らを識別する名前です。 |
| ルーターステータスに表示されるルーターの (オプションの) ホスト名です。 | |
|
ルーターがルーターステータスで自らを識別する namespace です。 | |
| 10443 | 一部のフロントエンドからバックエンドへの通信に使用される内部ポートです (以下を参照してください)。 |
| 10444 | 一部のフロントエンドからバックエンドへの通信に使用される内部ポートです (以下を参照してください)。 |
| spec.host なしでルートのホスト名を生成するために使用されるテンプレートです (例: ${name}-${namespace}.myapps.mycompany.com)。 | |
| ログメッセージを送信するアドレスです。空の場合は無効になります。 | |
| 設定されている場合は、基盤のルーター実装で使用されるデフォルトのログ形式が上書きされます。この値は、基盤のルーター実装の仕様に従う必要があります。 | |
| source |
パススルールートを行うための複数のエンドポイント用負荷分散ストラテジー。利用可能なオプションは |
| haproxy ルーターのスレッド数を指定します。 | |
| leastconn |
複数のエンドポイントを持つルート用の負荷分散エンドポイント。使用できるオプションは |
| 監視するルートに適用するラベルセレクターです。何も指定しない場合はすべてを意味します。 | |
| ルーターの統計にアクセスするのに必要なパスワード (ルーターの実装がサポートする場合) | |
| 統計を公開するポート (ルーターの実装がサポートする場合)。設定されていない場合は統計は公開されません。 | |
| ルーターの統計にアクセスするために必要なユーザー名 (ルーターの実装がこれをサポートしている場合)。 | |
|
| HAProxy テンプレートへのパス (コンテナーイメージ内)。 |
|
| |
|
| |
|
namespace 所有権ポリシーを緩和するために | |
| ||
| intermediate | バインドでサポートされる暗号のセットを指定します。 |
|
| |
| 3600 | Dynamic Configuration Manager で行われるコミット変更の頻度を指定します。これにより、基礎となるテンプレートルーターの実装が設定の再読み込みを行います。 |
| Dynamic Configuration Manager のブループリントとして機能するルートを含む namespace に設定されます。これにより、Dynamic Configuration Manager はカスタムアノテーション、証明書または設定ファイルでカスタムルートをサポートできます。 | |
| ブループリントルート namespace のルートに適用するためにラベルセレクターに設定されます。これにより、ルートを Dynamic Configuration Manager のブループリントとして機能する namespace に指定できます。 | |
| 10 |
Dynamic Configuration Manager で管理される各ルートのブループリントについての事前に割り当てられるプールのサイズを指定します。これは、ブループリントルートで |
| 5 | Dynamic Configuration Manager で使用されるように各ルートに追加される動的サーバーの最大数を指定します。 |
同じマシンで複数のルーターを実行する場合には、ルーターがリッスンするポート (ROUTER_SERVICE_SNI_PORT
および ROUTER_SERVICE_NO_SNI_PORT
) を変更する必要があります。これらのポートは、マシン上で一意であれば、何でも指定できます。また、これらのポートは外部には公開されません。
ルータータイムアウト変数
TimeUnits
は数字、その後に単位を指定して表現します。 us
*(マイクロ秒)、ms
(ミリ秒、デフォルト)、s
(秒)、m
(分)、h
*(時間)、d
(日)
正規表現: [1-9][0-9]*(us\|ms\|s\|m\|h\|d)
| 5000ms | バックエンドでの後続の liveness チェックの時間の長さ。 |
| 1s | クライアントがルートに接続する場合の TCP FIN タイムアウトの期間を制御します。接続切断のために送信された FIN が指定の時間内に応答されない場合には、HAProxy が接続を切断します。小さい値を設定し、ルーターでリソースをあまり使用していない場合には、リスクはありません。 |
| 30s | クライアントがデータを確認するか、送信するための時間の長さ。 |
| 5s | 最大接続時間。 |
| 1s | ルーターからルートをバッキングする Pod の TCP FIN タイムアウトを制御します。 |
| 30s | サーバーがデータを確認するか、送信するための時間の長さ。 |
| 1h | TCP または WebSocket 接続が開放された状態で保つ時間数。websockets/tcp 接続がある場合 (および HAProxy が再読み込みされる度) に、以前の HAProxy プロセスが指定された時間分、開放された状態に保たれます。 |
| 300s |
新しい HTTP 要求が表示されるまで待機する最大時間を設定します。この値が低すぎる場合には、ブラウザーおよびアプリケーションの |
| 10s | HTTP 要求の伝送にかかる時間。 |
| 5s | 新規の変更を許可するためにルーターの再ロードが許可される最小の頻度。 |
| 5s | HAProxy メトリクスの収集タイムアウト。 |
有効なタイムアウト値には、想定した個別のタイムアウトではなく、特定の変数を合計した値に指定することができます。
たとえば、ROUTER_SLOWLORIS_HTTP_KEEPALIVE
は timeout http-keep-alive
を調整し、デフォルトで 300s
に設定されていますが、haproxy は 5s
に設定されている tcp-request inspect-delay
も待機します。この場合、全体的なタイムアウトは 300s
に 5s
を加えたことになります。