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.yaml
OpenShift 模板:表 3.17. app.yaml中的 image Puller OpenShift 模板参数 值 使用 默认 DEPLOYMENT_NAME
ConfigMap 中的
DEPLOYMENT_NAME
的值kubernetes-image-puller
IMAGE
用于
kubernetes-image-puller
部署的镜像registry.redhat.io/devspaces/imagepuller-rhel8:3.2
IMAGE_TAG
要拉取的镜像标签
latest
SERVICEACCOUNT_NAME
由部署创建并使用的 ServiceAccount 的名称
kubernetes-image-puller
表 3.18. configmap.yaml中的 image Puller OpenShift 模板参数 值 使用 默认 CACHING_CPU_LIMIT
ConfigMap 中的
CACHING_CPU_LIMIT
的值.2
CACHING_CPU_REQUEST
ConfigMap 中的
CACHING_CPU_REQUEST
的值.05
CACHING_INTERVAL_HOURS
ConfigMap 中的
CACHING_INTERVAL_HOURS
的值"1"
CACHING_MEMORY_LIMIT
ConfigMap 中的
CACHING_MEMORY_LIMIT
的值"20Mi"
CACHING_MEMORY_REQUEST
ConfigMap 中的
CACHING_MEMORY_REQUEST
的值"10Mi"
DAEMONSET_NAME
ConfigMap 中的
DAEMONSET_NAME
的值kubernetes-image-puller
DEPLOYMENT_NAME
ConfigMap 中的
DEPLOYMENT_NAME
的值kubernetes-image-puller
IMAGES
ConfigMap 中的
IMAGES
值"undefined"
NAMESPACE
ConfigMap 中的
NAMESPACE
值k8s-image-puller
NODE_SELECTOR
ConfigMap 中的
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