13.7. コンテナーイメージ事前キャッシュ機能の使用
シングルノード OpenShift クラスターでは、コンテナーイメージレジストリーにアクセスするための帯域幅が制限されている可能性があり、更新が完了する前に、タイムアウトが発生する可能性があります。
更新の時間は TALM によって設定されていません。手動アプリケーションまたは外部自動化により、更新の開始時に ClusterGroupUpgrade CR を適用できます。
コンテナーイメージの事前キャッシュは、ClusterGroupUpgrade CR で preCaching フィールドが true に設定されている場合に起動します。
TALM は PrecacheSpecValid 条件を使用して、次のようにステータス情報を報告します。
true事前キャッシュの仕様は有効で一貫性があります。
false事前キャッシュの仕様は不完全です。
TALM は PrecachingSucceeded 条件を使用して、次のようにステータス情報を報告します。
trueTALM は事前キャッシュプロセスを完了しました。いずれかのクラスターで事前キャッシュが失敗した場合、そのクラスターの更新は失敗しますが、他のすべてのクラスターの更新は続行されます。クラスターの事前キャッシュが失敗した場合は、メッセージで通知されます。
false1 つ以上のクラスターで事前キャッシュがまだ進行中か、すべてのクラスターで失敗しました。
事前キャッシュプロセスに成功すると、ポリシーの修復を開始できます。修復アクションは、enable フィールドが true に設定されている場合に開始されます。クラスターで事前キャッシュエラーが発生した場合、そのクラスターのアップグレードは失敗します。アップグレードプロセスは、事前キャッシュが成功した他のすべてのクラスターに対して続行されます。
事前キャッシュプロセスは、以下のステータスにあります。
NotStartedこれは、すべてのクラスターが
ClusterGroupUpgradeCR の最初の調整パスで自動的に割り当てられる初期状態です。この状態では、TALM は、以前の不完全な更新から残ったスポーククラスターの事前キャッシュの namespace およびハブビューリソースを削除します。次に TALM は、スポーク前の namespace の新規のManagedClusterViewリソースを作成し、PrecachePreparing状態の削除を確認します。PreparingToStart以前の不完全な更新からの残りのリソースを消去すると進行中です。
Startingキャッシュ前のジョブの前提条件およびジョブが作成されます。
Activeジョブは "Active" の状態です。
Succeeded事前キャッシュジョブが成功しました。
PrecacheTimeoutアーティファクトの事前キャッシュは部分的に行われます。
UnrecoverableErrorジョブはゼロ以外の終了コードで終了します。
13.7.1. コンテナーイメージの事前キャッシュフィルターの使用 リンクのコピーリンクがクリップボードにコピーされました!
通常、事前キャッシュ機能は、クラスターが更新に必要とするよりも多くのイメージをダウンロードします。どの事前キャッシュイメージをクラスターにダウンロードするかを制御できます。これにより、ダウンロード時間が短縮され、帯域幅とストレージが節約されます。
次のコマンドを使用して、ダウンロードするすべてのイメージのリストを表示できます。
$ oc adm release info <ocp-version>
次の ConfigMap の例は、excludePrecachePatterns フィールドを使用してイメージを除外する方法を示しています。
apiVersion: v1
kind: ConfigMap
metadata:
name: cluster-group-upgrade-overrides
data:
excludePrecachePatterns: |
azure
aws
vsphere
alibaba
TALM は、ここにリストされているパターンのいずれかを含む名前を持つすべてのイメージを除外します。