機械翻訳について

イングレス

イングレスは、ロード・バランサを構成するためにKubernetesによって提供されるアプローチの1つです。 使用しているKubernetesのバージョンおよびクラウド・プロバイダによっては、イングレスの使用が必要になる場合があります。 イングレスの詳細は、「Kubernetesイングレス」ドキュメントを参照してください。

イングレスのバックエンドとしてのWebLogicクラスタ

イングレス・オブジェクトでは、ロード・バランシングされるターゲットごとにバックエンドのリストが提供されます。 各バックエンドは通常、「Kubernetesサービス」、具体的にはserviceNameservicePortの組合せです。

オペレータがWebLogicドメインを作成すると、ドメイン内のWebLogicクラスタごとにサービスも作成されます。 オペレータは、そのセレクタが準備完了状態のWebLogicクラスタ内のすべてのWebLogic Serverポッドと一致するようにサービスを定義します。

WebLogicクラスタ用に作成されたサービスの名前は、パターン<domainUID>-cluster-<clusterName>に従います。 たとえば、domainUIDdomain1で、クラスタ名がcluster-1の場合、対応するサービスの名前はdomain1-cluster-cluster-1になります。

サービス名は、オブジェクトのネーミングに関する標準のKubernetesルール、特にDNS-1035に準拠している必要があります:

DNS-1035ラベルは、小文字の英数字または'-'で構成され、英字で始まり、英数字で終わる必要があります。(たとえば、my-name、またはabc-123、バリデーションに使用される正規表現は[a-z]([-a-z0-9]*[a-z0-9])?です)。

これらの要件に準拠するために、domainUIDまたはクラスタ名に大文字またはアンダースコアが含まれている場合、サービス名では大文字が小文字に変換され、アンダースコアがハイフンに変換されます。 たとえば、domainUIDmyDomain_1で、クラスタ名がmyCluster_1の場合、対応するサービスの名前はmydomain-1-cluster-mycluster-1になります。

WebLogicクラスタのサービス、serviceNameおよびservicePortはイングレス・オブジェクトで定義されたルーティング・ルールで使用され、ロード・バランサはルールに基づいてクラスタ内のWebLogic Serversにトラフィックをルーティングします。

TraefikやNGINXなどの最も一般的なイングレス・コントローラは、サービスの背後にゼロ個以上の実際のポッドがあることを理解し、実際にはバックエンド・リストを作成し、サービスを経由せずにそれらのバックエンドにリクエストを直接ルーティングします。 つまり、使用されているロード・バランシング・アルゴリズムに従って、ポッド間でリクエストが適切に分散されます。 ほとんどのイングレス・コントローラは、サービスの更新をサブスクライブし、追加のポッドが準備完了になったとき、またはポッドが非準備完了状態になったときに内部バックエンド・セットを調整します。

イングレス・ロード・バランサの設定ステップ

  1. イングレス・コントローラをインストールします。

    イングレス・コントローラが実行されると、指定されたネームスペースのイングレス・リソースを監視し、それに応じて動作します。

  2. イングレス・リソースの作成。

    イングレス・リソースには、1つ以上のバックエンドへのルーティング・ルールが含まれます。 イングレス・コントローラは、基礎となるロード・バランサにルールを適用します。 イングレス・リソースを作成するには、2つのアプローチがあります:

    • Helmチャートを使用します。

      各イングレス・プロバイダは、イングレス・リソースで多数の注釈をサポートしています。 Helmチャートでは、プロバイダ固有の詳細な注釈を処理せずにルーティング・ルールを定義できます。

    • YAMLファイルからイングレス・リソースを手動で作成します。

      イングレスYAMLファイルを手動で作成し、Kubernetesクラスタに適用します。

TraefikおよびNGINXのガイドおよびサンプル

WebLogicクラスタをロード・バランシングするためにこれらのイングレス・コントローラをインストールおよび構成する方法の詳細は、次のとおりです:

本番環境では、NGINX、Traefik (2.2.1以上)のイングレス・コントローラ、またはクラウド・プロバイダが提供するロード・バランサをお薦めします。

Traefikイングレス・コントローラにもサンプルが提供されており、様々なルーティング・ルール、ホスト・ルーティングおよびパス・ルーティングを使用して複数のWebLogicクラスタをバックエンドとして管理する方法が示されています。また、TLSターミネーションも提供されます: Traefik samples

NOTE 次の「既知の制限」では、NGINX SSLパススルー・イングレス・サービスは、Kubernetesヘッドレス・サービスでは機能しません。