使用自定义镜像创建ACK集群

如果ACK支持的操作系统镜像类型无法满足您的某些业务需求,例如预装某些软件、配置OS内核参数、加速镜像部署等,您可以基于ECS实例创建自定义镜像,然后基于自定义镜像创建节点池或集群。创建后,节点池中新增的节点都将默认使用您的自定义镜像。

使用须知

基于自定义镜像创建节点池或集群时,有如下注意事项:

  • 请基于ACK集群支持的操作系统制作自定义镜像。详细信息,请参见操作系统镜像概述

  • 请勿使用ACK集群中正在运行的ECS实例制作自定义镜像。如需使用,请先从集群移除,请参见移除节点

  • 自定义镜像中预定义的行为逻辑可能影响集群节点初始化、容器运行、节点OS升级、托管节点池的节点自动恢复等操作。在生产环境使用前,请确保已经过严格的测试验证。

  • 仅白名单用户可使用此功能。请前往配额平台申请。

步骤一:基于ECS实例创建自定义镜像

您可以在创建ECS实例后,根据业务需要自定义该实例(如安装软件、部署应用环境等),并为更新后的实例创建自定义镜像。使用该镜像创建的新实例,会包含您已配置的自定义项,省去您重复自定义实例的时间。

  1. 登录ECS实例,执行以下命令,删除指定的文件。关于如何登录实例,请参见通过密码或密钥认证登录Linux实例

    chattr -i /etc/acknode/nodeconfig-*
    rm -rf /etc/acknode
    systemctl disable ack-reconfig
    rm -rf /etc/systemd/system/ack-reconfig.service
    rm -rf /usr/local/bin/reconfig.sh
    rm -rf /var/lib/cloud
  2. 基于ECS实例创建自定义镜像。相关注意事项和具体操作步骤,请参见使用实例创建自定义镜像

步骤二:基于自定义镜像创建节点

在新建集群中创建

您可以在新建集群时配置基于自定义镜像创建节点池。创建后,集群中默认节点池(default-nodepool)的新增节点都将自动使用您的自定义镜像。

您可以在新建集群的节点池配置页面的高级配置中,定位自定义镜像区域,根据页面提示选择步骤一:基于ECS实例创建自定义镜像创建好的自定义镜像。

image

关于创建集群的详细配置项说明,请参见创建ACK托管集群

在新建节点池中创建

您可以在新建节点池时配置自定义镜像。创建后,该节点池中的新增节点都将默认使用您的自定义镜像。

您可以在创建节点池的高级配置中,定位自定义镜像区域,根据页面提示选择步骤一:基于ECS实例创建自定义镜像创建的自定义镜像。

image

关于创建节点池的详细配置项说明,请参见创建节点池

相关文档

如果您需要提高复杂场景下弹性伸缩的便捷性,您可以创建面向弹性场景优化的自定义镜像,请参见弹性优化之自定义镜像