この項では、イングレス・コントローラに関連する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ボタンを使用します。