この項では、イングレス・コントローラに関連する2つの異なる機能をサポートします。 まず、Kubernetesクラスタへのイングレス・コントローラのインストールをサポートします。 次に、デプロイ済のWebLogicドメインのエンドポイントにアクセスできるように、イングレス・コントローラに必要なルートの追加をサポートしています。
Design View
は、必要に応じてイングレス・コントローラのインストールに必要なデータを指定し、デプロイされたWebLogicドメインの1つ以上のエンドポイントを公開するために必要なデータを指定します。 このページには3つのペインがあります:
このペインの最も重要なフィールドは、Ingress Provider
フィールドです。 このフィールドは、WKT UIアプリケーションに、動作する必要があるサポート対象イングレス・コントローラを示します。 現在のリリースでは、次の2つのイングレス・コントローラがサポートされています:
イングレス・コントローラをインストールするには、Install Ingress Controller
を有効にします。
Helm Release Name to Use
フィールドを使用します。Ingress Controller Namespace
フィールドを使用して、イングレス・コントローラをインストールする必要があるKubernetesネームスペースを設定します。Traefikイングレス・コントローラのコンテナ・イメージは、Docker Hubにあります。 Dockerハブが変更されたため、匿名プル・リクエストはスロットルされます。 これにより、Kubernetesクラスタがイメージのプルを試行してコンテナを起動しようとすると、プル・リクエストが拒否されることがあります。
Use Docker Hub Secret
フィールドを有効にして、Dockerハブのログイン資格証明を指定します。Docker Registry Secret Name
フィールドは、イメージのプル時に使用するKubernetesプル・シークレットの名前を指定します。 このシークレットを作成するには、Create Docker Hub Secret
を有効にし、Docker Hub Username
、Docker Hub Password
およびDocker Hub Email Address
フィールドのプル・シークレット・データを入力します。 Allow SSL pass through to target service
を有効にします。このペインを使用して、クライアントからイングレス・コントローラへのHTTPS接続を確立する際に、イングレス・コントローラで使用される証明書および秘密キー・データを含むTransport Layer Security (TLS)シークレットを構成します。 TLS接続はイングレス・コントローラで終了されるため、イングレス・コントローラとサービス/ポッド間のトラフィックは暗号化されません。 現在のリリースでは、定義されているルートに対してサポートされるTLS証明書は1つのみです。
Use Ingress TLS Secret
を有効にし、Ingress TLS Secret Name
フィールドを使用してシークレット名を指定します。Create Ingress TLS Secret
を有効にします。TLS Certificate File
およびTLS Private Key File
フィールドを使用して指定します。Generate a TLS Certificate and Private Key
を有効にします。
OpenSSL Executable to Use
フィールドを使用して、OpenSSL実行可能ファイルへのパスを指定します。Subject to Use for the Generated TLS Certificate
フィールドを使用して、証明書のサブジェクトに含めるデータを指定します。
www.myapp.com
を使用する場合は、件名の内容を/CN=www.myapp.com
として指定できます。/key1=value1,/key2=value2,/key3=value3
などのカンマ区切り構文を使用して、複数のキー/バリューのペアをサポートします。この項の表を使用して、アプリケーションによって追加されるイングレス・ルートを定義します。 この表に、すでに定義されている既存のルートは表示されません。 表に定義または削除されたルートは、WKT Projectオブジェクトで発生します。 ルートを適用または更新する場合、現在表にあるフィールドのみが考慮されます。 ルートが存在しない場合は、ルートが追加されます。 1つ以上のルートがすでに存在する場合、操作を実行する前に既存のルートまたはルートを更新するかどうかを確認する警告が表示されます。
新しいルートを追加するには、表ヘッダーのプラス( +
)ボタンをクリックします。 ルートを編集するには、対応するルート行の編集ボタンを使用します。 ルートを削除するには、対応するルート行の削除アイコンを使用します。
ルートを編集する場合:
Name
フィールドを使用します。Virtual Host
およびPath Expression
フィールドを使用して、このルートに一致するリクエストを決定する一致ルールを定義します。Target Service Namespace
フィールドで指定されたネームスペースに存在するTarget Service
フィールドおよびTarget Port
フィールドで指定されたポートによって指定されたサービスにルーティングされます。 ドメインのデプロイ後、WebLogic Kubernetes Operatorドメインのネームスペースで使用可能なサービスのドロップダウン・リストからTarget Service
値を選択できます。 Target Service
を選択した後、選択したターゲット・サービスで使用可能なポートのリストからTarget Port
を選択できます。 Transport Option
を指定します:
Plain HTTP
を選択します。SSL terminate at ingress controller
を選択し、イングレス・コントローラからターゲット・サービスへの暗号化されていないトラフィックを選択します。
WebLogic Console
サービスである場合は、Is target service WebLogic Console?
を有効にします。SSL pass through
を選択します。
Virtual Host
のすべてのSSLトラフィックがターゲット・サービスにルーティングされます。Target Port
がSSLをサポートしていることを確認します。Ingress Route Annotations
表を使用してイングレス・ルートに注釈を追加します。 事前入力された注釈は削除しないでください。 Code View
は、イングレス・コントローラのインストールおよびイングレス・ルートの更新のためのシェル・スクリプトを表示します。 追加するルートのYAML定義も表示されます(該当する場合)。
まだ選択されていない場合は、Script Language
ドロップダウン・メニューを使用して目的のスクリプト言語を選択します。 アプリケーションには、プロセスの自動化方法を示す作業サンプル・スクリプトが用意されています。 スクリプトを使用する前に、スクリプトを確認し、環境に必要な変更を加えます。 ベスト・プラクティスとみなされる一般的な変更の1つは、スクリプトを変更してコマンドライン引数を受け入れるか、またはスクリプト自体で資格証明をハード・コーディングしないようにスクリプトに必要な資格証明を指定するように環境変数を外部で設定することです。 通常、このような資格証明を安全に処理するための既存の標準が様々な環境にあるため、この変更は演習として残されます。
Install Ingress Controller
は、指定されたネームスペースおよびシークレットを作成し、イングレス・コントローラのHelmチャートを実行してイングレス・コントローラをインストールします。 このアクションにアクセスするには、Ingress Controller
ページまたはGo
> Install Ingress Controller
メニュー・アイテムにあるInstall Ingress Controller
ボタンを使用します。
Update Ingress Routes
は、必要に応じてTLSシークレットを作成し、指定されたイングレス・ルートを追加または更新します。 このアクションにアクセスするには、Ingress Controller
ページまたはGo
> Update Ingress Routes to Domain
メニュー・アイテムのUpdate Ingress Routes
ボタンを使用します。
Uninstall Ingress Controller
は、helm uninstall
コマンドを使用してすべてのイングレス・リソースを削除し、イングレス・コントローラをアンインストールします。 また、対応するネームスペースを削除するかどうかも選択できます。 これらのアクションにアクセスするには、Ingress Controller
ページまたはGo
> Uninstall Ingress Controller
メニュー・アイテムにあるUninstall Ingress Controller
ボタンを使用します。