機械翻訳について

Extract Domain Resource Tool

Extract Domain Resource Toolを使用して、WebLogic Kubernetes OperatorまたはVerrazzanoで使用するリソース・ファイルを作成できます。 これにより、Kubernetesリソース定義をモデル・ファイルから生成できます。 これは、リソース・ファイルに反映する必要があるドメインの構成変更を行う場合に特に便利です。 たとえば、クラスタをドメインに追加するには、そのクラスタをWDTモデルのtopologyセクションに追加するだけで、新しいクラスタに関する情報を含む新しいリソース定義ファイルを生成して、Kubernetesに適用できます。

Verrazzanoサポートは、WDT 4.0.0で非推奨になり、将来のリリースで削除されます。

デフォルトでは、生成されるリソース・ファイルは非常にミニマリズム的で、常に編集が必要です。 たとえば、Extract Domain Resource Toolは、管理サーバーのみを含む単純なモデルに対して実行すると、ここに示すようなものが生成されます。 .spec.domainHome属性値は、-domain_homeコマンドライン引数を使用して移入されたことに注意してください。

apiVersion: weblogic.oracle/v9
kind: Domain
metadata:
    name: mydomain
    namespace: mydomain
    labels:
        weblogic.domainUID: mydomain
spec:
    domainHome: /u01/domains/mydomain
    domainHomeSourceType: FromModel
    image: '{{{imageName}}}'
    # Add any credential secrets that are required to pull the image
    imagePullSecrets: []
    webLogicCredentialsSecret:
        name: mydomain-weblogic-credentials
    serverPod:
        env:
          - name: JAVA_OPTIONS
            value: -Dweblogic.StdoutDebugEnabled=false
          - name: USER_MEM_ARGS
            value: '-Djava.security.egd=file:/dev/./urandom -Xms64m -Xmx256m '
    configuration:
        introspectorJobActiveDeadlineSeconds: 900
        model:
            domainType: WLS
            modelHome: '{{{modelHome}}}'
            runtimeEncryptionSecret: mydomain-runtime-encryption-secret

このツールをより便利にする(さらに自動化する)ために、モデルには、生成されたドメイン・リソースにフィードするオプションのトップレベルのkubernetesおよびverrazzanoセクションが含まれます。 前の出力例を見ると、.spec.image属性と.spec.configuration.model.modelHome属性が次のようになっていることがわかります

WebLogic Kubernetes Operatorの詳細は、「こちら」を参照してください。

Verrazzanoの詳細については、「こちら」を参照してください。

Extract Domain Resource Toolのコマンドラインの例を次に示します:

$ weblogic-deploy/bin/extractDomainResource.sh -model_file /tmp/mymodel.yaml -variable_file /tmp/my.properties -output_dir /tmp/resource -target wko -oracle_home /tmp/oracle -domain_home /u01/mydomain 

最も単純なケースでは、Extract Domain Resource Toolは、target引数に対応するテンプレートに基づいて、モデルのコマンドラインおよびドメイン・セクションの情報を使用してリソース・ファイルを作成します。 ターゲット・タイプおよびテンプレートに関する情報は、「ターゲット環境」ページを参照してください。

オプションの-domain_home引数の値は、テンプレート出力の対応するフィールドに適用されます(指定されている場合)。 別の方法として、WDTモデルの関連セクションにドメイン・ホームの値を指定できます。

テンプレートのドメイン名とUIDフィールドには、モデルのトポロジ・セクションにあるドメイン名、またはデフォルトのbase_domainが使用されます。 クラスタ・エントリはモデルのトポロジ・セクションからプルされます。そのレプリカ数は、各クラスタのサーバー数から導出されます。

ユーザーは、リソース出力で--FIX ME--によって識別されるイメージおよびシークレット情報を入力する必要があります。

--FIX ME--値の事前移入など、より高度な構成の場合、ユーザーは、WDTモデルの関連セクションを移入でき、それらの値は結果のカスタム・リソース定義(CRD)リソース・ファイルに表示されます。 この例では、モデルのkubernetesセクションがオーバーライドされ、WebLogic Kubernetes Operatorに対して生成されたCRDに値が追加されます。

kubernetes:
    metadata:
        name: myName
        namespace: myNamespace
    spec:
        image: 'my.repo/my-image:2.0'
        imagePullSecrets:
            -   name: WEBLOGIC_IMAGE_PULL_SECRET_NAME
        webLogicCredentialsSecret:
            name: '@@PROP:mySecret@@'
        configuration:
            model:
                domainType: 'WLS'
            secrets:
                -   secret1
                -   secret2
        serverPod:
            env:
                -   name: USER_MEM_ARGS
                    value: '-XX:+UseContainerSupport -Djava.security.egd=file:/dev/./urandom'
                -   name: JAVA_OPTIONS
                    value: '-Dmydir=/home/me'

この例では、@@PROP:mySecret@@を使用して、コマンドラインで指定された変数ファイルからwebLogicCredentialsSecretの値を取得します。 これは、モデルのCRDセクションのいずれかの値を使用して実行できます。 モデル変数の使用の詳細は、「こちら」を参照してください。

この例でwkoターゲットを使用すると、結果のドメイン・リソース・ファイルに次が含まれます:

apiVersion: weblogic.oracle/v8
kind: Domain
metadata:
    name: myName
    namespace: myNamespace
spec:
    image: 'my.repo/my-image:2.0'
    imagePullSecrets:
    -   name: WEBLOGIC_IMAGE_PULL_SECRET_NAME
    webLogicCredentialsSecret:
        name: WEBLOGIC_CREDENTIALS_SECRET_NAME
    serverPod:
        env:
        -   name: USER_MEM_ARGS
            value: '-XX:+UseContainerSupport -Djava.security.egd=file:/dev/./urandom'
        -   name: JAVA_OPTIONS
            value: '-Dmydir=/home/me'
    domainHome: /u01/mine/domain
    configuration:
        model:
            domainType: WLS
        secrets:
        -   secret1
        -   secret2
    clusters:
    -   clusterName: mycluster
        replicas: 2
    -   clusterName: mycluster3
        replicas: 4

クラスタがモデルのkubernetes/specセクションで指定されている場合、そのクラスタはモデルのtopologyセクションにあるすべてのクラスタと結合されます。

WDTモデルのspec/imagePullPolicyの値がNeverの場合、imagePullSecretsのデフォルト値は追加されません。

WebLogic Kubernetes Operatorでサポートされているセクションおよび変数の完全なリストは、「こちら」です。 Extract Domain Resource Toolは、metadataserverPodおよびspecを含むこれらのセクションのサブセットをサポートします。

WDTモデルのverrazzanoセクションを使用して、vzvz-diiなどのVerrazzanoターゲット用に生成されたCRDを更新できます。 このモデル・セクションの詳細は、「こちら」を参照してください。

Model Help Toolを使用して、モデルのCRDセクションで使用できるフォルダおよび属性を決定できます。 たとえば、次のコマンドは、kubernetesセクションのspecフォルダ内のフォルダおよび属性をリストします:

<wls-deploy-home>/bin/modelHelp.sh -oracle_home /tmp/oracle kubernetes:/spec

このコマンドは、verrazzanoセクションのapplication/specフォルダ内のフォルダおよび属性をリストします:

<wls-deploy-home>/bin/modelHelp.sh -oracle_home /tmp/oracle -target vz verrazzano:/application/spec

Discover Domain Toolでモデルが検出された場合、CRDセクションのコンテンツは生成されません。

extractDomainResourceのパラメータ表

パラメータ 定義 デフォルト
-archive_file アーカイブ・ファイルへのパス。 これは、アーカイブ・ファイルのカンマ区切りリストとして指定することもできます。 各アーカイブ内の内容が、リストの前のアーカイブより優先されます。
-domain_home 出力ファイルで使用されるドメイン・ホーム・ディレクトリ。 これにより、モデルのすべての値が上書きされます。
-model_file モデル・ファイルのロケーション。 これは、モデル・ロケーションのコンマ区切りリストとして指定することもできます。このリストでは、前のモデル・ロケーションの上に続く各モデル層が配置されます。
-oracle_home Oracle WebLogicインストールのホーム・ディレクトリ。 ORACLE_HOME環境変数が設定されていない場合は必須です。
-output_dir ターゲット出力ファイルのロケーション。
-target ターゲット出力タイプ。 デフォルトはwkoです。 ターゲット・タイプの詳細は、「ターゲット環境」を参照してください。
-variable_file モデルで使用される変数の値を含むプロパティ・ファイルのロケーション。 これは、プロパティ・ファイルのカンマ区切りリストとして指定することもできます。このリストでは、前述のプロパティ・レイヤーの先頭に続く各プロパティ・レイヤーのセットがあります。