安装Cloud

您所在的位置:网站首页 linux怎么查看ipv6地址 安装Cloud

安装Cloud

2023-05-31 17:35| 来源: 网络整理| 查看: 265

操作场景

为了保证使用私有镜像创建的新云主机可以通过“用户数据注入”功能注入初始化自定义信息(例如为云主机设置登录密码),请在创建私有镜像前安装Cloud-Init工具。

安装Cloud-Init工具时需要从官网下载并安装,因此,需要提前为云主机绑定弹性公网IP。

不安装Cloud-Init工具,将无法对云主机进行自定义配置,只能使用镜像原有密码登录云主机。

使用公共镜像创建的云主机,默认已经安装Cloud-Init,不需要执行安装及配置操作。

用户导入镜像创建的云主机,请按照指导安装及配置Cloud-Init。配置Cloud-Init操作请参考配置Cloud-Init工具章节。

前提条件

已为云主机绑定弹性公网IP。

已登录云主机。

云主机的网卡属性为DHCP方式。

安装步骤说明

1.请先检查是否已安装Cloud-Init工具。

具体操作请参考检查是否已经安装Cloud-Init工具。

2.安装Cloud-Init工具。

Cloud-Init安装方式分为:采用官方提供的包源安装Cloud-Init工具(优先推荐)、采用官方提供的Cloud-Init源码包通过pip方式安装Cloud-Init工具和采用源码编译安装方法。

检查是否已经安装Cloud-Init工具

请先执行如下步骤检查是否已安装Cloud-Init工具。

在不同的操作系统下,查看是否已经安装Cloud-Init工具的方法不同,以CentOS 6系列为例,执行以下命令查看是否安装Cloud-Init工具。

rpm -qa |grep cloud-init

回显类似如下,表示已经安装Cloud-Init工具,无需重复安装。

cloud-init-0.7.5-10.el6.centos.2.x86_64

无回显信息表示未安装Cloud-Init工具。

说明:

由于Cloud-Init工具存在多种安装方法,如果无回显信息,请再次使用rpm -qa |grep cloud-init命令进行检查。which cloud-init和rpm -qa |grep cloud-init任何一个命令显示已安装,表示操作系统已安装Cloud-Init工具。

如果已安装Cloud-Init工具,还需要执行以下操作:

请确认当前云主机操作系统中的证书是否继续使用。如果不再使用该证书,请删除证书。

−root用户对应目录下的文件(如“/path/to/$root/.ssh/authorized_keys”),执行以下命令:

cd /root/.ssh rm authorized_keys

−非root用户对应目录下的证书文件(如“/path/to/$none-root/.ssh/authorized_keys”),执行以下命令:

cd /home/centos/.ssh rm authorized_keys 执行以下命令,清除Cloud-Init工具产生的缓存,确保使用该私有镜像创建的云主机可以使用证书方式登录。 sudo rm -rf /var/lib/cloud/*

说明:

设置完成后请勿重启云主机,否则,需重新设置。

采用官方提供的包源安装Cloud-Init工具(优先推荐)

在不同操作系统的云主机上安装Cloud-Init工具的方法不同,请在root用户下执行相关安装操作。

以下将介绍SUSE、CentOS、Fedora、Debian和Ubuntu操作系统安装Cloud-Init工具的具体方法。其他操作系统类型,请安装并配置对应类型的Cloud-Init工具,例如,使用CoreOS操作系统时需安装并配置coreos-cloudinit。

SUSE操作系统

SUSE操作系统的Cloud-Init网络安装地址:

http://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/

http://download.opensuse.org/repositories/Cloud:/Tools/

说明:

在上述提供的网络安装地址下选择相应操作系统版本的repo安装包进行安装。

以SUSE Enterprise Linux Server 12为例,Cloud-Init工具的安装步骤如下。

a.登录到创建Linux私有镜像所使用的云主机。

b.执行以下命令,安装SUSE 12的网络安装源。

zypper ar http://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/SLE_12_SP3/Cloud:Tools.repo

c.执行以下命令,更新网络安装源。

zypper refresh

d.执行以下命令,安装Cloud-Init。

zypper install cloud-init

e.执行以下命令,设置Cloud-Init为开机自启动服务。

SUSE 11: 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 SUSE 12以及openSUSE 12/13/42: 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

注意:

对于SUSE和openSUSE操作系统,请执行以下步骤禁止动态修改云主机名称。

1.执行以下命令,使用vi编辑器打开“dhcp”文件。

vi etc/sysconfig/network/dhcp

2.将“dhcp”文件中的“DHCLIENT_SET_HOSTNAME”的值修改为“no”。

CentOS操作系统

CentOS操作系统的Cloud-Init网络安装地址如下表所示。请在提供的网络安装地址下选择相应的epel-release安装包进行安装。

表 Cloud-Init网络安装地址

操作系统类型版本网络安装地址CentOS6系列32位https://archives.fedoraproject.org/pub/archive/epel/6/i386/6系列64位https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/7系列64位https://archives.fedoraproject.org/pub/epel/7/x86_64/Packages/e/

1、执行以下命令安装Cloud-Init:

yum install 网络安装地址/epel-release-x-y.noarch.rpm

yum install cloud-init

说明:

“网络安装地址”表示Cloud-Init对应的epel-release安装包的地址,“x-y”表示当前操作系统对应的Cloud-Init epel-release版本号,执行命令时需参考表1以及实际使用的安装包版本进行替换。

以CentOS 6系列64位为例,当前版本号为6.8,则命令修改为:

yum install https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm

以CentOS 7系列64位为例,当前版本号为7.14。则命令修改为:

yum install https://archives.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm

2、执行以下命令,设置Cloud-Init为开机自启动服务。

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 Fedora操作系统

安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/yum.repo.d/fedora.repo”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考相关Fedora官网信息配置软件包安装源。

1、执行以下命令,安装Cloud-Init。

yum install cloud-init

2、执行以下命令,设置Cloud-Init为开机自启动服务。

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 Debian和Ubuntu操作系统

安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/apt/sources.list”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考Debian或者Ubuntu官网信息配置软件包安装源。

1、执行以下命令,安装Cloud-Init。

apt-get update apt-get install cloud-init

2、执行以下命令,设置Cloud-Init为开机自启动服务。

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 采用官方提供的Cloud-Init源码包通过pip方式安装Cloud-Init工具

以cloud-init-0.7.9版本为例,Cloud-Init工具的安装步骤如下。

1.下载cloud-init-0.7.9.tar.gz源码包(推荐优先选用0.7.9版本),上传到云主机指定目录“/home/”下。

cloud-init-0.7.9.tar.gz源码包下载地址:

https://launchpad.net/cloud-init/trunk/0.7.9/+download/cloud-init-0.7.9.tar.gz

2.在“~/.pip/”目录下新建pip.conf文件,编辑内容如下。

说明:

“~/.pip/”若不存在,可使用命令mkdir ~/.pip命令新建。

[global] index-url = https:///simple/ trusted-host =

说明:

编辑内容中部分可以选择公网PyPI源或教育网PyPI源进行替换。

公网PyPI源:https://pypi.python.org/ 教育网PyPI源:https://pypi.tuna.tsinghua.edu.cn/

https://pypi.mirrors.ustc.edu.cn/

3.执行以下命令,安装本地下载的Cloud-Init源码包,安装过程中根据需要选择--upgrade参数。

pip install [--upgrade] /home/cloud-init-0.7.9.tar.gz

4.执行命令cloud-init -v,如回显如下类似信息表示安装Cloud-Init成功。

cloud-init 0.7.9

5.设置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

注意:

采用官方提供的Cloud-Init源码包通过pip方式进行安装时要注意以下两点。

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

useradd syslog groupadd adm usermod -g adm syslog

2.在“/etc/cloud/cloud.cfg”中system_info部分的distro要根据具体操作系统发行版本做相应修改(如根据具体操作系统发行版相应修改为:distro: ubuntu,distro: sles,distro: debian,distro: fedora)。

采用源码编译安装方法

由于Cloud-Init配置的相关内容已在源码包编译完成,执行以下操作步骤安装Cloud-Init成功即可,无需执行Cloud-Init配置操作。源码编译安装方法的Cloud-Init工具Github开源地址:https://github.com/canonical/cloud-init/

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

说明:

0.7.6版本安装包下载地址:https://github.com/canonical/cloud-init/archive/refs/tags/0.7.6.zip

0.7.9版本安装包下载地址:https://github.com/canonical/cloud-init/archive/refs/tags/0.7.9.zip

Cloud-Init所有版本安装包下载地址:https://github.com/canonical/cloud-init/releases

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

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

图片7.png

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

5.设置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

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

cloud-init -v cloud-init init --local

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

cloud-init 0.7.6


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3