機械翻訳について

WebLogic Kubernetes Operator

目次

WebLogic Kubernetes Operator

この項では、ターゲットのKubernetesクラスタにWebLogic Kubernetes Operator (オペレータ)をインストールするサポートを提供します。 オペレータの詳細は、WebLogic Kubernetes Operatorのドキュメントを参照してください。

設計ビュー

Design Viewは、1つ以上のKubernetesネームスペースでWebLogicドメインを管理するためにWebLogic Kubernetes Operatorをインストールするために必要なデータを指定するのに役立ちます。 デフォルト設定を使用してオペレータをインストールするには、次の3つのフィールドに値を指定します:

  • Kubernetes Namespace - オペレータをインストールするKubernetesネームスペース。
  • Kubernetes Service Account - Kubernetes APIリクエストの作成時に使用するオペレータのKubernetesサービス・アカウント。
  • Helm Release Name to Use for Operator Installation - このインストールを識別するために使用するHelmリリース名。

WKT UIアプリケーションは、オペレータHelmチャートのいくつかのデフォルト値をオーバーライドします。 「Kubernetesネームスペースの選択戦略」のパラメータの説明の詳細を参照してください。 これらのペインとそのフィールドは、ページのAdvanced部分を展開して表示されます。

WebLogic Kubernetes Operatorイメージ

デフォルトでは、オペレータのImage Tag to Useフィールドは、GitHubコンテナ・レジストリの最新のオペレータ・リリース・バージョンに対応するイメージ・タグに設定されます。 Image Pull Policyフィールドは、指定したレジストリからイメージをいつプルするかを示すように、Kubernetesのオペレータ・デプロイメントを構成します:

  • If Not Present (default) - イメージがKubernetesノードに存在しない場合のみプルします。
  • Always - コンテナを起動するためにイメージが必要なたびにイメージをプルします。
  • Never - イメージをプルしないでください。イメージがKubernetesノードにまだ存在しない場合、エラーが発生します。

GitHubコンテナ・レジストリでは、公式のWebLogic Kubernetes Operatorイメージをプルするためにイメージ・プル認証を必要としないため、Image Pull Requires Authenticationはデフォルトで無効になっています。 プル認証を必要とするコンテナ・イメージ・レジストリからカスタム・オペレータ・イメージが使用されている場合は、オプションを有効にし、次の「イメージ・プル・シークレット」ペインで説明されている適切なフィールドに入力します。

イメージ・プル・シークレット

このペインは、WebLogic Kubernetes Operatorイメージ・ペインのImage Pull Requires Authenticationが有効になっていないかぎり非表示になります。 プル認証が必要なカスタム・オペレータ・イメージをKubernetesがプルできるようにするには、Kubernetes Image Pull Secret Nameフィールドを使用して、資格証明に使用するKubernetesシークレットの名前を指定します。 アプリケーションでこのシークレットを作成するには、Use Existing Secretを無効にし、次のフィールドの値を指定します:

  • Image Pull Secret Email Address - ユーザーの電子メール・アドレス。
  • Image Pull Secret Username - コンテナ・イメージ・レジストリへの認証時に使用するユーザー名。
  • Image Pull Secret Password - コンテナ・イメージ・レジストリへの認証時に使用するユーザー・パスワード。

読取り専用Image Registry Addressフィールドは、Image Tag to Useフィールドから解析されます。 Image Registry Addressフィールドが空の場合、アプリケーションはDockerハブがプル・シークレットの作成時に使用するターゲット・コンテナ・イメージ・レジストリであると想定します。

Kubernetesネームスペースの選択戦略

オペレータは、管理するKubernetesクラスタ内のWebLogicドメインを認識する必要があります。 これはKubernetesネームスペース・レベルで行われるため、オペレータが管理するように構成されているKubernetesネームスペース内のWebLogicドメインは、インストールされるオペレータ・インスタンスによって管理されます。 Kubernetes Namespace Selection Strategyフィールドを使用して、サポートされている値のいずれかから必要なネームスペース選択戦略を選択します:

  • Label Selector (default) - 指定されたラベルを持つKubernetesネームスペースは、このオペレータによって管理されます。
  • List - 指定されたリストのKubernetesネームスペースは、このオペレータによって管理されます。
  • Regular Expression - 指定された正規表現に一致する名前を持つKubernetesネームスペースはすべて、このオペレータによって管理されます。
  • Dedicated - オペレータがインストールされているKubernetesネームスペースのみが、このオペレータによって管理されます。

ノート オペレータHelmチャートのデフォルトがListですが、アプリケーションによってこれがオーバーライドされ、デフォルト値としてLabel Selectorが指定されます。

各ネームスペース選択戦略には異なる入力値が使用されます。フォーム・フィールドは、選択した戦略に基づいて変化します:

  • Label Selector戦略を使用すると、Kubernetes Namespace Label Selectorフィールドに、Helmチャートのデフォルト値と一致するデフォルト値が表示されます。
  • Regular Expression戦略では、必要なKubernetes Namespaces Regular Expressionフィールドを使用して、オペレータで管理するKubernetesネームスペースの照合に使用する正規表現を指定します。
  • List戦略を選択すると、Kubernetes Namespaces to Manageフィールドがdefaultネームスペースを含むリストとともに表示されます。これは、Helmチャートのデフォルト値と一致します。
    • defaultネームスペースの削除は問題なく、空のリストになります。
    • List戦略を使用してオペレータを使用してドメインをデプロイする場合、アプリケーションは必要に応じて、新しいドメインのKubernetesネームスペースを指定されたリストに自動的に追加します。 そのため、空のリストを指定しても、WebLogicドメインがオペレータによって管理されることはありません。
  • Dedicatedは自己定義であるため、追加フィールドは不要です。

WebLogic Kubernetes Operatorロール・バインディング

オペレータをインストールする場合、オペレータHelmチャートのデフォルトは、オペレータによって管理される各KubernetesネームスペースにKubernetesロールおよびKubernetes RoleBindingを作成することです。 Enable Cluster Role Bindingを有効にすると、オペレータのインストールによって、オペレータがすべての管理対象ネームスペースに使用するKubernetes ClusterRoleおよびClusterRoleBindingが作成されます。 このClusterRoleおよびClusterRoleBindingは、Kubernetesクラスタ内のすべてのオペレータ・インストールで共有されます(これらのインストールでもクラスタ・ロール・バインディングが有効になっている場合)。

デフォルトの名前空間固有のロールとロール・バインディングを使用すると、管理者は最小権限の原則に従って、オペレータが他の非管理ネームスペース・アクションを実行できないことを保証します。 この構成の意味は、オペレータ・サービス・アカウントにロールとロール・バインディングを作成する権限がないため、管理するオペレータに追加された新しいネームスペースには、ネームスペースの管理に必要なロールおよびロール・バインディングがないことです。 新しいネームスペースを管理するように構成されたオペレータを使用してオペレータHelmチャートを再実行すると、Helmチャートで、必要に応じて各ネームスペースに必要なロール・オブジェクトおよびRoleBindingオブジェクトが作成されます。

オペレータがClusterRoleおよびClusterRoleBindingを使用している場合、オペレータのHelmチャートを再実行する必要なく、Label SelectorまたはRegular Expressionのいずれかのネームスペース選択戦略を使用すると、新しいネームスペースがオペレータによって自動的に選択されます。

前述のとおり、WKT UIアプリケーションは、新しいWebLogicドメインをデプロイするときにオペレータHelmチャートを自動的に再実行し、新しいドメインのネームスペースがオペレータによって管理されていることを確認します。

外部REST APIアクセス

デフォルトでは、オペレータのREST APIはKubernetesクラスタ外では公開されません。 REST APIの公開を有効にするには、Expose REST API Externallyを有効にし、External REST API HTTPS Portフィールドを使用して目的のHTTPSポートを設定し、External REST API Identity Secret Nameフィールドで使用するKubernetes TLSシークレットの名前を設定します。 詳細は、WebLogic Kubernetes Operator Rest APIのドキュメントを参照してください。

サード・パーティの統合

Elasticsearch、LogstashおよびKibana (ELK)スタックとの統合を有効にするには、ELK Integration Enabledを有効にし、次のフィールドに値を指定します。

  • Logstash Image Tag to Use - 使用するlogstashのコンテナ・イメージ。
  • Elasticsearch Host Name - ElasticsearchサーバーのIPアドレスのDNS名。
  • Elasticsearch Port - Elasticsearchサーバーのポート番号。

詳細は、WebLogic Kubernetes Operatorドキュメントの「柔軟なスタック統合」を参照してください。

Javaロギング

このペインでは、オペレータのJavaロギング構成をオーバーライドできます。これは、オペレータの問題をデバッグするときに役立ちます。 Logging Levelフィールドを使用して、ログ・ファイルに書き込まれる最小ログ・レベルをカスタマイズします。 Log File Size Limitフィールドは、1つのオペレータ・ログ・ファイルの最大サイズを設定しますが、Log File Countは保持されるログ・ファイルの最大数を制限します。 詳細は、WebLogic Kubernetes Operatorドキュメントの「オペレータのHelm構成値」を参照してください。

コード・ビュー

WebLogic OperatorページのCode Viewには、オペレータのインストール・プロセスを自動化するための開始点として使用できるシェル・スクリプトが表示されます。

まだ選択されていない場合は、Script Languageドロップダウン・メニューを使用して目的のスクリプト言語を選択します。 アプリケーションには、プロセスの自動化方法を示す実用的なサンプル・スクリプトが用意されています。 スクリプトを使用する前に、スクリプトを確認し、環境に必要な変更を加えます。 ベスト・プラクティスとみなされる一般的な変更の1つは、スクリプトを変更してコマンドライン引数を受け入れるか、またはスクリプト自体で資格証明をハード・コーディングしないようにスクリプトに必要な資格証明を指定するように環境変数を外部で設定することです。 通常、このような資格証明を安全に処理するための既存の標準が様々な環境にあるため、この変更は演習として残されます。

インストール・オペレータ

Install Operatorは、WebLogic Kubernetes OperatorをターゲットKubernetesクラスタにインストールします。 このアクションにアクセスするには、WebLogic OperatorページまたはGo > Install WebLogic Kubernetes Operatorメニュー・アイテムのInstall Operatorボタンを使用します。

上位レベルで、Install Operatorは次のステップを実行します:

  1. 選択した内容に基づいて、処理の実行に必要な入力値をバリデートします。
  2. 必要に応じてWKTプロジェクトを保存します。
  3. 必要に応じて、オペレータをインストールするためのKubernetesネームスペースを作成します。
  4. 必要に応じて、オペレータに使用するKubernetesサービス・アカウントを作成します。
  5. 必要に応じて、オペレータ・イメージのプル・シークレットを作成します。
  6. 最新のオペレータHelmチャートをローカルのHelmリポジトリに追加します。
  7. Helmを実行して、指定した構成を使用してオペレータをインストールします。

更新オペレータ

Update Operatorは、helm upgradeコマンドを使用して、実行中のWebLogic Kubernetes Operatorの設定を更新します。 このアクションにアクセスするには、WebLogic OperatorページまたはGo > Update WebLogic Kubernetes Operatorメニュー・アイテムのUpdate Operatorボタンを使用します。

Update Operatorは、ページで指定したオペレータに対するすべての変更を適用します。 たとえば、オペレータ・イメージ・バージョン、ドメイン・ネームスペース選択戦略、Javaロギング・レベルまたはWebLogic Kubernetes Operatorセクションの任意のフィールドの値を変更できます。

オペレータのアンインストール

Uninstall Operatorは、helm uninstallコマンドを使用して、WebLogic Kubernetes Operatorとその関連リソースをKubernetesクラスタから削除します。 また、対応するネームスペースを削除するかどうかも選択できます。 これらのアクションにアクセスするには、WebLogic OperatorページまたはGo > Uninstall WebLogic Kubernetes Operatorメニュー・アイテムのUninstall Operatorボタンを使用します。

オペレータをアンインストールした場合、そのオペレータが管理しているドメインは引き続き実行されますが、オペレータが管理していたドメイン・リソースに対する変更は行われません。検出または自動的に処理され、このようなドメインをクリーンアップする場合は、ドメインのすべてのリソース(ドメイン、ポッド、サービスなど)を手動で削除する必要があります。