コンテナ環境でのVNCセッションの設定
コンテナ環境でディスプレイ端末を使用してGUIベースの操作を実行するには、追加のパッケージをデプロイします。
この項では、WebLogic Image Toolを使用して追加のパッケージを含む既存のOracle SOA Suiteイメージを更新し、このイメージを使用してコンテナ環境でVNCセッションを設定するためのKubernetesデプロイメントを作成する方法について説明します。
始める前に
WebLogic Image Toolが設定されていることを確認します。詳細は、設定を参照してください。WebLogic Image Toolでは、デフォルトでdocker CLIが使用されます。デフォルトをpodmanなどでオーバーライドするには、WLSIMG_BUILDERを実行可能ファイルのフルパスに設定します。たとえば、WLSIMG_BUILDER="/usr/bin/podman"
です
コンテナ・イメージの更新
- additionalBuildCmds.txtを確認して更新します。サンプルadditionalBuildCmds.txtは、VNCセッションのインストールおよび設定に必要なパッケージとともにOracle Linux 8に提供されています。
- パッケージを追加する場合は、additionalBuildCmds.txtを更新します。
- imagetool.shを実行します。
- additionalBuildCmds.txtを適用して
soasuite:14.1.2.0-vnc
としてタグ付けし、次のコマンドを実行して、既存のOracle SOA Suiteコンテナ・イメージsoasuite:14.1.2.0
を更新するには:$ cd $WORKDIR/create-soa-domain/domain-upgrade/vncsetup $ imagetool update --fromImage soasuite:14.1.2.0 --tag soasuite:14.1.2.0-vnc --chown oracle:root --additionalBuildCommands ./additionalBuildCmds.txt
-
イメージをリモートまたはローカル・レジストリにプッシュします
- リモート・レジストリ - 更新されたイメージsoasuite:14.1.2.0-vncをコンテナ・レジストリにプッシュして、Kubernetesクラスタ・ホスティングがプルできるようにします。
$ podman tag soasuite:14.1.2.0-vnc your-registry.com/oracle/soasuite:14.1.2.0-vnc$ podman push your-registry.com/oracle/soasuite:14.1.2.0-vnc
- ローカル・レジストリ - ワーカー・ノードへのアクセスが必要です。
最初にイメージをアーカイブします:
$ podman save -o soasuite-14.1.2.0-vnc.tar.gz soasuite:14.1.2.0-vnc
アーカイブ
soasuite-14.1.2.0-vnc.tar.gz
をワーカー・ノードにコピーし、イメージをローカル・コンテナ・ストレージにロードします:$ podman load < soasuite-14.1.2.0-vnc.tar.gz
- リモート・レジストリ - 更新されたイメージsoasuite:14.1.2.0-vncをコンテナ・レジストリにプッシュして、Kubernetesクラスタ・ホスティングがプルできるようにします。
VNCアクセスの設定
- コンテナ環境でVNCセッションを作成するには、スクリプトstart_vnc.shを使用します:
$ cd $WORKDIR/create-soa-domain/domain-upgrade/vncsetup/scripts $ ./start_vnc.sh -h This is a helper script for starting VNC session in a container environment. Please see README.md for more details. Usage: start_vnc.sh [-c persistentVolumeClaimName] [-m mountPath] [-n namespace] [-i image] [-u imagePullPolicy] [-t serviceType] [-d vncpassword] [-k killvnc] [-h]" [-c | --claimName] : Persistent volume claim name. [-m | --mountPath] : Mount path of the persistent volume in vnchelper deployment. [-n | --namespace] : Namespace. Default is 'default'. [-i | --image] : Container image for the vnchelper deployment (optional). Default is 'ghcr.io/oracle/oraclelinux:8'. [-u | --imagePullPolicy] : Image pull policy for the vnchelper deployment (optional). Default is 'IfNotPresent'. [-p | --imagePullSecret] : Image pull secret for the vnchelper deployment (optional). Default is 'None'. [-t | --serviceType] : Kubernetes service type for VNC port. Default is 'NodePort'. Supported values are NodePort and LoadBalancer. [-d | --vncpassword] : Password for VNC access. Default is 'vncpassword'. [-k | --killvnc : Removes the Kubernetes resources created in the namespace created for VNC session. [-h | --help] : This help.
- アップグレード・アシスタント(ua)やreconfig.shなどのGUIベースのコマンドを起動してリリース・アップグレードを実行する場合は、ドメインで使用されるのと同じドメイン・ホーム永続ボリューム要求名およびマウント・パスでstart_vnc.shスクリプトを使用します。次に、soansネームスペースにデプロイされたOracle SOASuiteドメインの例を示します。マウント・パス/u01/oracle/user_projectsでコンテナ内にマウントされたsoainfra-domain-pvc永続ボリューム要求を使用する場合、次のコマンドを使用してスクリプトを起動できます:
$ ./start_vnc.sh -n soans -i soasuite:14.1.2.0-vnc -c soainfra-domain-pvc -t NodePort -d welcome -m /u01/oracle/user_projects
サンプル出力:
[2024-11-07T17:45:55.893964348Z][INFO] Creating deployment 'vnchelper' using image 'soasuite:14.1.2.0-vnc', persistent volume claim 'soainfra-domain-pvc' and mount path '/u01/oracle/user_projects'. configmap/vnchelper-scripts-cm configured Checking the configmap vnchelper-scripts-cm was created secret/vnchelper-scripts-secret configured Checking the secret vnchelper-scripts-secret was created deployment.apps "vnchelper" deleted deployment.apps/vnchelper created service/vnchelper created [2024-11-07T17:46:06.838237729Z][INFO] =========================================== VNC environment details ==================================================== [2024-11-07T17:46:06.840832397Z][INFO] VNCSERVER started on DISPLAY= <NODE PORT> [2024-11-07T17:46:06.842955900Z][INFO] To start using VNC Session ==> connect via VNC viewer with <NODE NAME>:<NODE PORT> [2024-11-07T17:46:06.845361778Z][INFO] [2024-11-07T17:46:06.847710989Z][INFO] Your data hosted at persistentvolumeClaim soainfra-domain-pvc, are available for access at /u01/oracle/user_projects [2024-11-07T17:46:06.850974036Z][INFO] ======================================================================================================================== [2024-11-07T17:46:06.853056442Z][INFO] [2024-11-07T17:46:06.855075115Z][INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< [2024-11-07T17:46:06.857105300Z][INFO] >>>>>> To cleanup the Kubernetes resources created for VNC session [2024-11-07T17:46:06.859015919Z][INFO] >>>>>> Run: $ ./start_vnc.sh -k -n soans [2024-11-07T17:46:06.861045303Z][INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- VNCセッションの使用を開始するには、start_vnc.sh出力から取得した<NODE NAME>:<NODE PORT>を使用してVNCビューアを介して接続します。
- 最後に、VNCアクセスを削除し、作成されたKubernetesリソースをクリーンアップするには、次のコマンドを実行します:
$ ./start_vnc.sh -k -n <namespace>