有奖捉虫:云通信与企业服务文档专题,速来> HOT

操作场景

Cloudbase-Init 是一种在 Windows 操作系统中安装的工具,它的作用是帮助用户在云环境中自动化地配置和初始化 Windows 虚拟机。在云环境中,用户需要快速创建和部署虚拟机,而 Cloudbase-Init 可以帮助用户在创建虚拟机时自动完成一些初始化工作,例如配置网络、安装软件、执行脚本等。
本文档以 Windows Server 2022 64位操作系统为例,指导您在 Windows 操作系统上安装 Cloudbase-Init。

准备软件

安装 Cloudbase-Init 需准备以下软件:
软件名称
获取路径
说明
CloudbaseInitSetup_X_X_XX_xXX.msi
请根据实际使用的操作系统位数,下载对应的 Cloudbase-Init 安装包:
稳定版本:推荐使用该版本安装包
Windows 64位 操作系统:点此获取
Windows 32位 操作系统:点此获取
Beta 版本
更多详情请参见 Cloudbase-Init 官网
用于安装 Cloudbase-Init。
TencentCloudRun.ps1
用于修改 cloudbase-init 配置文件
localscripts.py
用于保证 Cloudbase-Init 可以正常启动。

操作步骤

安装 Cloudbase-Init

1. 下载CloudbaseInitSetup_X_X_XX_xXX.msi软件到您的服务器中,在操作系统界面,双击打开 Cloudbase-Init 安装包。
2. 在弹出的安全警告提示框中,单击运行,进入 Cloudbase-Init 安装界面。如下图所示:


3. 单击 Next
4. 勾选 I accept the terms in the License Agreement,连续单击2次 Next
5. Configuration options 界面,将 Serial port for logging 设置为 COM1,勾选 Run Cloudbase-Init service as LocalSystem,并单击 Next。如下图所示:


6. 单击 Install,安装 Cloudbase-Init。
7. 待 Cloudbase-Init 完成安装后,单击 Finish,关闭 Cloudbase-Init 安装界面。如下图所示:
注意
关闭 Cloudbase-Init 安装界面时,请勿勾选任何复选框,不要运行 Sysprep。




修改 cloudbase-init 配置文件

1. 打开 cloudbase-init.conf 配置文件。 cloudbase-init.conf 配置文件的默认路径为:C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\conf
2. cloudbase-init.conf 配置文件替换为以下内容:
[DEFAULT]
username=Administrator
groups=Administrators
inject_user_password=true
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=true
bsdtar_path=C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\bin\\bsdtar.exe
mtools_path=C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\bin\\

san_policy=OnlineAll

metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService,cloudbaseinit.metadata.services.ec2service.EC2Service
#,cloudbaseinit.metadata.services.httpservice.HttpService
#,cloudbaseinit.metadata.services.maasservice.MaaSHttpService

metadata_base_url=http://169.254.0.23/
ec2_metadata_base_url=http://169.254.0.23/

retry_count=2
retry_count_interval=5

plugins=cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
verbose=true
debug=true
logdir=C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\log\\
logfile=cloudbase-init.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
#logging_serial_port_settings=COM1,115200,N,8
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
first_logon_behaviour=no
netbios_host_name_compatibility=false
allow_reboot=true
activate_windows=true
kms_host="kms.tencentyun.com"
local_scripts_path=C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\LocalScripts\\

C:\\powershell
PS C:\\Set-ExecutionPolicy Unrestricted

volumes_to_extend=1,2,3
3. 下载TencentCloudRun.ps1脚本(本文档 准备软件 列表获取),并将 TencentCloudRun.ps1 脚本拷贝到 C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\LocalScripts 路径下。
4. 右键单击 TencentCloudRun.ps1 脚本,选择属性,并在弹出窗口中查看脚本是否具备可执行权限。如下图所示:


如存在 Unblock 选项,则需勾选 Unblock,并单击 OK 退出。
如不存在 Unblock 选项,则请跳过本步骤。
5. C:\\Program Files\\Cloudbase Solutions\\Cloudbase-Init\\Python\\Lib\\site-packages\\cloudbaseinit\\plugins\\common 路径下的 localscripts.py 替换为 准备软件 中的 localscripts.py 文件。