文档首页> 云容器引擎 CCE> 最佳实践> 集群> 使用私有镜像制作工作节点镜像
更新时间:2022-05-07 GMT+08:00
分享

使用私有镜像制作工作节点镜像

使用限制

  • 仅在部分局点Region公测使用。
  • 该功能仅支持v1.15及以上版本集群。
  • CCE Turbo集群自定义镜像方法请参见制作CCE节点自定义镜像

镜像操作系统及内核版本要求

镜像需打上专有标签,标签键值均为cce。镜像操作系统版本要求:euleros 2.5、centos 7.6。

表1 集群版本与操作系统版本、内核对应表

操作系统

集群版本

内核信息

CentOS Linux release 7.6

v1.17.17

3.10.0-1160.15.1.el7.x86_64

v1.17.9

3.10.0-1062.12.1.el7.x86_64

v1.15.11

3.10.0-1062.12.1.el7.x86_64

v1.15.6-r1

3.10.0-1062.1.1.el7.x86_64

EulerOS release 2.5

v1.17.17

3.10.0-862.14.1.5.h470.eulerosv2r7.x86_64

v1.17.9

3.10.0-862.14.1.5.h428.eulerosv2r7.x86_64

v1.15.11

3.10.0-862.14.1.5.h428.eulerosv2r7.x86_64

v1.15.6-r1

3.10.0-862.14.1.5.h328.eulerosv2r7.x86_64

  • 制作镜像的过程中必须按照操作指南进行制作,防止一些不可预期问题出现。
  • 根据基础镜像创建出来的虚机,默认登录用户需要支持sudo root权限,或者拥有root权限。

制作镜像前准备

使用须知:

  • 请务必检查制作镜像ECS机器的上是否安装好与当前操作系统版本对应的依赖
  • 在镜像制作完成后,ECS不会删除,需要用户自行删除。
  • 私有镜像安装包包含了安装工作节点需要的脚本以及依赖组件,该包的版本会跟着集群版本变更。

操作步骤:

  1. 镜像制作前需要创建两台ECS,并绑定EIP,一台作为执行机,另一台作为制作镜像的机器。建议:ECS的规格4U8G。

    • 如果需要使用镜像文件来制作私有镜像,请参考附录
    • 绑定EIP是为了远程传递安装包、远程发送安装依赖的命令。
    • 镜像制作时间大约在10分钟左右,这将产生一定的流量和资源消费。
    • 两台ECS新增的安全组入方向规则需要确保TCP:22端口开放。如何创建安全组请参见安全组配置示例

  2. 私有镜像的创建依赖lvm2、conntrack、sudo、NetworkManager、haveged、ntp、numactl、ipset、auditd组件,请务必检查制作镜像ECS机器的上是否安装好与当前操作系统版本对应的依赖。

    eg: yum install lvm2 conntrack sudo NetworkManager haveged ntp numactl ipset audit -y;

    若yum install haveged 提示 no package,可尝试执行下面步骤:

    yum install epel-release -y;
    yum install haveged -y;

    检查卸载不必要依赖:network-hotplug

    eg:rpm -e network-hotplug

    通过systemctl status auditd 查看auditd是否存在且正常,若存在基础镜像要求auditd 服务能够正常运行,可通过systemctl status auditd 查看,部分场景下selinx开启会导致auditd无法运行,可以尝试关闭selinux。 (vim /etc/selinux/config修改SELINUX值为:disabled,关闭SELINUX;检查是否存在/var/log/audit目录,若不存在需要创建。重启节点后生效。);若不存在auditd服务需要安装此服务。

  3. init_envs.conf文件上传

    init_envs.conf文件用于存放基于基础镜像创建的虚机配置。请到ECS控制台申请开发机或使用已有开发机,登录后将init_envs.conf文件上传到“/root”目录下。

    init_envs.conf文件样例如下,现网请根据表2中说明配置相关参数。

    建议使用普通租户创建镜像,由于op_svc_xxx账号安全特殊性,可能导致接口调用失败。

    DOMAIN_NAME=''
    USER_NAME=''
    PROJECT_NAME=''
    PROJECT_ID=''
    IMS_ENDPOINT=''
    KEY_PAIR_NAME=''
    IMAGE_NAME=''
    表2 init_envs.conf文件说明

    参数

    参数说明

    DOMAIN_NAME

    制作镜像的帐号名。

    USER_NAME

    制作镜像的用户名。

    PROJECT_NAME

    所属项目区域。

    请在我的凭证下查看所属区域和项目ID。

    PROJECT_ID

    所属项目ID。

    请在我的凭证下查看所属区域和项目ID。

    IMS_ENDPOINT

    ims.区域.myhuaweicloud.com

    区域信息请参见:地区和终端节点,例如:ims.cn-north-4.myhuaweicloud.com

    KEY_PAIR_NAME

    可选,Keypair的名字,与“/root”目录下的keypair文件名一致。

    IMAGE_NAME

    可选,默认为BASIC-NODE-IMG-时间戳

  4. 获取密钥文件(可选,若密码登录时则不需要执行本步骤)

    创建ECS需要的认证文件,支持使用已有的或创建新的密钥,假设密钥文件名称为Keypair.pem,登录开发机后将Keypair.pem文件上传到“/root”目录下。

    1. 登录管理控制台。
    2. 在主菜单中选择“服务列表 > 计算 > 弹性云服务器”。
    3. 选择左侧导航栏中的“密钥对”,单击“创建密钥对”。
    4. 输入密钥对名称,单击“确定”。
    5. 在弹出的提示框中单击“确定”。

      查看并保存密钥对。为保证安全性,一个密钥对只能下载一次。请妥善保管,避免登录问题。

      创建密钥的更多操作请参见:创建密钥对

制作镜像

  1. 登录作为执行机的ECS机器。

    检查/root目录下是否已经上传init_envs.conf、Keypair.pem密钥对文件。

  2. 运行制作镜像脚本。

    表3 执行命令

    局点

    命令

    华为云

    安装包地址点此获取

    解压安装包,执行包中node-image/conf目录下的create.sh时,需要带上如下五个参数,示例如下:

    bash create.sh  ${NODE_EIP} ${PASSWORD} ${ECS_PASSWORD} ${ECS_INSTANCE_ID} ${LINUX_ROLE}

    参数说明:

    NODE_EIP:制作镜像的机器对应的EIP地址

    PASSWORD:登录华为云用户的登录密码,该密码主要用来获取token创建IMS镜像

    ECS_PASSWORD:制作镜像的机器对应的节点登录密码。如果使用密钥对(Keypair)方式,此参数为""(空值)。

    ECS_INSTANCE_ID:制作镜像的ecs的instance_id

    LINUX_ROLE:默认为root用户,如果为非root用户时,权限设置如下:

    /etc/sudoers
    用户名   ALL=(ALL)   NOPASSWD: ALL
    说明:

    示例如下:

    使用密钥对方式:bash create.sh 127.0.0.1 [您用于制作镜像的用户的登录密码] [制作镜像的机器对应的节点登录密码,使用密钥对时为空值] d4d92ca7-256a-44ef-942d-ab326bed1d87 root

    使用密码方式:bash create.sh 127.0.0.1 [您用于制作镜像的用户的登录密码] [制作镜像的机器对应的节点登录密码] d4d92ca7-256a-44ef-942d-ab326bed1d87 root

  3. 镜像创建完成后,使用该镜像作为工作节点的镜像进行验证操作。

附录

使用镜像文件来创建私有镜像时,才需执行此操作。请参照如下步骤执行:

  1. 获取基础镜像文件。
  2. 将获取到的镜像导入到个人帐号下的OBS桶里。
  3. 在IMS界面,选择“创建私有镜像”。在选择镜像源里选择“镜像文件”,获取对应OBS桶里的镜像,系统盘设置为40G,单击“立即创建”

    图1 创建镜像

分享:

    相关文档

    相关产品

关闭导读