3.5.4. 使用 CLI 在 OpenShift 上安装镜像拉取(puller)
您可以使用 OpenShift oc 管理工具在 OpenShift 上安装 Kubernetes Image Puller。
先决条件
- 第 3.5.1 节 “定义要拉取的镜像列表”.
- 第 3.5.2 节 “为 Image Puller 定义内存参数”.
-
具有 OpenShift 集群的管理权限的活跃
oc会话。请参阅 OpenShift CLI 入门。
流程
克隆 Image Puller 存储库,并进入包含 OpenShift 模板的目录中:
$ git clone https://github.com/che-incubator/kubernetes-image-puller $ cd kubernetes-image-puller/deploy/openshift
使用以下参数配置
app.yaml、configmap.yaml和serviceaccount.yamlOpenShift 模板:表 3.17.
app.yaml中的 image Puller OpenShift 模板参数值 使用 默认 DEPLOYMENT_NAMEConfigMap 中的
DEPLOYMENT_NAME的值kubernetes-image-pullerIMAGE用于
kubernetes-image-puller部署的镜像registry.redhat.io/devspaces/imagepuller-rhel8:3.2IMAGE_TAG要拉取的镜像标签
latestSERVICEACCOUNT_NAME由部署创建并使用的 ServiceAccount 的名称
kubernetes-image-puller表 3.18.
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值"undefined"NAMESPACEConfigMap 中的
NAMESPACE值k8s-image-pullerNODE_SELECTORConfigMap 中的
NODE_SELECTOR的值"{}"表 3.19.
serviceaccount.yaml中的 image Puller OpenShift 模板参数值 使用 默认 SERVICEACCOUNT_NAME由部署创建并使用的 ServiceAccount 的名称
kubernetes-image-puller创建 OpenShift 项目以托管 Image Puller:
$ oc new-project <k8s-image-puller>处理并应用模板来安装 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 -
验证步骤
验证 < kubernetes-image-puller> 部署和 < kubernetes-image-puller> DaemonSet 是否存在。DaemonSet 需要为集群中的每个节点都有一个 Pod:
$ oc get deployment,daemonset,pod --namespace <k8s-image-puller>验证 < kubernetes-image-puller >
ConfigMap的值。$ oc get configmap <kubernetes-image-puller> --output yaml