This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.6. ワークスペースの起動を迅速化するイメージのキャッシュ
OpenShift Dev Spaces ワークスペースの起動時間のパフォーマンスを改善するには、Image Puller を使用して OpenShift クラスターのイメージの事前プルに使用できる OpenShift Dev Spaces に依存しないコンポーネントを使用します。
Image Puller は、関連する OpenShift Dev Spaces ワークスペースイメージを各ノードで事前にプルするように設定できる DaemonSet を作成する追加の OpenShift デプロイメントです。これらのイメージは、OpenShift Dev Spaces ワークスペースの起動時にすでに利用可能なため、ワークスペースの開始時間が改善されています。
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.17/html-single/user_guide/index#installing-image-puller-on-kubernetes-by-using-cli
- 「Web コンソールを使用した OpenShift への Image Puller のインストール」
- 「CLI を使用した OpenShift への Image Puller のインストール」
- 「デフォルトの Dev Spaces イメージを事前にプルするように Image Puller の設定」
- 「カスタムイメージを事前にプルするための Image Puller の設定」
- 「追加のイメージを事前にプルするための Image Puller の設定」
3.6.1. CLI を使用した OpenShift への Image Puller のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift oc 管理ツールを使用して、OpenShift に Kubernetes Image Puller をインストールできます。
前提条件
-
OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。OpenShift CLI のスタートガイド を参照してください。
手順
リンクに移動して、プルする関連コンテナーイメージのリストを収集します。
-
https://<openshift_dev_spaces_fqdn>/plugin-registry/v3/external_images.txt -
https://<openshift_dev_spaces_fqdn>/devfile-registry/devfiles/external_images.txt
-
メモリー要求および制限パラメーターを定義して、コンテナーをプルし、プラットフォームに実行するのに十分なメモリーがあることを確認します。
CACHING_MEMORY_REQUESTまたはCACHING_MEMORY_LIMITの最小値を定義する場合は、プルする各コンテナーイメージの実行に必要なメモリー容量を考慮してください。CACHING_MEMORY_REQUESTまたはCACHING_MEMORY_LIMITの最大値を定義する場合は、クラスターの DaemonSet Pod に割り当てられるメモリーの合計を考慮します。(memory limit) * (number of images) * (number of nodes in the cluster)
(memory limit) * (number of images) * (number of nodes in the cluster)Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーのメモリー制限が
20Miの 20 ノードで 5 つのイメージをプルする場合、2000Miのメモリーが必要です。Image Puller リポジトリーのクローンを作成し、OpenShift テンプレートが含まれるディレクトリーを取得します。
git clone https://github.com/che-incubator/kubernetes-image-puller cd kubernetes-image-puller/deploy/openshift
$ git clone https://github.com/che-incubator/kubernetes-image-puller $ cd kubernetes-image-puller/deploy/openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のパラメーターを使用して、
app.yaml、configmap.yamlおよびserviceaccount.yamlOpenShift テンプレートを設定します。Expand 表3.37 app.yaml の Image Puller OpenShift テンプレートパラメーター 値 使用方法 デフォルト DEPLOYMENT_NAMEConfigMap の
DEPLOYMENT_NAMEの値kubernetes-image-pullerIMAGEkubernetes-image-pullerデプロイメントに使用されるイメージregistry.redhat.io/devspaces/imagepuller-rhel8IMAGE_TAGプルするイメージタグ
latestSERVICEACCOUNT_NAMEデプロイメントで作成され、使用される ServiceAccount の名前
kubernetes-image-pullerExpand 表3.38 configmap.yaml の Image Puller OpenShift テンプレートパラメーター 値 使用方法 デフォルト CACHING_CPU_LIMITConfigMap の
CACHING_CPU_LIMITの値.2CACHING_CPU_REQUESTConfigMap の
CACHING_CPU_REQUESTの値.05CACHING_INTERVAL_HOURSConfigMap の
CACHING_INTERVAL_HOURSの値"1"CACHING_MEMORY_LIMITConfigMap の
CACHING_MEMORY_LIMITの値"20Mi"CACHING_MEMORY_REQUESTConfigMap の
CACHING_MEMORY_REQUESTの値"10Mi"DAEMONSET_NAMEConfigMap の
DAEMONSET_NAMEの値kubernetes-image-pullerDEPLOYMENT_NAMEConfigMap の
DEPLOYMENT_NAMEの値kubernetes-image-pullerIMAGESConfigMap の
IMAGESの値{}NAMESPACEConfigMap の
NAMESPACEの値k8s-image-pullerNODE_SELECTORConfigMap の
NODE_SELECTORの値"{}"Expand 表3.39 serviceaccount.yaml の Image Puller OpenShift テンプレートパラメーター 値 使用方法 デフォルト SERVICEACCOUNT_NAMEデプロイメントで作成され、使用される ServiceAccount の名前
kubernetes-image-pullerKIP_IMAGEスリープバイナリーのコピー元である Image Puller イメージ
registry.redhat.io/devspaces/imagepuller-rhel8:latestImage Puller をホストする OpenShift プロジェクトを作成します。
oc new-project <k8s-image-puller>
$ oc new-project <k8s-image-puller>Copy to Clipboard Copied! Toggle word wrap Toggle overflow テンプレートを処理してから適用し、Puller をインストールします。
oc process -f serviceaccount.yaml | oc apply -f - oc process -f configmap.yaml | oc apply -f - oc process -f app.yaml | oc apply -f -
$ oc process -f serviceaccount.yaml | oc apply -f - $ oc process -f configmap.yaml | oc apply -f - $ oc process -f app.yaml | oc apply -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
<kubernetes-image-puller> デプロイメントおよび <kubernetes-image-puller> DaemonSet があることを確認します。DaemonSet では、クラスター内の各ノードに Pod が必要です。
oc get deployment,daemonset,pod --namespace <k8s-image-puller>
$ oc get deployment,daemonset,pod --namespace <k8s-image-puller>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <kubernetes-image-puller>
ConfigMapの値を確認します。oc get configmap <kubernetes-image-puller> --output yaml
$ oc get configmap <kubernetes-image-puller> --output yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6.2. Web コンソールを使用した OpenShift への Image Puller のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Web コンソールを使用して、コミュニティーでサポートされている Kubernetes Image Puller Operator を OpenShift にインストールできます。
前提条件
- クラスター管理者による OpenShift Web コンソールセッション。Web コンソールへのアクセス を参照してください。
手順
- コミュニティーでサポートされている Kubernetes Image Puller Operator をインストールします。Web コンソールを使用した OperatorHub からのインストール を参照してください。
-
コミュニティーでサポートされている Kubernetes Image Puller Operator から
KubernetesImagePullerオペランドを作成します。インストールされた Operator からのアプリケーションの作成 を参照してください。
3.6.3. デフォルトの Dev Spaces イメージを事前にプルするように Image Puller の設定 リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Image Puller を設定して、デフォルトの OpenShift Dev Spaces イメージを事前にプルできます。Red Hat OpenShift Dev Spaces Operator は、事前にプルするイメージのリストを制御し、OpenShift Dev Spaces のアップグレード時にそれらを自動的に更新します。
前提条件
- 組織の OpenShift Dev Spaces インスタンスが Kubernetes クラスターにインストールされ、実行されている。
- Image Puller が Kubernetes クラスターにインストールされている。
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照してください。
手順
OpenShift Dev Spaces イメージを事前にプルするように Image Puller を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6.4. カスタムイメージを事前にプルするための Image Puller の設定 リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Image Puller を設定して、カスタムイメージを事前にプルすることができます。
前提条件
- 組織の OpenShift Dev Spaces インスタンスが Kubernetes クラスターにインストールされ、実行されている。
- Image Puller が Kubernetes クラスターにインストールされている。
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照してください。
手順
カスタムイメージを事前にプルするように Image Puller を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- セミコロンで区切られたイメージのリスト
3.6.5. 追加のイメージを事前にプルするための Image Puller の設定 リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Image Puller を設定して、追加の OpenShift Dev Spaces イメージを事前にプルできます。
前提条件
- 組織の OpenShift Dev Spaces インスタンスが Kubernetes クラスターにインストールされ、実行されている。
- Image Puller が Kubernetes クラスターにインストールされている。
-
宛先 OpenShift クラスターへの管理権限を持つアクティブな
ocセッション。CLI の使用方法 を参照してください。
手順
k8s-image-pullernamespace を作成します。oc create namespace k8s-image-puller
oc create namespace k8s-image-pullerCopy to Clipboard Copied! Toggle word wrap Toggle overflow KubernetesImagePullerカスタムリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- セミコロンで区切られたイメージのリスト