本节介绍如何使用 cloud-init 软件包来处理实例的早期初始化。
关于 cloud-init
cloud-init 是一个 Linux 软件包,负责处理实例的早期初始化。如果 cloud-init 在发行版中可用,则它允许在安装实例后直接配置实例的许多常用参数。这会创建一个完全正常运行的实例,该实例基于一系列输入进行配置。
可以通过用户数据配置 cloud-init 的行为。用户数据可在实例启动时由用户提供。通常,可以通过连接 cloud-init 将在首次引导时查找的 ISO 格式的辅助磁盘来完成此操作。此磁盘中包含将在首次引导时应用的所有早期配置数据。
SASE Orchestrator 支持 cloud-init,并且可以将所有基本配置打包到一个 ISO 映像中。
创建 cloud-init 元数据文件
最终安装配置选项通过一对 cloud-init 配置文件进行设置。第一个安装配置文件中包含元数据。使用文本编辑器创建该文件,并将其标记为 meta-data。该文件提供了相应的信息以标识要安装的 SASE Orchestrator 实例。instance-id
可以是任何标识名称,local-hostname
应是符合站点标准的主机名,例如:
instance-id: vco01 local-hostname: vco-01
此外,您还可以指定网络接口信息(例如,如果未通过 DHCP 配置网络):
instance-id: vco01 local-hostname: vco-01 network-interfaces: | auto eth0 iface eth0 inet static address 10.0.1.2 network 10.0.1.0 netmask 255.255.255.0 broadcast 10.0.1.255 gateway 10.0.1.1
创建 cloud-init 用户数据文件
第二个安装配置选项文件是用户数据文件。此文件提供有关系统上的用户的信息。可使用文本编辑器创建此文件,并将其命名为 user-data。将使用该文件以启用对 SASE Orchestrator 安装的访问。 以下是 user-data 文件内容的示例:
#cloud-config password: Velocloud123 chpasswd: {expire: False} ssh_pwauth: True ssh_authorized_keys: - ssh-rsa AAA...SDvz [email protected] - ssh-rsa AAB...QTuo [email protected] vco: super_users: list: | [email protected]:password1 remove_default_users: True system_properties: list: | mail.smtp.port:34 mail.smtp.host:smtp.yourdomain.com service.maxmind.enable:True service.maxmind.license:todo_license service.maxmind.userid:todo_user service.twilio.phoneNumber:222123123 network.public.address:222123123 write_files: - path: /etc/nginx/velocloud/ssl/server.crt permissions: '0644' content: "-----BEGIN CERTIFICATE-----\nMI….ow==\n-----END CERTIFICATE-----\n" - path: /etc/nginx/velocloud/ssl/server.key permissions: '0600' content: "-----BEGIN RSA PRIVATE KEY-----\nMII...D/JQ==\n-----END RSA PRIVATE KEY-----\n" - path: /etc/nginx/velocloud/ssl/velocloudCA.crt
password
和
chpasswd
行启用。
password
中包含供 vcadmin 用户使用的纯文本密码。chpasswd
行可关闭密码过期,以防止首次登录时立即提示更改密码。这是可选的。
ssh_pwauth
行可启用 SSH 登录。ssh_authorized_keys
行的开头是由一个或多个授权密钥组成的块。ssh-rsa
行中列出的每个 SSH 公钥都将添加到 vcadmin ~/.ssh/authorized_keys 文件中。
在此示例中,列出了两个密钥。对于此示例,密钥已被截断。在实际的文件中,必须列出完整的公钥。请注意,ssh-rsa
行前面必须有两个空格,两个空格之后跟有一个连字符,连字符之后再跟有一个空格。
vco
部分指定配置的 SASE Orchestrator 服务。
super_users
包含 VMware 超级操作员帐户和相应密码的列表。
system_properties
部分允许自定义 Orchestrator 系统属性。有关配置系统属性的详细信息,请参阅“系统属性”。
write_files
部分允许替换系统上的文件。默认情况下,
SASE Orchestrator Web 服务配置了自签名 SSL 证书。如果您希望提供不同的 SSL 证书,上述示例可将
/etc/nginx/velocloud/ssl/ 文件夹中的
server.crt 和
server.key 文件替换为用户提供的文件。
创建 ISO 文件
完成上述文件后,需要将这些文件打包到一个 ISO 映像中。此 ISO 映像用作虚拟机的虚拟配置 CD。此 ISO 映像(名为 vco01-cidata.iso)是在 Linux 系统上使用以下命令创建的:
genisoimage -output vco01-cidata.iso -volid cidata -joliet -rock user-data meta-data
将新创建的 ISO 映像传输到运行 VMware 的主机上的数据存储。