3.5. 缓存镜像,以便加快工作区启动

要提高 OpenShift Dev Spaces 工作区的开始时间性能,请使用 Image Puller(image Puller)(一个 OpenShift Dev Spaces-agnostic 组件),可用于预拉取(pull)镜像(pull)镜像。Image Puller 是一个额外的 OpenShift 部署,它会创建一个 DaemonSet,它可以在每个节点上预拉取相关的 OpenShift Dev Spaces 工作区镜像。当 OpenShift Dev Spaces 工作区启动时,这些镜像将已存在,因此改进了工作空间开始时间。

Image Puller 为配置提供了以下参数。

表 3.8. Image Puller 参数

参数使用默认

CACHING_INTERVAL_HOURS

DaemonSets 健康检查间隔(以小时为单位)

"1"

CACHING_MEMORY_REQUEST

在拉取器运行时,每个缓存的镜像的内存请求。请参阅 第 3.5.2 节 “为 Image Puller 定义内存参数”

10Mi

CACHING_MEMORY_LIMIT

在拉取器运行时,每个缓存的镜像的内存限值。请参阅 第 3.5.2 节 “为 Image Puller 定义内存参数”

20Mi

CACHING_CPU_REQUEST

在拉取器运行时,每个缓存的镜像的处理器请求

.05 或 50 毫秒

CACHING_CPU_LIMIT

在拉取器运行时,每个缓存的镜像的处理器限制

.2 或 200 毫秒

DAEMONSET_NAME

要创建的 DaemonSet 的名称

kubernetes-image-puller

DEPLOYMENT_NAME

要创建的 Deployment 的名称

kubernetes-image-puller

NAMESPACE

包含要创建的 DaemonSet 的 OpenShift 项目

k8s-image-puller

IMAGES

要拉取的镜像的分号分隔列表,格式为 < name1> = <image1&gt; ; &lt;name2> = &lt;image2&gt;。请参阅 第 3.5.1 节 “定义要拉取的镜像列表”

 

NODE_SELECTOR

节点选择器应用到 DaemonSet 创建的 pod

'{}'

关联性

关联性应用到 DaemonSet 创建的 pod

'{}'

IMAGE_PULL_SECRETS

镜像 pull secret 列表,格式为 pullsecret1;…​ 以添加到由 DaemonSet 创建的 pod。这些 secret 需要位于镜像 puller 的命名空间中,集群管理员必须创建它们。

""

3.5.1. 定义要拉取的镜像列表

Image Puller 可以预先拉取大多数镜像,包括全新镜像,如 che-machine-exec。但是,在 Dockerfile 中挂载卷的镜像(如 efik )不支持在 OpenShift 3.11 上预拉取。

流程

  1. 通过导航到 https://devspaces- <openshift_deployment_name> . <domain_name> /plugin-registry/v3/external_ images.txt URL 来收集用于预拉取的相关容器镜像列表。
  2. 从列表中确定预拉取的镜像。为加快工作区启动时间,请考虑预先拉取工作区相关镜像,如 che-theiache-machine-execche-theia-endpoint-runtime-binary,以及插件 sidecar 镜像。

其他资源