16.1.1 コンテナ・イメージへのパッチ適用
この項の手順では、新しいOIGコンテナ・イメージを使用した既存の14.1.2.1.0 Oracle Identity Governance (OIG)デプロイメントへのパッチ適用またはアップグレードについて説明します。
ノート:
管理者は、次のことに注意する必要があります:- Oracle Container Registryまたは独自のコンテナ・レジストリを使用していない場合は、まずKubernetesクラスタ内のすべてのノードに新しいコンテナ・イメージをロードする必要があります。
- Kubernetes Horizontal Pod Autoscaler (HPA)が有効になっている場合は、次のステップを実行する前にHPAを無効にする必要があります。「HPAの削除」を参照してください。
ノート:
この項の手順は、7月25日以降のコンテナ・イメージへのOIGコンテナ・イメージのパッチ適用に関連しています。7月25日より前のバージョンにパッチを適用する場合は、「コンテナ・イメージへのパッチ適用」および「OIGデプロイメントが新しいイメージを使用していることの確認」に従う必要があります。コンテナ・イメージへのパッチ適用には、次が含まれます:
ドメインの停止
パッチを適用する前に、OIGドメインを停止する必要があります。これを行う方法の詳細は、「ドメインの停止および起動」を参照してください。
データベース・スキーマへのパッチ適用
イメージが更新されたら、データベース内のスキーマにパッチを適用する必要があります。
- 次を実行して、ヘルパー・ポッドが存在するかどうかを確認します:
例:kubectl get pods -n <domain_namespace> | grep helper
出力は次のようになります。kubectl get pods -n oigns | grep helper
ヘルパー・ポッドが存在する場合は、次のコマンドでポッドを削除します:helper 1/1 Running 0 26h
例:kubectl delete pod helper -n <namespace>kubectl delete pod helper -n oigns - 新しいイメージを使用して、新しいヘルパー・ポッドを作成します。
Oracle Identity Governance (OIG)コンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:例:
kubectl run --image=<image_name-from-registry>:<tag> \ --image-pull-policy="IfNotPresent" \ --overrides='{"apiVersion": "v1", "spec":{"imagePullSecrets": [{"name": "orclcred"}]}}' \ helper -n <domain_namespace> \ -- sleep infinitykubectl run --image=container-registry.oracle.com/middleware/oig_cpu:14.1.2.1.0-jdk17-ol8-<YYMMDD> \ --image-pull-policy="IfNotPresent" \ --overrides='{"apiVersion": "v1","spec":{"imagePullSecrets": [{"name": "orclcred"}]}}' \ helper -n oigns \ -- sleep infinityコンテナ・レジストリを使用せずに、各ワーカー・ノードにイメージをロードしている場合は、次のコマンドを実行します:
例:kubectl run helper --image <image>:<tag> -n oigns -- sleep infinity
出力は次のようになります:kubectl run helper --image oracle/oig_cpu:14.1.2.1.0-jdk17-ol8-<YYMMDD> -n oigns --sleep infinitypod/helper created - 次のコマンドを実行して、ヘルパー・ポッド内でBashシェルを起動します:
例:kubectl exec -it helper -n <domain_namespace> -- /bin/bash
これにより、実行中のヘルパー・ポッド内のBashシェルに移動します:kubectl exec -it helper -n oigns -- /bin/bash[oracle@helper ~]$ - ヘルパーBashシェルで、次のコマンドを実行して、環境を設定します:
export DB_HOST=<db_host.domain>export DB_PORT=<db_port>export DB_SERVICE=<service_name>export RCUPREFIX=<rcu_schema_prefix>export RCU_SCHEMA_PWD=<rcu_schema_pwd>echo -e <db_pwd>"\n"<rcu_schema_pwd> > /tmp/pwd.txt
説明:cat /tmp/pwd.txt<db_host.domain>は、データベース・サーバー・ホスト名です。<db_port>は、データベース・リスナー・ポートです。<service_name>は、データベース・サービス名です。<rcu_schema_prefix>は、設定するRCUスキーマ接頭辞です。<rcu_schema_pwd>は、<rcu_schema_prefix>に設定するパスワードです。<db_pwd>は、データベースのSYSパスワードです。
export DB_HOST=mydatabasehost.example.comexport DB_PORT=1521export DB_SERVICE=orcl.example.comexport RCUPREFIX=OIGK8Sexport RCU_SCHEMA_PWD=<password>echo -e <db_pwd>"\n"<rcu_schema_pwd> > /tmp/pwd.txtcat /tmp/pwd.txtcat /tmp/pwd.txtコマンドで正しいパスワードが表示されることを確認します。 - ヘルパーBashシェルで、次のコマンドを実行して、スキーマにパッチを適用します:
出力は次のようになります:/u01/oracle/oracle_common/modules/thirdparty/org.apache.ant/apache-ant/bin/ant \ -f /u01/oracle/idm/server/setup/deploy-files/automation.xml \ run-patched-sql-files \ -logger org.apache.tools.ant.NoBannerLogger \ -logfile /u01/oracle/idm/server/bin/patch_oim_wls.log \ -DoperationsDB.host="$DB_HOST" \ -DoperationsDB.port="$DB_PORT" \ -DoperationsDB.serviceName="$DB_SERVICE" \ -DoperationsDB.user="$RCUPREFIX"_OIM \ -DOIM.DBPassword="$RCU_SCHEMA_PWD" \ -Dojdbc=/u01/oracle/oracle_common/modules/oracle.jdbc/ojdbc11.jarBuildfile: /u01/oracle/idm/server/setup/deploy-files/automation.xml - ヘルパー・ポッドで、
patch_oim_wls.logを表示して、データベースにパッチが正常に適用されたことを確認します:
出力は次のようになります:cat /u01/oracle/idm/server/bin/patch_oim_wls.log... run-patched-sql-files: [sql] Executing resource: /u01/oracle/idm/server/db/oim/oracle/StoredProcedures/Recon/OIM_SP_ReconBlkAccountChglog.sql [sql] Executing resource: /u01/oracle/idm/server/db/oim/oracle/Upgrade/oim14cBP/list/oim14c_dml_pty_insert_self_assignment_allowed.sql [sql] Executing resource: /u01/oracle/idm/server/db/oim/oracle/StoredProcedures/API/oim_role_mgmt_pkg_body.sql [sql] Executing resource: /u01/oracle/idm/server/db/oim/oracle/StoredProcedures/API/oim_usr_mgmt_pkg_body.sql [sql] Executing resource: /u01/oracle/idm/server/db/oim/oracle/StoredProcedures/DBDiagnostics/oim_db_diagnostics_pkg_body.sql [sql] 5 of 5 SQL statements executed successfully BUILD SUCCESSFUL Total time: 1 second
コンテナ・イメージへのパッチ適用
ドメインを更新するには:
- 次のコマンドを実行して、
imageパラメータを新しいイメージの場所に設定します:
例:kubectl patch domain <domainUID> -n <domain_namespace> --type merge -p '{"spec":{"image":"<repository>:<new_tag>"}}'- OIGコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
kubectl patch domain governancedomain -n oigns --type merge -p '{"spec":{"image":"container-registry.oracle.com/middleware/oig_cpu:<new_tag>"}}' - コンテナ・レジストリを使用せずに、各ワーカー・ノードにイメージをロードしている場合:
出力は次のようになります:kubectl patch domain governancedomain -n oigns --type merge -p '{"spec":{"image":"oracle/oig:<new_tag>"}}'domain.weblogic.oracle/governancedomain patched
- OIGコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
OIGドメインの起動
OIGドメインを起動するには、「ドメインの停止および起動」を参照してください。
OIGデプロイメントが新しいイメージを使用していることの確認
アップグレードに成功したら、次のコマンドを実行して、ポッドで使用されているイメージを表示できます:
kubectl describe pod <pod> -n <domain_namespace> 例:kubectl describe pod governancedomain-oim-server1 -n oigns新しいイメージは次のセクションに表示されます:...
Containers:
weblogic-server:
Container ID: cri-o://220fa83d079e079ac183c00f884b10ea30a794527dbb65e6964a035d450384f8
Image: container-registry.oracle.com/middleware/oig_cpu:<new>
Image ID: container-registry.oracle.com/middleware/oig_cpu@sha256:cdf51b6aa47cd05573bc53244681b193fb4e2f6db56e50d2251b9416bc68ebc0
Port: 14100/TCP
Host Port: 0/TCP
Command:
...