5.6.2. 非接続環境からイメージを削除する
oc-mirror プラグイン v2 を使用して非接続環境からイメージを削除するには、次の手順に従います。
前提条件
- マニフェストを参照しなくなったイメージを削除するために、環境でガベージコレクションを有効にした。
手順
delete-image-set-config.yamlファイルを作成し、次の内容を含めます。DeleteImageSetConfigurationファイルapiVersion: mirror.openshift.io/v2alpha1 kind: DeleteImageSetConfiguration delete: platform: channels: - name: <channel_name>1 minVersion: <channel_min_version>2 maxVersion: <channel_max_version>3 operators: - catalog: <operator_catalog_name>4 packages: - name: <operator_name>5 minVersion: <operator_max_version>6 maxVersion: <operator_min_version>7 additionalImages: - name: <additional_images>- 1 1
- 削除する OpenShift Container Platform チャネルの名前を指定します (例:
stable-4.15)。 - 2 3
- チャネル内の削除するイメージのバージョン範囲を指定します。たとえば、最小バージョンとして
4.15.0、最大バージョンとして4.15.1を指定します。1 つのバージョンのイメージのみを削除するには、minVersionフィールドとmaxVersionフィールドの両方にそのバージョン番号を使用します。 - 4
- 削除する Operator を含む Operator カタログイメージを指定します (例:
registry.redhat.io/redhat/redhat-operator-index:v4.14)。Operator カタログイメージは削除されません。クラスターに残っている他の Operator が、レジストリー内に存在するイメージを必要する場合があります。 - 5
- 削除する特定の Operator (例:
aws-load-balancer-operator) を指定します。 - 6 7
- Operator に対して削除するイメージのバージョン範囲を指定します。たとえば、最小バージョンとして
0.0.1、最大バージョンとして0.0.2を指定します。
次のコマンドを実行して、
delete-images.yamlファイルを作成します。$ oc-mirror delete --config delete-image-set-config.yaml --workspace file://<previously_mirrored_work_folder> --v2 --generate docker://<remote_registry>ここでは、以下のようになります。
- <previously_mirrored_work_folder>
- 以前、ミラーリングプロセス中にイメージがミラーリングまたは保存されたディレクトリーを指定します。
- <remote_registry>
イメージの削除元となるリモートコンテナーレジストリーの URL またはアドレスを指定します。
重要イメージを削除するときは、正しいワークスペースディレクトリーを指定してください。新しいクラスターのセットアップなど、ミラーリングを最初から開始する場合にのみ、キャッシュディレクトリーを変更または削除してください。キャッシュディレクトリーに誤った変更を加えると、それ以降のミラーリング操作が中断される可能性があります。
-
作成された
<previously_mirrored_work_folder>/deleteディレクトリーに移動します。 -
delete-images.yamlファイルが生成されたことを確認します。 - ファイルにリストされている各イメージがクラスターで不要になり、レジストリーから安全に削除できることを手動で確認します。
delete-imagesYAML ファイルを生成した後、次のコマンドを実行してリモートレジストリーからイメージを削除します。$ oc-mirror delete --v2 --delete-yaml-file <previously_mirrored_work_folder>/working-dir/delete/delete-images.yaml docker://<remote_registry>ここでは、以下のようになります。
- <previously_mirrored_work_folder>
- 以前、ミラーリングプロセス中にイメージがミラーリングまたは保存されたディレクトリーを指定します。
- <remote_registry>
イメージの削除元となるリモートコンテナーレジストリーの URL またはアドレスを指定します。
重要mirror-to-mirror 方式を使用してイメージをミラーリングする場合、イメージはローカルにキャッシュされないため、ローカルキャッシュからイメージを削除することはできません。