Oracle Cloud Infrastructureイメージのアップグレード

Oracle Private Cloud Applianceで新しいOracle Cloud Infrastructureイメージが使用可能になり、サポートされている場合は、単一のアップグレード・コマンドを使用して、既存のすべてのテナンシで使用できるようにすることができます。 イメージは、ZFS Storage Appliance/nfs/shared_storage/oci_compute_imagesディレクトリに格納されます。

フル・ラックまたは管理クラスタのアップグレードを実行すると、新しいイメージが環境に自動的に追加され、その場合はこの手順をスキップできます。 イメージのバージョンは、アップグレード計画を通じて追跡されます。 アップグレード計画をレビューして、イメージをアップグレードする必要があるかどうかを確認します。

アップグレードにより、新しいOracle Cloud Infrastructureイメージが環境に追加されます。ただし、既存のイメージは削除されません。 イメージが不要になった場合は、deletePlatformImageコマンドを使用してイメージを削除することもできます。

新規イメージの追加

「サービスWeb UI」の使用
  1. ナビゲーション・メニューで、「メンテナンス」セクションに移動し、「アップグレード計画」をクリックします。 ここでは、現行およびターゲット・コンポーネントのバージョンの概要を示します。

  2. 「アップグレード&パッチ適用」をクリックして、「アップグレード・ジョブ」ページを表示します。

  3. 「アップグレード・ジョブ」ページの右上隅にある「アップグレードまたはパッチの作成」をクリックします。

    「要求の作成」ウィンドウが表示されます。 リクエスト・タイプとして「アップグレード」を選択します。

  4. 適切なパッチ・リクエスト・タイプの選択: ラックのアップグレード。

  5. アップグレード・リクエスト・パラメータを入力します:

    • アクション: アップグレードまたはパッチ操作を実行するには、「適用」を選択します。

    • タイプ: アップグレードの場合は、「ISO」を選択します。 「The ULN」オプションは、パッチ適用に適用されます。

    • コンポーネント: Oracle Cloud Infrastructureイメージの場合は、「OCIイメージ」を選択します。

    • クオリファイア: Oracle Cloud Infrastructureイメージを追加する場合、このパラメータは必要ありません。

    • 検証のみ: 検証専用モードで操作を実行するには、このオプションを有効にします。

    • 強制: 操作を強制するには、このオプションを有効にします。 Oracleによって指示された場合のみ使用します。

  6. 「要求の作成」をクリックします。

    新しいアップグレード・リクエストが「アップグレード・ジョブ」表に表示されます。

  7. アップグレード・プロセスがエラーなしで完了したことを確認します。

    詳細は、「ジョブ・フレームワークの参照」を参照してください。

「サービスCLI」の使用
  1. アップグレード・コマンドを入力します。

    PCA-ADMIN> upgradeRack type=ISO action=APPLY component=OCIIMAGES
    JobId: c21f2253-8ab9-4491-ab01-5d9702f96bc5
    Data: Service request has been submitted. Upgrade Job Id = 1737620389632-oci-668679 Upgrade Request Id = UWS-a2e17445-eb02-466f-9d16-6b644b89866e
  2. ジョブIDを使用して、アップグレード・プロセスのステータスを確認します。

    PCA-ADMIN> getUpgradeJob upgradeJobId=1737620389632-oci-668679
    Data:
      Upgrade Request Id = UWS-a2e17445-eb02-466f-9d16-6b644b89866e
      Name = oci
      Pid = 668679
      Host = pcamn01
      Log File = /nfs/shared_storage/pca_upgrader/log/pca-upgrader_oci_instance_images_2025_01_23-08.19.49.log
      Arguments = {"component_names":null,"diagnostics":false,"display_task_plan":false,"dry_run_tasks":false,"expected_iso_checksum":null,"fail_halt":false,"fail_upgrade":null,"image_location":null,"online_upgrade":null,"precheck_status":false,"repo_config_override":null,"result_override":null,"task_time":0,"test_run":false,"upgrade":false,"upgrade_to":null,"user_uln_base_url":null,"verify_only":false,"host_ip":null,"log_level":null,"switch_type":null,"epld_image_location":null,"checksum":null,"composition_id":null,"request_id":"UWS-a2e17445-eb02-466f-9d16-6b644b89866e","uln":null,"patch":"false"}
      Status = Passed
      Execution Time(sec) = 1083
    [...]
  3. アップグレード・プロセスがエラーなしで完了したことを確認します。

    詳細は、「ジョブ・フレームワークの参照」を参照してください。

OKEクラスタのセキュリティ脆弱性の解決

Oracle Cloud Infrastructureイメージのアップグレードまたはパッチ・プロセスの最後に、Upgraderはバックグラウンド・ジョブを起動して、「Oracle Private Cloud Appliance Kubernetesエンジン(OKE)」を介してデプロイされた既存のクラスタに影響を与える可能性のある既知のCVEを解決します。 新しいイメージがインポートされると、OKEサービス・ツールによって、実行中のコントロール・プレーン・ノードが、新しいイメージとともに提供される最新のCVE修正を受信することが保証されます。

CVEの修正は完全に自動化された方法で適用されますが、アプライアンスのアップグレードまたはパッチ適用ワークフローのタイミングの問題によって、プロセスが脱線する可能性があります。 したがって、アプライアンス管理者は、OKEバックグラウンド・ジョブを監視し、CVE修正が既存のすべてのOKEクラスタに正常に適用されたことを確認することが重要です。 OKEクラスタ・パッチ適用でエラーが発生しても、アプライアンスのアップグレードまたはパッチ適用プロセスが失敗することはありません。

Oracle Cloud Infrastructureイメージのアップグレードまたはパッチ・プロセスのステータスは、OKEサービス・ツールが実行されたことを示します。 また、検出されたOKEクラスタのOCIDs、および追跡する必要があるクラスタ・パッチ適用操作の作業リクエストも提供します。

getUpgradeJob upgradeJobId=1724442488245-oci-35655
Data:
  Log File = /nfs/shared_storage/pca_upgrader/log/pca-upgrader_oci_instance_images_<date>-<time>.log
[...]
  Tasks 12 - Message = OKE Clusters CVE Patching initiated:
  {"ocid1.cluster.<AK01234567>.<mypca>.63f7764a345d4d74a9abd5267ad55a28p6ixuw4ejzr73yugynu4lrwbcaao": "No operations performed", 
  "ocid1.cluster.<AK01234567>.<mypca>.ac198ab8583848e8947501f7061bde16mx17lm2u2rugld6u3ujxthgnygsj": "ocid1.workrequest.<AK01234567>.<mypca>.oke-g8l7kh306zlt59zb9vc4yvo532b1j4jwtffnmel83v1qif0q93lum7er"}

この例では、2つのアクティブなOKEクラスタが見つかりました。 最初のクラスタは最新のイメージを使用しているため、パッチを適用する必要はありません。 2番目のクラスタは古いため、使用可能な最新のイメージで更新する必要があります。 次のコマンドを使用して、作業リクエストを使用してOCI CLIからクラスタ更新ステータスを追跡: oci ce work-request get --work-request-id <workrequest_OCID>

# oci ce work-request get --work-request-id ocid1.workrequest.<AK01234567>.<mypca>.oke-g8l7kh306zlt59zb9vc4yvo532b1j4jwtffnmel83v1qif0q93lum7er
{
  "data": {
    "compartment-id": "ocid1.compartment.<AK01234567>.<mypca>.ezbf00rrfc0qnoi8rofk3yzcbq0yeg9ly0gzf6caebv3ugogzm1v3qww5q9f",
    "id": "ocid1.workrequest.<AK01234567>.<mypca>.oke-g8l7kh306zlt59zb9vc4yvo532b1j4jwtffnmel83v1qif0q93lum7er",
    "operation-type": "UNKNOWN_ENUM_VALUE",
    "resources": [
      {
        "action-type": "UPDATED",
        "entity-type": "CLUSTER",
        "entity-uri": null,
        "identifier": "ocid1.cluster.<AK01234567>.<mypca>.ac198ab8583848e8947501f7061bde16mx17lm2u2rugld6u3ujxthgnygsj"
      }
    ],
    "status": "SUCCEEDED",
    "time-accepted": "2024-09-03T11:18:29.750438+00:00",
    "time-finished": "2024-09-03T11:36:19.313926+00:00",
    "time-started": "2024-09-03T11:18:36.451513+00:00"
  },
  "etag": "00fa0a51-a9dd-5455-f390-429a20817d6d"
}

エラーが発生し、使用可能な最新のイメージに基づいて特定のクラスタが更新されなかった場合は、まずクラスタが正常な動作状態であることを確認してから、いずれかの管理ノードから次のコマンドを実行します:

# kubectl exec -it -n oke <oke_pod_name> -c oke -- pca-oke-cluster-tool --action patch-cluster-cve