上云无忧 > 文档中心 > 腾讯云容器服务 TKE Serverless 集群 - 镜像缓存
容器服务 TKE
腾讯云容器服务 TKE Serverless 集群 - 镜像缓存

文档简介:
镜像缓存概述: 使用镜像缓存可以在创建实例时加速拉取镜像,减少实例的启动耗时。该能力适用于 TKE Serverless 集群 Pod 和超级节点。本文主要介绍镜像缓存的工作原理、计费说明、创建和使用方式等。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

镜像缓存概述

使用镜像缓存可以在创建实例时加速拉取镜像,减少实例的启动耗时。该能力适用于 TKE Serverless 集群 Pod 和超级节点。本文主要介绍镜像缓存的工作原理、计费说明、创建和使用方式等。

工作原理

镜像缓存加速启动实例时会事先启动一个 容器实例 进行镜像拉取,该镜像存储在一个可自定义大小的数据盘中,同时将该数据盘作为云盘快照缓存,即镜像数据已被保存在快照中。在创建容器实例或 Pod 时选择自动匹配或手动匹配镜像缓存,会基于镜像快照创建相应数量的硬盘(数据盘),并直接挂载到实例上,避免镜像层下载,从而提升容器实例及 Pod 的创建速度。
镜像缓存的优势如下:
无时效限制,与镜像缓存(快照)的生命周期有关。
只需提前冷启动一个 Pod,创建快照后该 Pod 即被销毁。
无可用区限制,基于快照创建云盘时自动匹配可用区。
无工作负载的限制,相同地域中即可匹配。

计费说明

在创建镜像缓存时,会涉及到以下资源,相应的计费情况如下:
计费项
计费说明
计费文档
镜像缓存
创建镜像缓存时,需要运行一个2核4GiB容器实例以拉取镜像。在镜像缓存创建完成后,该容器实例会自动释放并停止计费。
容器实例计费
CBS 数据盘
创建镜像缓存时,需要绑定一个高性能数据盘存储镜像,该数据盘的大小支持自定义,默认为20G。在镜像缓存创建完成后,该数据盘会自动释放并停止计费。
云硬盘计费
快照
基于上述数据盘会创建一个快照,该快照的生命周期与镜像缓存的生命周期一致。快照按照使用时长及容量收费。
快照计费
使用镜像缓存时,会基于匹配的镜像缓存快照创建一个相同容量的高性能数据盘,并绑定到 Pod 上,因此除去创建 Pod 本身的费用,会额外收取数据盘的费用。数据盘的费用计算公式如下:
数据盘费用 = 容量 × 单价 × 实例运行时长

操作步骤

使用控制台创建镜像缓存

1. 登录 容器服务控制台
2. 选择左侧导航栏的应用中心 > 镜像缓存,在镜像缓存页面单击新建实例
3. 创建镜像缓存页面,配置相关参数。如下图所示:

实例名称:自定义。
所在地域:按需选择。
容器网络:为容器实例分配在容器网络地址范围内的 IP 地址。
安全组:安全组具有防火墙的功能,可限制容器实例的网络通信,默认为 default。
OS类型:支持选择 Windows 和 Linux。
镜像:按需选择需要进行缓存的镜像及其版本。
镜像凭证:当选择 Dockerhub 及其他第三方镜像仓库的私有镜像时,必须填写镜像凭证,即仓库的访问地址、用户名及密码。
高级配置:
缓存大小:该大小决定快照及之后创建实例时绑定的数据盘的大小。
注意:
镜像仓库中显示的镜像大小为压缩后的数据,制作镜像缓存有拉取镜像并展开的过程,若镜像过大或镜像压缩比过大将导致默认的20GB数据盘不够用,建议设置更大的数据盘空间。
过期策略:选择镜像缓存的保留时间,默认为永久保留。
4. 单击创建实例。创建完成后可在镜像缓存的列表,单击事件名称查看创建进程。如下图所示:

使用 CRD 创建镜像缓存

若要使用 CRD 创建镜像缓存服务,需在集群内安装镜像缓存组件,安装后支持以 CRD+Controller 的模式,使用腾讯云镜像缓存服务,而不需要调用云 API 接口。操作步骤如下:
1. 登录 容器服务控制台
2. 在集群列表中单击 Serverless 集群 ID,进入集群详情页。
3. 在左侧导航栏中选择组件管理,单击新建。
4. 新建组件管理页面选择 imc-operator(镜像缓存) 组件。如下图所示:

5. 单击完成。在组件管理列表页, 查看已安装的组件。
6. 编辑 YAML。
创建 ImageCache
查看 ImageCache
示例:
				
apiVersion: eks.cloud.tencent.com/v1
kind: ImageCache
metadata:
name: imagecache-sample
spec:
images:
- nginx
# imageCacheSize: 30
# TODO(user): Add fields here
带有更多参数的示例:
				
apiVersion: eks.cloud.tencent.com/v1
kind: ImageCache
metadata:
annotations:
"eks.tke.cloud.tencent.com/eip-attributes": '{"InternetMaxBandwidthOut":2}' # 自动创建eip
name: imagecache-sample-more-para
spec:
images:
- nginx
- mysql
imageCacheSize: 30
retentionDays: 7
imagePullSecrets:
- imc-operator-system/qcloudregistrykey
示例:
				
kubectl get imc
如有异常可查看 events:
				
kubectl describe imc xxx

使用已创建的镜像缓存

Serverless 集群内创建 Pod 时,可在新建工作负载页面,单击显示高级设置,勾选开启镜像缓存功能。如下图所示:

镜像缓存支持自动匹配手动匹配两种匹配方式,您可以根据自身需求选择合适的匹配方式。
自动匹配
手动匹配
在缓存匹配模式中选择自动匹配时,根据以下匹配策略,将自动匹配最优的镜像缓存。
依据镜像名称:当镜像名称相同时即可匹配(镜像名称相同但 tag 不同也可匹配,会在原 tag 版本的基础上拉取最新 tag 版本的镜像)。
依据镜像缓存大小:小容量优先匹配。
依据创建时间:创建时间晚的优先匹配。
注意
若双方都为 nginx: latest,依旧可匹配,但是由于创建时间不同,可能存在版本不一致的情况,因此,建议创建时镜像缓存及实例时,明确注明版本。
若没有匹配到对应的镜像缓存,则会自动正常拉取镜像。

在缓存匹配模式中选择手动匹配时,需要手动选择具体的镜像缓存。需注意,手动指定镜像缓存后,会直接按照该镜像缓存快照创建数据盘并绑定到实例上,但是若数据盘中并没有创建时填写的镜像(即手动指定了错误的镜像缓存),会重新在新创建的数据盘中拉取镜像。

TKE 集群内的超级节点上的 Pod 可通过指定 Pod 的 Annotation 来使用镜像缓存,具体可参考超级节点 Annotation 说明
自动匹配:
		
eks.tke.cloud.tencent.com/use-image-cache: auto
手动指定:
		
eks.tke.cloud.tencent.com/use-image-cache: imc-xxx

匹配结果

可从创建实例的事件中,查看是否匹配成功。
若匹配成功,则显示以下事件:

若未显示该事件,则表示没有匹配到合适的镜像缓存。
需要注意的是,若选择手动匹配,但是匹配的镜像缓存中并没有该镜像,会重新在新创建的数据盘中拉取镜像,并显示以下事件:

相似文档
  • TKE Serverless 集群不仅支持上传日志到 CLS,也支持采集日志到自建 Kafka 或者 CKafka。 创建 CRD: 若需要采集日志到 Kafka,只需定义 CRD 即可。
  • 操作场景: 在 TKE Serverless 集群中,用户可以通过自定义资源(CustomResourceDefinitions,CRD)的方式配置日志采集。CRD 对 Pod 无侵入性,支持单行、多行、分隔符、完全正则、JSON 等多种日志解析方式,将标准输出、容器内文件日志发送至 腾讯云日志服务 CLS,提供检索分析、可视化应用、日志下载消费等服务。推荐使用 CRD 配置日志采集。
  • 本文介绍通过控制台配置 TKE Serverless 集群的日志采集功能。 前提条件: 登录 容器服务控制台,并为 Serverless 集群开启日志采集功能。操作详情请参见 开启日志采集。 操作步骤: 为集群开启日志采集功能后,您可根据以下操作进行配置:
  • 本文介绍通过 YAML 方式使用 CRD 配置 TKE Serverless 集群的日志采集功能。 前提条件: 登录 容器服务控制台,并为 Serverless 集群开启日志采集功能。操作详情请参见 开启日志采集。
  • 说明: 日志服务 CLS 为 TKE Serverless 集群产生的所有审计、事件数据提供免费服务至2021年12月31日。请选择自动创建日志集,或在已有日志集中选择自动创建日志主题。活动详情请参见 TKE 容器服务审计与事件中心日志免费说明。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部