制作ACK集群自定义节点镜像的正确姿势
随着云原生时代的到来,用户应用、业务上云的需求也越来越多,不同的业务场景对容器平台的需求也不尽相同,其中一个非常重要的需求就是使用自定义镜像创建ACK集群。
ACK支持用户使用自定义镜像创建Kubernetes集群,但用户在制作打包自定义镜像时,往往会遇到以下痛点:
(1)人工操作步骤,效率低
(2)镜像变更历史记录缺失,不便于故障定位
(3)无法对自定义镜像进行校验并判断是否符合ACK集群节点要求
基于以上痛点,我们开源了ack-image-builder项目帮助用户快速制作符合ACK集群节点要求的自定义镜像。
ack-image-builder项目基于开源工具HashiCorp Packer,提供默认配置模板和校验脚本。
使用ack-image-builder项目创建ACK集群自定义节点镜像的步骤如下:
1. 安装Packer
从官方下载页面选择操作系统对应的软件版本,并按照安装说明文档安装和验证packer。
说明packer已安装成功。
2. 定义Packer模板
使用Packer创建自定义镜像时,需要创建一个JSON格式的模板文件。在该模板文件中,您需要指定创建自定义镜像的 Alicloud Image Builder(生成器) 和 Provisioners(配置器)。
参数 | 描述 |
---|---|
access_key | 您的AccessKeyID |
secret_key | 您的AccessKeySecret |
region | 创建自定义镜像时使用临时资源的地域 |
image_name | 自定义镜像的名称 |
source_image | 基础镜像的名称,可以从阿里云公共镜像列表获得 |
instance_type | 创建自定义镜像时生成的临时实例的类型 |
provisioners | 创建自定义镜像时使用的 Packer 配置器 类型 |
3. 创建子账号并生成AK
制作自定义镜像的权限要求较大,一般建议用户创建子账户并授权Packer需要的对应RAM Policy,并创建AK。
4. 导入AK信息并制作自定义镜像
导入AK:
制作自定义镜像:
其中scripts/verify.sh为对检查项的校验部分。
5. 使用自定义镜像创建ACK集群
登录容器服务控制台,选择创建 Kubernetes 专有版 集群, 配置集群创建需要的相关基础信息后,点开 显示高级选项 并选择自定义镜像进行集群创建。
本文作者:流生
本文为云栖社区原创内容,未经允许不得转载。