Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

3.3.3.3. ルーターが提供する情報

このセクションでは、ルーターがテンプレートで利用可能にする OpenShift Container Platform の情報について説明しますす。ルーター設定パラメーターは HAProxy ルータープラグインに与えられるデータセットです。フィールドには (dot) .Fieldname を使用してアクセスします。

以下のルーター設定パラメーター表は各種フィールドの定義を詳しく取り上げています。とくに .State には許可されたルートセットが設定されます。

表3.3 ルーター設定パラメーター

フィールドタイプ説明

WorkingDir

string

ファイルが書き込まれるディレクトリー。 デフォルトは /var/lib/containers/router に設定されます。

State

map[string](ServiceAliasConfig)

ルート。

ServiceUnits

map[string]ServiceUnit

サービスのルックアップ。

DefaultCertificate

string

pem 形式のデフォルト証明書へのフルパス名。

PeerEndpoints

[]Endpoint

ピア。

StatsUser

string

統計の公開に使用するユーザー名 (テンプレートがサポートしている場合)。

StatsPassword

string

統計の公開に使用するパスワード (テンプレートがサポートしている場合)。

StatsPort

int

統計の公開に使用するポート (テンプレートがサポートしている場合)。

BindPorts

bool

ルーターがデフォルトポートをバインドすべきかどうか。

表3.4 ルーター ServiceAliasConfig (Route)

フィールドタイプ説明

Name

string

ルートのユーザー固有の名前。

Namespace

string

ルートの namespace。

Host

string

ホスト名です。例: www.example.com

Path

string

オプションのパス。例: www.example.com/myservice (ここでは、myservice がパスになります)。

TLSTermination

routeapi.TLSTerminationType

このバックエンドの終了ポリシー。 マッピングファイルとルーター設定を利用します。

Certificates

map[string]Certificate

このバックエンドをセキュリティー保護するために使用する証明書。証明書 ID で指定します。

Status

ServiceAliasConfigStatus

永続化する必要がある設定のステータスを示します。

PreferPort

string

ユーザーが公開したいポートを示します。空の場合、サービスのポートが選択されます。

InsecureEdgeTerminationPolicy

routeapi.InsecureEdgeTerminationPolicyType

edge termination ルートへの非セキュアな接続の必要な動作を示します。 none (または disable)、allow、または redirect

RoutingKeyName

string

Cookie ID を隠すために使用するルート + namespace 名のハッシュ。

IsWildcard

bool

このサービスユニットがワイルドカードサポートを必要とすることを示します。

Annotations

map[string]string

このルートに割り当てられるアノテーション。

ServiceUnitNames

map[string]int32

このルートをサポートするサービスコレクション。マップの他のエントリーに関連してサービス名で指定され、これに割り当てられた重みで評価されます。

ActiveServiceUnits

int

ゼロ以外の重みを持つ ServiceUnitNames の数。

ServiceAliasConfig はサービスのルートです。ホスト + パスによって特定されます。デフォルトのテンプレートは {{range $cfgIdx, $cfg := .State }} を使用してルートを繰り返し処理します。その {{range}} ブロック内で、テンプレートは $cfg.Field を使用して現在の ServiceAliasConfig のフィールドを参照できます。

表3.5 ルーター ServiceUnit

フィールドタイプ説明

Name

string

名前はサービス名 + namespace に対応します。ServiceUnit を特定します。

EndpointTable

[]Endpoint

サービスをサポートするエンドポイント。これはルーターの最終のバックエンド実装に変換されます。

ServiceUnit はサービスをカプセル化したものであり、そのサービスをサポートするエンドポイントであり、またサービスを参照するルートです。これは、ルーター設定ファイルの作成の基になるデータです。

表3.6 ルーターエンドポイント

フィールド

ID

string

IP

string

Port

string

TargetName

string

PortName

string

IdHash

string

NoHealthCheck

bool

Endpoint は、Kubernetes エンドポイントの内部表現です。

表3.7 ルーター証明書、ServiceAliasConfigStatus

フィールドタイプ説明

Certificate

string

パブリック/プライベートキーのペアを表します。これは ID で識別され、ファイル名になります。CA 証明書には PrivateKey が設定されません。

ServiceAliasConfigStatus

string

この設定に必要なファイルがディスクに永続化されていることを示します。有効な値の例: "saved" または "" (ブランク)。

表3.8 ルーター証明書タイプ

フィールドタイプ説明

ID

string

 

内容

string

証明書。

PrivateKey

string

プライベートキー。

表3.9 ルーター TLSTerminationType

フィールドタイプ説明

TLSTerminationType

string

セキュアな通信が停止する場合について指示します。

InsecureEdgeTerminationPolicyType

string

ルートへの非セキュアな接続の必要な動作を示します。各ルーターは公開するポートを独自に決定することがありますが、通常はポート 80 になります。

TLSTerminationTypeInsecureEdgeTerminationPolicyType はセキュアな通信が停止する場合について指示します。

表3.10 ルーター TLSTerminationType 値

Constant意味

TLSTerminationEdge

edge

edge ルーターでの暗号化を終了します。

TLSTerminationPassthrough

パススルー

宛先での暗号化を終了し、宛先でトラフィックを復号化します。

TLSTerminationReencrypt

reencrypt

edge ルーターで暗号化を終了し、宛先で提供される新規の証明書を使用して再暗号化します。

表3.11 ルーター InsecureEdgeTerminationPolicyType 値

意味

Allow

トラフィックは非セキュアなポートのサーバーに送信されます (デフォルト)。

Disable

トラフィックは非セキュアなポートでは許可されません。

Redirect

クライアントはセキュアなポートにリダイレクトされます。

なし ("") は Disable と同じです。