17.2.12 アップグレード失敗後のリストア
アップグレードがどの時点で失敗しても、次のステップを使用してOracle Access Management (OAM) 12cデプロイメントにリストアできます:
- 次のコマンドを使用して、OAM 14cデプロイメントを停止します:
例:kubectl patch domain <domain> -n <domain_namespace> --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"Never\"}}"
出力は次のようになります:kubectl patch domain accessdomain -n oamns --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"Never\"}}"domain.weblogic.oracle/accessdomain patched - 次のkubectlコマンドを実行して、ポッドを表示します:
例:kubectl get pods -n <domain_namespace>
出力は次のようになります:kubectl get pods -n oamnsNAME READY STATUS RESTARTS AGE accessdomain-adminserver 1/1 Running 0 3h52m accessdomain-oam-policy-mgr1 1/1 Running 0 3h44m accessdomain-oam-server1 1/1 Terminating 0 3h44m管理サーバー・ポッドおよび管理対象サーバー・ポッドは、
TerminatingのSTATUSに移行します。数分後、コマンドを再度実行し、ポッドが消失していることを確認してから続行します。
- アップグレード前に取得したバックアップから永続ボリュームをリストアします:
sudo cp -rp <persistent_volume>/accessdomainpv <persistent_volume>/accessdomain_bkp14csudo rm -rf <persistent_volume>/accessdomainpv
例:sudo cp -rp <persistent_volume>/accessdomainpv_bkp12c <persistent_volume>/accessdomainsudo cp -rp /nfs_volumes/oam/accessdomainpv /nfs_volumes/oam/accessdomain_bkp14csudo rm -rf /nfs_volumes/oam/accessdomainpvsudo cp -rp /nfs_volumes/oam/accessdomainpv_bkp12c /nfs_volumes/oam/accessdomain - アップグレード前に取得したバックアップからOracle Databaseをリストアします。
- 次のコマンドを実行して、前に使用したOAM 12cコンテナ・イメージでデプロイメントを更新します:
例:kubectl patch domain %DOMAIN_UID% -n %NAMESPACE% --type merge -p '{"spec":{"image":"%WEBLOGIC_IMAGE%"}}'- OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
kubectl patch domain accessdomain -n oamns \ --type merge -p '{"spec":{"image":"container-registry.oracle.com/middleware/oam_cpu:12.2.1.4-jdk8-ol8-<YYMMDD>"}}' - コンテナ・レジストリを使用せずに、各ワーカー・ノードにイメージをロードしている場合:
出力は次のようになります:kubectl patch domain accessdomain -n oamns \ --type merge -p '{"spec":{"image":"oracle/oam:12.2.1.4.0"}}'domain.weblogic.oracle/accessdomain patched
- OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
- WebLogic Kubernetes OperatorをOAM 12cでサポートされているバージョンにダウングレードします。「WebLogic Kubernetes Operatorの更新」の手順に従いますが、OAM 12cでサポートされているオペレータを使用します。
- 次のコマンドを実行して、OAMドメインを起動します:
例:kubectl patch domain.v9.weblogic.oracle "%DOMAIN_UID%" -n "%NAMESPACE%" \ --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"IfNeeded\"}}"
出力は次のようになります:kubectl patch domain.v9.weblogic.oracle "accessdomain" -n "oamns" \ --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"IfNeeded\"}}"domain.weblogic.oracle/accessdomain patched - 次のコマンドを実行して、ポッドを表示します:
例:kubectl get pods -n %NAMESPACE%
出力は次のようになります:kubectl get pods -n oamns
イントロスペクト・ジョブが開始され、その後に管理サーバー・ポッド、OAMサーバー・ポッドの順に起動します。このプロセスには数分かかるため、すべてのポッドがNAME READY STATUS RESTARTS AGE accessdomain-introspector-jwqxw 1/1 Running 0 10sREADYステータス1/1で実行されるまで、コマンドの実行を続けます:ノート:
別の方法として、監視フラグ-wを追加すると、変更時にポッドのステータスを監視できます。NAME READY STATUS RESTARTS AGE accessdomain-adminserver 1/1 Running 0 10m accessdomain-oam-policy-mgr1 1/1 Running 0 7m35s accessdomain-oam-server1 1/1 Running 0 7m35s - すべてが実行されたら、「ドメインURLの検証」に従ってコンソールにアクセスできることを確認します。