镜像服务 IMS-安装Cloud-Init工具:采用官方源码编译安装方法

时间:2024-09-09 10:56:18

采用官方源码编译安装方法

官方源码编译安装方法的Cloud-Init工具Github开源地址:https://github.com/canonical/cloud-init/

  1. 执行以下命令,下载Cloud-Init压缩包,并将其复制至新建的“/tmp/CLOUD-INIT”文件夹。

    wget https://github.com/canonical/cloud-init/archive/refs/tags/0.7.6.zip

    mkdir /tmp/CLOUD-INIT

    cp cloud-init-0.7.6.zip /tmp/CLOUD-INIT

    cd /tmp/CLOUD-INIT

  2. 执行如下命令,解压Cloud-Init压缩包。

    unzip cloud-init-0.7.6.zip

  3. 执行如下命令进入cloud-init-0.7.6文件夹。

    cd cloud-init-0.7.6

  4. 若cloud-init为18.3~22.3版本,则需要进行如下适配。否则跳过本步骤,继续执行下一步。

    sed -i '/VALID_DMI_ASSET_TAGS =/a\VALID_DMI_ASSET_TAGS += ["HUAWEICLOUD"]' cloudinit/sources/DataSourceOpenStack.py

    cat cloudinit/sources/DataSourceOpenStack.py | grep VALID_DMI_ASSET_TAGS

    确认执行结果如下图,表示语句添加成功。

  5. 按照操作系统类型,执行相应的命令安装Cloud-Init安装包。
    • CentOS6.x/SUSE11.x:

      python setup.py build

      python setup.py install --init-system sysvinit

    • CentOS7.x/SUSE12.x:

      python setup.py build

      python setup.py install --init-system systemd

    Cloud-Init安装时需要添加syslog用户到adm组。存在syslog用户时直接添加syslog用户到adm组。不存在syslog用户时(如CentOS和SUSE),执行下列命令创建syslog用户,添加到adm组:

    useradd syslog

    groupadd adm

    usermod -g adm syslog

  6. 设置Cloud-Init相关服务为开机自启动。
    • 若操作系统是sysvinit自启动管理服务,则执行以下命令进行设置。

      chkconfig --add cloud-init-local; chkconfig --add cloud-init; chkconfig --add cloud-config; chkconfig --add cloud-final

      chkconfig cloud-init-local on; chkconfig cloud-init on; chkconfig cloud-config on; chkconfig cloud-final on

      service cloud-init-local status; service cloud-init status; service cloud-config status; service cloud-final status

    • 若操作系统是systemd自启动管理服务,则执行以下命令进行设置。

      systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service

      systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service

  7. 执行如下命令检查Cloud-Init是否安装成功。

    cloud-init -v

    cloud-init init --local

    回显如下类似信息所示表示安装Cloud-Init成功。

    cloud-init 0.7.6
support.huaweicloud.com/bestpractice-ims/ims_bp_0023.html