16.1.1 コンテナ・イメージへのパッチ適用
この項の手順では、新しいOIGコンテナ・イメージを使用した既存の14.1.2.1.0 Oracle Identity Governance (OIG)デプロイメントへのパッチ適用またはアップグレードについて説明します。
ノート:
管理者は、次のことに注意する必要があります:- Oracle Container Registryまたは独自のコンテナ・レジストリを使用していない場合は、まずKubernetesクラスタ内のすべてのノードに新しいコンテナ・イメージをロードする必要があります。
- Kubernetes Horizontal Pod Autoscaler (HPA)が有効になっている場合は、次のステップを実行する前にHPAを無効にする必要があります。「HPAの削除」を参照してください。
OIGドメインのパッチ適用スクリプトは、新しいOIGコンテナ・イメージで、OIG Kubernetesクラスタを自動的に更新します。
このスクリプトは次のステップを順番に実行します:
- 指定されたネームスペースにヘルパー・ポッドが存在するかどうかを確認します。存在する場合は、ヘルパー・ポッドが削除されます。
- 新しいイメージを使用して新しいヘルパー・ポッドを起動します。
- ドメイン定義のyamlで
Never
に設定されたserverStartPolicy
を使用して、管理サーバー、SOA管理対象サーバーおよびOIG管理対象サーバーを停止します。 - すべてのサーバーが停止されるまで待機します(デフォルトのタイムアウトは2000秒です)。ジョブConfigMapまたはRCUシークレットからの資格証明を含むデータベース・プロパティをイントロスペクトします。
- ヘルパー・ポッドからデータベース・スキーマの変更を実行します。
serverStartPolicy
をIfNeeded
に、イメージを新しいイメージ・タグに設定して、管理サーバー、SOA管理対象サーバーおよびOIG管理対象サーバーを起動します。 - すべてのサーバーの準備が整うまで待機します(デフォルトのタイムアウトは2000秒です)。
前提条件
開始する前に、次のステップを実行します:
- クラスタ内に実行中のOIGデプロイメントがあることを確認します。
- データベースが起動して稼働していることを確認します。
- 最新のコード・リポジトリをダウンロードしていることを確認します。「OIGのコード・リポジトリの設定」を参照し、
$WORKDIR
を正しく設定します。
パッチ・ドメイン・スクリプトの実行
$WORKDIR
に移動します:cd $WORKDIR/kubernetes/domain-lifecycle
- 次のようにパッチ・ドメイン・スクリプトを実行します。スクリプトに必要な入力を指定します:
ノート:
入力を理解するのにヘルプが必要な場合は、-h
を使用してコマンド・ヘルプを実行します。
例:./patch_oig_domain.sh -i <target_image_tag> -n <domain_namespace>
出力は次のようになります:./patch_oig_domain.sh -i 14.1.2.1.0-jdk17-ol8-<YYMMDD> -n oigns
デフォルトでは、ログは[INFO] Found domain name: governancedomain [INFO] Image Registry: container-registry.oracle.com/middleware/oig_cpu [INFO] Domain governancedomain is currently running with image: container-registry.oracle.com/middleware/oig_cpu:14.1.2.1.0-jdk17-ol8-<old> current no of pods under governancedomain are 3 [INFO] The pod helper already exists in namespace oigns. [INFO] Deleting pod helper pod "helper" deleted [INFO] Fetched Image Pull Secret: orclcred [INFO] Creating new helper pod with image: container-registry.oracle.com/middleware/oig_cpu:14.1.2.1.0-jdk17-ol8-<new> pod/helper created Checking helper Running [INFO] Stopping Admin, SOA and OIM servers in domain governancedomain. This may take some time, monitor log /scratch/OIGK8Slatest/fmw-kubernetes/OracleIdentityGovernance/kubernetes/domain-lifecycle/log/oim_patch_log-<DATE>/stop_servers.log for details [INFO] All servers are now stopped successfully. Proceeding with DB Schema changes [INFO] Patching OIM schemas... [INFO] DB schema update successful. Check log /scratch/OIGK8Slatest/fmw-kubernetes/OracleIdentityGovernance/kubernetes/domain-lifecycle/log/oim_patch_log-<DATE>/patch_oim_wls.log for details [INFO] Starting Admin, SOA and OIM servers with new image container-registry.oracle.com/middleware/oig_cpu:14.1.2.1.0-jdk17-ol8-<new> [INFO] Waiting for 3 weblogic pods to be ready..This may take several minutes, do not close the window. Check log /scratch/OIGK8Slatest/fmw-kubernetes/OracleIdentityGovernance/kubernetes/domain-lifecycle/log/oim_patch_log-<DATE>/monitor_weblogic_pods.log for progress [SUCCESS] All servers under governancedomain are now in ready state with new image: container-registry.oracle.com/middleware/oig_cpu:14.1.2.1.0-jdk17-ol8-<new>
$WORKDIR/kubernetes/domain-lifecycle
にあります。カスタム・ログの場所をスクリプトに提供することもできます。ノート:
パッチ・ドメイン・スクリプトの作成に失敗した場合は、「一般的なトラブルシューティング」を参照してください。
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:
...