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シークレットからの資格証明を含むデータベース・プロパティをイントロスペクトします。
  • ヘルパー・ポッドからデータベース・スキーマの変更を実行します。serverStartPolicyIfNeededに、イメージを新しいイメージ・タグに設定して、管理サーバー、SOA管理対象サーバーおよびOIG管理対象サーバーを起動します。
  • すべてのサーバーの準備が整うまで待機します(デフォルトのタイムアウトは2000秒です)。

前提条件

開始する前に、次のステップを実行します:
  • クラスタ内に実行中のOIGデプロイメントがあることを確認します。
  • データベースが起動して稼働していることを確認します。
  • 最新のコード・リポジトリをダウンロードしていることを確認します。「OIGのコード・リポジトリの設定」を参照し、$WORKDIRを正しく設定します。

パッチ・ドメイン・スクリプトの実行

  1. $WORKDIRに移動します:
    cd $WORKDIR/kubernetes/domain-lifecycle
  2. 次のようにパッチ・ドメイン・スクリプトを実行します。スクリプトに必要な入力を指定します:

    ノート:

    入力を理解するのにヘルプが必要な場合は、-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:
...