第8章 動的プラグインキャッシュの使用
Red Hat Developer Hub (RHDH) の動的プラグインキャッシュは、以前にインストールされたプラグインを保存することでインストールプロセスを強化し、プラットフォームの起動時間を短縮します。設定が変更されていない場合、この機能により、次回の起動時にプラグインを再度ダウンロードする必要がなくなります。
動的プラグインキャッシュを有効化する場合:
-
システムは、各プラグインの YAML 設定 (
pluginConfigを除く) のチェックサムを計算します。 -
チェックサムは、プラグインのディレクトリー内の
dynamic-plugin-config.hashという名前のファイルに保存されます。 - 起動中に、プラグインのパッケージ参照が以前のインストールと一致し、チェックサムが変更されていない場合、ダウンロードはスキップされます。
- 前回の起動以降に無効になっているプラグインは自動的に削除されます。
8.1. 動的プラグインキャッシュの有効化 リンクのコピーリンクがクリップボードにコピーされました!
RHDH で動的プラグインキャッシュを有効にするには、プラグインディレクトリー dynamic-plugins-root が永続ボリュームである必要があります。
8.1.1. Operator を使用した動的プラグインキャッシュ用の PVC の作成 リンクのコピーリンクがクリップボードにコピーされました!
Operator ベースのインストール環境では、デフォルトの dynamic-plugins-root ボリュームを dynamic-plugins-root という名前の PVC に置き換えて、永続ボリューム要求 (PVC) を手動で作成する必要があります。
手順
永続ボリュームの定義を作成し、
pvc.yamlなどのファイルに保存します。以下に例を示します。kind: PersistentVolumeClaim apiVersion: v1 metadata: name: dynamic-plugins-root spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi注記この例では、アクセスモードとして
ReadWriteOnceを使用し、異なるノード間で複数のレプリカが PVC を共有するのを防ぎます。複数の異なるノードで複数のレプリカを実行するには、ストレージドライバーに応じて、
ReadWriteManyなどのアクセスモードを使用する必要があります。この PVC をクラスターに適用するために、次のコマンドを実行します。
oc apply -f pvc.yamlデフォルトの
dynamic-plugins-rootボリュームをdynamic-plugins-rootという名前の PVC に置き換えます。以下に例を示します。apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: volumes: - $patch: replace name: dynamic-plugins-root persistentVolumeClaim: claimName: dynamic-plugins-root注記新しいボリュームの追加を回避するために、
$patch: replaceディレクティブを使用する必要があります。
8.1.2. Helm チャートを使用した動的プラグインキャッシュ用の PVC の作成 リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートによるインストール環境では、Pod の再起動後も動的プラグインキャッシュを保持する必要がある場合、永続ボリューム要求 (PVC) を作成し、それを使用するように Helm チャートを設定する必要があります。
手順
永続ボリューム定義を作成します。以下に例を示します。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: dynamic-plugins-root spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi注記この例では、アクセスモードとして
ReadWriteOnceを使用し、異なるノード間で複数のレプリカが PVC を共有するのを防ぎます。複数の異なるノードで複数のレプリカを実行するには、ストレージドライバーに応じて、
ReadWriteManyなどのアクセスモードを使用する必要があります。この PVC をクラスターに適用するために、次のコマンドを実行します。
oc apply -f pvc.yamlPVC を使用するように Helm チャートを設定します。以下に例を示します。
upstream: backstage: extraVolumes: - name: dynamic-plugins-root persistentVolumeClaim: claimName: dynamic-plugins-root - name: dynamic-plugins configMap: defaultMode: 420 name: '{{ printf "%s-dynamic-plugins" .Release.Name }}' optional: true - name: dynamic-plugins-npmrc secret: defaultMode: 420 optional: true secretName: '{{ printf "%s-dynamic-plugins-npmrc" .Release.Name }}' - name: dynamic-plugins-registry-auth secret: defaultMode: 416 optional: true secretName: '{{ printf "%s-dynamic-plugins-registry-auth" .Release.Name }}' - name: npmcacache emptyDir: {} - name: temp emptyDir: {}注記PVC を使用するように Helm チャートを設定する場合は、デフォルトの Helm チャートで定義されている
extraVolumesも含める必要があります。