機械翻訳について

初期状態のユース・ケース

目次

始める前に: 前提条件のステップを実行し、補助イメージの作成のステップを実行してModel in Image auxiliary imageを作成します。

概要

このユースケースでは、初期WebLogicドメインを設定します。 内容は次のとおりです。

  • 以前に作成した「補助イメージ」を使用します。
  • ドメインのシークレットの作成。
  • 自分のシークレット、補助イメージおよびWebLogicイメージを参照するドメインのYAMLファイルの作成。

ドメインのデプロイ後、オペレータはモデルをWebLogic構成に変換するイントロスペクタ・ジョブを開始し、この構成をドメイン内の各WebLogic Serverに渡します。

補助イメージ

このサンプルでは、「補助イメージの作成」ステップで作成したwdt-domain-image:WLS-v1という名前のauxiliary imageを使用しています。 この補助イメージのWDTモデル・ファイルは、WebLogicドメイン構成を定義します。 イメージには次のものが含まれます:

  • WebLogic Deploy Toolingソフトウェアがインストールされるディレクトリ(WDTホームとも呼ばれる)。デフォルトでは、イメージの/auxiliary/weblogic-deployディレクトリで想定されます。
  • WDTモデルYAML、プロパティおよびアーカイブ・ファイル(デフォルトではディレクトリ/auxiliary/modelsに必要です)。

リソースのデプロイ - 導入

この項では、新しい補助イメージを持つドメイン・リソースを、次のステップを含むネームスペースsample-domain1-nsにデプロイします:

  • WebLogic管理者のユーザー名とパスワードを含むシークレットを作成します。
  • Model in Imageランタイム暗号化パスワードを含むシークレットを作成します:
    • すべてのModel in Imageドメインは、ランタイム暗号化シークレットにpassword値を指定する必要があります。
    • オペレータによって内部的に渡される構成を暗号化するために使用されます。
    • 値はプライベートにしておく必要がありますが、任意に指定できます。オプションで、ドメインを再起動するたびに別のシークレット値を指定できます。
  • 新しいイメージを参照するドメインYAMLファイルをデプロイします。
  • ドメインのポッドが起動して準備完了状態になるまで待機します。

シークレット

まず、ドメインに必要なシークレットを作成します。 WDTモデル・ファイルのマクロから参照されるWebLogic資格証明シークレットおよびその他のシークレットを作成する必要があります。 WDTモデル・ファイルでのマクロの使用の詳細は、「WDTモデル・ファイルの操作」を参照してください。

次のkubectlコマンドを実行して、必要なシークレットをデプロイします:

ノート: 選択したパスワードをMY_WEBLOGIC_ADMIN_PASSWORDに置換します。 このパスワードには、少なくとも7文字と1桁の数字を含める必要があります。

ノート: 選択したパスワードをMY_RUNTIME_PASSWORDに置換します。 管理パスワードとは異なる一意である必要がありますが、これは必須ではありません。

$ kubectl -n sample-domain1-ns create secret generic \
  sample-domain1-weblogic-credentials \
   --from-literal=username=weblogic --from-literal=password=MY_WEBLOGIC_ADMIN_PASSWORD
$ kubectl -n sample-domain1-ns label  secret \
  sample-domain1-weblogic-credentials \
  weblogic.domainUID=sample-domain1
$ kubectl -n sample-domain1-ns create secret generic \
  sample-domain1-runtime-encryption-secret \
   --from-literal=password=MY_RUNTIME_PASSWORD
$ kubectl -n sample-domain1-ns label  secret \
  sample-domain1-runtime-encryption-secret \
  weblogic.domainUID=sample-domain1

これらのシークレットに関する重要な詳細:

  • WebLogic資格証明シークレットは必須で、usernameおよびpasswordフィールドが含まれている必要があります。 モデルYAMLファイルのdomainInfo.AdminUserNameおよびdomainInfo.AdminPassWordフィールドのドメインYAMLおよびマクロのspec.webLogicCredentialsSecretフィールドでこれを参照します。
  • モデルWDTランタイム・シークレットは、Model in Imageで必要な特別なシークレットです。 passwordフィールドが含まれている必要があり、そのドメインのspec.model.runtimeEncryptionSecretフィールドを使用して参照する必要があります。 ドメインのイントロスペクタ・ジョブおよびそのWebLogic Serverポッドからログ・ファイルを使用して内部的に渡されるデータの暗号化に使用されます。 ドメインがKubernetesにデプロイされているかぎり同じである必要がありますが、デプロイメント間で変更できます。
  • 作成する前にシークレットを削除してください。そうしないと、シークレットがすでに存在する場合、作成コマンドは失敗します。
  • 関連付けられたドメインUIDを使用してシークレットに名前を付け、ラベルを付けて、どのシークレットがどのドメインに属しているかを明確にし、ドメインのクリーンアップを容易にします。 これらのシークレットに関する重要な詳細:

ドメイン・リソース

ここで、ドメインYAMLファイルを作成します。 ドメインは、オペレータにWebLogicドメインのデプロイ方法を伝える主要なリソースです。

「ドメイン・リソースYAMLファイル」ファイルの内容を/tmp/sample/mii-initial-domain.yamlなどのファイルにコピーします。 または、サンプル・ソースに含まれているファイル/tmp/sample/domain-resources/WLS/mii-initial-d1-WLS-v1.yamlを使用することもできます。 このファイルには、ドメイン・リソースと参照先のクラスタ・リソース定義の両方が含まれています。 「ドメインおよびクラスタ・リソース」を参照してください。

「こちら」をクリックして、ドメインYAMLファイルを表示します。

ノート: ドメイン・カスタム・リソースをデプロイする前に、Kubernetesクラスタauxiliary-imageおよびその他のイメージにアクセスできます内のすべてのノードを確認します。

次のコマンドを実行して、ドメイン・カスタム・リソースを作成します:

$ kubectl apply -f /tmp/sample/mii-initial-domain.yaml

ドメイン・リソースは、クラスタ・リソース、WebLogic Serverインストール・イメージ、定義したシークレット、および従来のWebLogic構成とWebLogicアプリケーションを含むサンプルのauxiliary imageを参照します。 詳細については、「ドメインおよびクラスタ・リソース」を参照してください。

ドメインの検証

次のkubectl describe domainコマンドを実行して、作成されたドメインのステータスおよびイベントを確認します。

$ kubectl describe domain sample-domain1 -n sample-domain1-ns

ポッドを確認

kubectl get pods -n sample-domain1-ns --watchを実行すると、イントロスペクタ・ジョブの実行およびWebLogic Serverポッドが起動します。 出力は次のようになります:

「ここをクリックして展開します。」

このアクティビティの詳細を表示するには、waitForDomain.shサンプル・ライフサイクル・スクリプトを使用できます。 このスクリプトは、ドメインのポッドに関する有用な情報を提供し、オプションで、Completedステータス条件がTrueになるまで待機します。 Completedドメインは、予想されるすべてのポッドがready状態に加え、ターゲットのrestartVersionintrospectVersionおよびimageに達したことを示します。 例えば:

$ cd /tmp/weblogic-kubernetes-operator/kubernetes/samples/scripts/domain-lifecycle
$ ./waitForDomain.sh -n sample-domain1-ns -d sample-domain1 -p Completed

エラーが表示された場合は、「デバッグ」を参照してください。

webアプリケーションの起動

すべての初期状態のユース・ケース・リソースがデプロイされたので、Traefikイングレス・コントローラのNodePortを介してサンプルwebアプリケーションを起動できます。

ノート: webアプリケーションは検出したデータ・ソースのリストを表示しますが、この時点では、モデルにデータ・ソースが含まれていないため、データ・ソースは検出されません。

  • 次の例に示すように、アプリケーションのロード・バランサにwebアプリケーション・リクエストを送信します。

        $ curl -s -S -m 10 -H 'host: sample-domain1-cluster-cluster-1.sample.org' http://localhost:30305/myapp_war/index.jsp
    
        $ K8S_CLUSTER_ADDRESS=$(kubectl cluster-info | grep DNS | sed 's/^.*https:\/\///g' | sed 's/:.*$//g')
    
        $ curl -s -S -m 10 -H 'host: sample-domain1-cluster-cluster-1.sample.org' http://${K8S_CLUSTER_ADDRESS}:30305/myapp_war/index.jsp
    
  • 出力は次のようになります:

    <html><body><pre>
    *****************************************************************
    
    Hello World! This is version 'v1' of the sample JSP web-app.
    
    Welcome to WebLogic Server 'managed-server2'!
    
      domain UID  = 'sample-domain1'
      domain name = 'domain1'
    
    Found 1 local cluster runtime:
      Cluster 'cluster-1'
    
    Found min threads constraint runtime named 'SampleMinThreads' with configured count: 1
    
    Found max threads constraint runtime named 'SampleMaxThreads' with configured count: 10
    
    Found 0 local data sources:
    
    *****************************************************************
    </pre></body></html>
    

「更新1」ユースケースに進む場合は、ドメインを実行したままにします。

このサンプルで作成したリソースを削除するには、「クリーンアップ」を参照してください。