WebLogic Scripting Tool (WLST)を使用して、Kubernetesで実行中のドメインを管理できます。
Kubernetesで実行されているドメインにWLSTへのアクセス権を付与するには、次を実行できます:
ノート: ドメイン・ホーム・タイプがDomain in ImageまたはModel in Imageの場合は、WLSTを使用してWebLogicドメイン構成を変更しないでください。これらの変更は一時的なもので、サーバーの再起動時に失われます。 「ドメイン・ホーム・ソース・タイプの選択」を参照してください。
kubectl exec
の使用kubectl exec
コマンドを使用して、ポッド内の対話型WLSTセッションを開始したり、ポッド上でリモートでWLSTスクリプトを実行できます。 通常、これは優先されるメソッドです。
ノート: WLSTスクリプトは、環境変数USER_MEM_ARGS
の値を使用して、JVMプロセスのヒープ設定を制御します。 ドメイン・リソースYAMLで環境変数USER_MEM_ARGS
を設定した場合、WLSTプロセスはメモリー設定を継承します。 たとえば、USER_MEM_ARGS
値が-Xms2048m -Xmx2048m
に設定されている場合、WebLogicサーバーのJAVAプロセスはこのヒープ設定を使用し、サーバー・ポッドでWLSTスクリプトを実行すると、WLSTスクリプトのJAVAプロセスもこのヒープ設定を使用します。 これにより、追加のメモリー使用量が原因で、サーバー・ポッドで予期しない動作が発生する可能性があります。
メモリー設定を変更するには、次を実行する必要があります:
USER_MEM_ARGS="" $ORACLE_HOME/oracle_common/common/bin/wlst.sh
これにより、USER_MEM_ARGS
の設定が解除され、WLSTでデフォルトのヒープ・サイズ-Xms32m -Xmx1024m
が使用されるようになります。これはWLSTスクリプト・プロセスにのみ影響します。
別のメモリー設定を使用する場合は、
USER_MEM_ARGS="-Xms128m -Xmx128m" $ORACLE_HOME/oracle_common/common/bin/wlst.sh
たとえば、domainUID
がsample-domain1
の場合、その管理サーバーの名前はadmin-server
で、デフォルトのポート7001
で構成され、そのポッドがネームスペースsample-domain1-ns
で実行されていると、対話型WLSTセッションを次のように起動できます:
$ kubectl -n sample-domain1-ns exec -it sample-domain1-admin-server /bin/bash
[oracle@sample-domain1-admin-server oracle]$ USER_MEM_ARGS="" $ORACLE_HOME/oracle_common/common/bin/wlst.sh
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
wls:/offline> connect('myusername','mypassword','t3://sample-domain1-admin-server:7001')
Connecting to t3://sample-domain1-admin-server:7001 with userid myusername ...
Successfully connected to Admin Server "admin-server" that belongs to domain "base_domain".
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
wls:/base_domain/serverConfig/> exit()
Exiting WebLogic Scripting Tool.
[oracle@sample-domain1-admin-server oracle]$ exit
$
NodePort
の使用NodePort
を介してWLSTアクセスを設定し、外部ポートがWebLogic管理サーバー・ポッドのポート番号と同じにならない場合は、「ローカル・ポートとリモート・ポートが一致しない場合のWLSTアクセスの有効化」で追加の設定ステップを参照してください。
NodePort
は、WebLogic T3またはKubernetesクラスタの外部の管理チャネルを公開できます。 ドメインのセキュリティに関する考慮事項については、「外部ネットワーク・アクセスのセキュリティ」を参照してください。
次の2つのステップを使用して、外部でアクセス可能なNodePort
を公開するように管理サーバーを構成できます:
domain.spec.adminServer.adminService.channels
属性を使用して、NodePortサービスでこのチャネルを公開します。admin-server
という管理サーバー用に定義されたT3チャネルT3Channel
のWebLogicドメインconfig.xml
ファイルのスニペットの例を次に示します:
<server>
<name>admin-server</name>
<listen-port>7001</listen-port>
<listen-address/>
<network-access-point>
<name>T3Channel</name>
<protocol>t3</protocol>
<public-address>kubernetes001</public-address>
<listen-port>30012</listen-port>
<public-port>30012</public-port>
</network-access-point>
</server>
チャネルにNodePortを設定するドメイン・リソースのスニペットの例を次に示します:
spec:
adminServer:
adminService:
channels:
- channelName: T3Channel
nodePort: 30012
nodePort:
値を0
に設定すると、Kubernetesによってオープン・ポートが選択されます。
NodePortサービスを使用したT3チャネルの公開の詳細は、kubectl explain domain.spec.adminServer.adminService.channels
コマンドを実行するか、ドメイン・リソースschemaおよびdocumentationを参照してください。
たとえば、domainUID
がdomain1
で、管理サーバー名がadmin-server
で、domain.spec.adminServer.adminService.channels
属性を使用して外部ポート30012
でNodePortサービスを設定した場合、サービスは次のようにコールされます:
domain1-admin-server-ext
このサービスはドメインと同じネームスペースにあり、nodePort
フィールドをチェックすることで外部ポート番号を取得できます:
$ kubectl get service domain1-admin-server-ext -n mynamespace -o jsonpath='{.spec.ports[0].nodePort}'
30012
Kubernetesノードのマシン・アドレスがkubernetes001
の場合、WLSTはNodePort
を介してWebLogic Server管理サーバー・ポッドに接続できます:
$ $ORACLE_HOME/oracle_common/common/bin/wlst.sh
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
wls:/offline> connect('myusername','mypassword','t3://kubernetes001:30012')
Connecting to t3://kubernetes001:30012 with userid myusername ...
Successfully connected to Admin Server "admin-server" that belongs to domain "base_domain".
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
wls:/base_domain/serverConfig/> exit()
Exiting WebLogic Scripting Tool.
WLSTへの外部アクセスを提供する方法の1つは、ローカル・マシンのローカル・ポートから管理サーバー・ポッドの管理ポートにネットワーク・トラフィックを転送する方法です。 「手順」を参照してください。
ポート転送では、WebLogic T3またはKubernetesクラスタの外部の管理チャネルを公開できます。 ドメインのセキュリティに関する考慮事項については、「外部ネットワーク・アクセスのセキュリティ」を参照してください。