10.3.7. シングルノード OpenShift クラスター上の TALM を使用したユーザー指定のイメージの事前キャッシュ


アプリケーションをアップグレードする前に、アプリケーション固有のワークロードイメージをシングルノード OpenShift クラスターに事前キャッシュできます。

次のカスタムリソース (CR) を使用して、事前キャッシュジョブの設定オプションを指定できます。

  • PreCachingConfig CR
  • ClusterGroupUpgrade CR
注記

PreCachingConfig CR のフィールドはすべてオプションです。

PreCachingConfig CR の例

apiVersion: ran.openshift.io/v1alpha1
kind: PreCachingConfig
metadata:
  name: exampleconfig
  namespace: exampleconfig-ns
spec:
  overrides: 
1

    platformImage: quay.io/openshift-release-dev/ocp-release@sha256:3d5800990dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47e2e1ef
    operatorsIndexes:
      - registry.example.com:5000/custom-redhat-operators:1.0.0
    operatorsPackagesAndChannels:
      - local-storage-operator: stable
      - ptp-operator: stable
      - sriov-network-operator: stable
  spaceRequired: 30 Gi 
2

  excludePrecachePatterns: 
3

    - aws
    - vsphere
  additionalImages: 
4

    - quay.io/exampleconfig/application1@sha256:3d5800990dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47e2e1ef
    - quay.io/exampleconfig/application2@sha256:3d5800123dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47adfaef
    - quay.io/exampleconfig/applicationN@sha256:4fe1334adfafadsf987123adfffdaf1243340adfafdedga0991234afdadfsa09

1
デフォルトでは、TALM は、マネージドクラスターのポリシーから platformImageoperatorsIndexes、および operatorsPackagesAndChannels フィールドに自動的に値を設定します。これらのフィールドのデフォルトの TALM 派生値をオーバーライドする値を指定できます。
2
クラスター上で最低限必要なディスク容量を指定します。指定しない場合、TALM は OpenShift Container Platform イメージのデフォルト値を定義します。ディスク容量フィールドには、整数値とストレージユニットを含める必要があります。たとえば、40 GiB200 MB1 TiB です。
3
イメージ名の一致に基づいて事前キャッシュから除外するイメージを指定します。
4
事前キャッシュする追加イメージのリストを指定します。

PreCachingConfig CR 参照を使用した ClusterGroupUpgrade CR の例

apiVersion: ran.openshift.io/v1alpha1
kind: ClusterGroupUpgrade
metadata:
  name: cgu
spec:
  preCaching: true 
1

  preCachingConfigRef:
    name: exampleconfig 
2

    namespace: exampleconfig-ns 
3

1
preCaching フィールドを true に設定すると、事前キャッシュジョブが有効になります。
2
preCachingConfigRef.name フィールドは、使用する PreCachingConfig CR を指定します。
3
preCachingConfigRef.namespace は、使用する PreCachingConfig CR の namespace を指定します。

10.3.7.1. 事前キャッシュ用のカスタムリソースの作成

PreCachingConfig CR は、ClusterGroupUpgrade CR の前または同時に作成する必要があります。

  1. 事前キャッシュする追加イメージのリストを使用して PreCachingConfig CR を作成します。

    apiVersion: ran.openshift.io/v1alpha1
    kind: PreCachingConfig
    metadata:
      name: exampleconfig
      namespace: default 
    1
    
    spec:
    [...]
      spaceRequired: 30Gi 
    2
    
      additionalImages:
        - quay.io/exampleconfig/application1@sha256:3d5800990dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47e2e1ef
        - quay.io/exampleconfig/application2@sha256:3d5800123dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47adfaef
        - quay.io/exampleconfig/applicationN@sha256:4fe1334adfafadsf987123adfffdaf1243340adfafdedga0991234afdadfsa09
    1
    namespace は、ハブクラスターにアクセスできる必要があります。
    2
    事前にキャッシュされたイメージ用に十分なストレージ領域を確保するために、必要な最小ディスク領域フィールドを設定することを推奨します。
  2. preCaching フィールドを true に設定して ClusterGroupUpgrade CR を作成し、前の手順で作成した PreCachingConfig CR を指定します。

    apiVersion: ran.openshift.io/v1alpha1
    kind: ClusterGroupUpgrade
    metadata:
      name: cgu
      namespace: default
    spec:
      clusters:
      - sno1
      - sno2
      preCaching: true
      preCachingConfigRef:
      - name: exampleconfig
        namespace: default
      managedPolicies:
        - du-upgrade-platform-upgrade
        - du-upgrade-operator-catsrc-policy
        - common-subscriptions-policy
      remediationStrategy:
        timeout: 240
    警告

    クラスターにイメージをインストールすると、それらを変更したり削除したりすることはできません。

  3. イメージを事前キャッシュを開始する場合は、次のコマンドを実行して ClusterGroupUpgrade CR を適用します。

    $ oc apply -f cgu.yaml

TALM は ClusterGroupUpgrade CR を検証します。

この時点から、TALM 事前キャッシュワークフローを続行できます。

注記

すべてのサイトが同時に事前キャッシュされます。

検証

  1. 次のコマンドを実行して、ClusterUpgradeGroup CR が適用されているハブクラスターの事前キャッシュステータスを確認します。

    $ oc get cgu <cgu_name> -n <cgu_namespace> -oyaml

    出力例

      precaching:
        spec:
          platformImage: quay.io/openshift-release-dev/ocp-release@sha256:3d5800990dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47e2e1ef
          operatorsIndexes:
            - registry.example.com:5000/custom-redhat-operators:1.0.0
          operatorsPackagesAndChannels:
            - local-storage-operator: stable
            - ptp-operator: stable
            - sriov-network-operator: stable
          excludePrecachePatterns:
            - aws
            - vsphere
          additionalImages:
            - quay.io/exampleconfig/application1@sha256:3d5800990dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47e2e1ef
            - quay.io/exampleconfig/application2@sha256:3d5800123dee7cd4727d3fe238a97e2d2976d3808fc925ada29c559a47adfaef
            - quay.io/exampleconfig/applicationN@sha256:4fe1334adfafadsf987123adfffdaf1243340adfafdedga0991234afdadfsa09
          spaceRequired: "30"
        status:
          sno1: Starting
          sno2: Starting

    事前キャッシュ設定は、管理ポリシーが存在するかどうかをチェックすることによって検証されます。ClusterGroupUpgrade および PreCachingConfig CR の設定が有効であると、次のステータスになります。

    有効な CR の出力例

    - lastTransitionTime: "2023-01-01T00:00:01Z"
      message: All selected clusters are valid
      reason: ClusterSelectionCompleted
      status: "True"
      type: ClusterSelected
    - lastTransitionTime: "2023-01-01T00:00:02Z"
      message: Completed validation
      reason: ValidationCompleted
      status: "True"
      type: Validated
    - lastTransitionTime: "2023-01-01T00:00:03Z"
      message: Precaching spec is valid and consistent
      reason: PrecacheSpecIsWellFormed
      status: "True"
      type: PrecacheSpecValid
    - lastTransitionTime: "2023-01-01T00:00:04Z"
      message: Precaching in progress for 1 clusters
      reason: InProgress
      status: "False"
      type: PrecachingSucceeded

    無効な PreCachingConfig CR の例

    Type:    "PrecacheSpecValid"
    Status:  False,
    Reason:  "PrecacheSpecIncomplete"
    Message: "Precaching spec is incomplete: failed to get PreCachingConfig resource due to PreCachingConfig.ran.openshift.io "<pre-caching_cr_name>" not found"

  2. マネージドクラスターで次のコマンドを実行すると、事前キャッシュジョブを見つけることができます。

    $ oc get jobs -n openshift-talo-pre-cache

    進行中の事前キャッシュジョブの例

    NAME        COMPLETIONS       DURATION      AGE
    pre-cache   0/1               1s            1s

  3. 次のコマンドを実行して、事前キャッシュジョブ用に作成された Pod のステータスを確認できます。

    $ oc describe pod pre-cache -n openshift-talo-pre-cache

    進行中の事前キャッシュジョブの例

    Type        Reason              Age    From              Message
    Normal      SuccesfulCreate     19s    job-controller    Created pod: pre-cache-abcd1

  4. 次のコマンドを実行すると、ジョブのステータスに関するライブ更新を取得できます。

    $ oc logs -f pre-cache-abcd1 -n openshift-talo-pre-cache
  5. 事前キャッシュジョブが正常に完了したことを確認するには、次のコマンドを実行します。

    $ oc describe pod pre-cache -n openshift-talo-pre-cache

    完了した事前キャッシュジョブの例

    Type        Reason              Age    From              Message
    Normal      SuccesfulCreate     5m19s  job-controller    Created pod: pre-cache-abcd1
    Normal      Completed           19s    job-controller    Job completed

  6. イメージがシングルノード OpenShift で正常に事前キャッシュされていることを確認するには、次の手順を実行します。

    1. デバッグモードでノードに入ります。

      $ oc debug node/cnfdf00.example.lab
    2. root を host に変更します。

      $ chroot /host/
    3. 目的のイメージを検索します。

      $ sudo podman images | grep <operator_name>
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る