機械翻訳について

イングレス・コントローラ

目次

イングレス・コントローラ

この項では、イングレス・コントローラに関連する2つの異なる機能をサポートします。 まず、Kubernetesクラスタへのイングレス・コントローラのインストールをサポートします。 次に、デプロイ済のWebLogicドメインのエンドポイントにアクセスできるように、イングレス・コントローラに必要なルートの追加をサポートしています。

設計ビュー

Design Viewは、必要に応じてイングレス・コントローラのインストールに必要なデータを指定し、デプロイされたWebLogicドメインの1つ以上のエンドポイントを公開するために必要なデータを指定します。 このページには3つのペインがあります:

イングレス・コントローラ構成

このペインの最も重要なフィールドは、Ingress Providerフィールドです。 このフィールドは、WKT UIアプリケーションに、動作する必要があるサポート対象イングレス・コントローラを示します。 現在のリリースでは、次の2つのイングレス・コントローラがサポートされています:

  • NGINX
  • Traefik

イングレス・コントローラをインストールするには、Install Ingress Controllerを有効にします。

  • Helmインストール・プロセスで使用されるリリース名を設定するには、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 UsernameDocker Hub PasswordおよびDocker Hub Email Addressフィールドのプル・シークレット・データを入力します。
  • NGINXイングレス・コントローラの場合、イングレス・ルートをSSLで渡す場合は、Allow SSL pass through to target serviceを有効にします。

イングレス・ルートのTLSシークレット

このペインを使用して、クライアントからイングレス・コントローラへのHTTPS接続を確立する際に、イングレス・コントローラで使用される証明書および秘密キー・データを含むTransport Layer Security (TLS)シークレットを構成します。 TLS接続はイングレス・コントローラで終了されるため、イングレス・コントローラとサービス/ポッド間のトラフィックは暗号化されません。 現在のリリースでは、定義されているルートに対してサポートされるTLS証明書は1つのみです。

  • TLS対応ルートを使用するには、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の場合はSSL terminate at ingress controllerを選択し、イングレス・コントローラからターゲット・サービスへの暗号化されていないトラフィックを選択します。
      • ターゲット・サービスがWebLogic Consoleサービスである場合は、Is target service WebLogic Console?を有効にします。
    • SSLトラフィックがイングレス・コントローラを通過してターゲット・サービスで終了するには、SSL pass throughを選択します。
      • このオプションを選択した場合は、仮想ホストで有効なDNS値も指定する必要があり、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ボタンを使用します。