在公有云中部署 SUSE Linux Micro
- 内容
本文详细介绍了适合在公有云中部署的 SUSE Linux Micro 映像。除此之外,本文还提供了有关创建系统新用户的信息。
- 原因
您想要了解适用于公有云的 SUSE Linux Micro 映像的具体信息。
- 工作量
读完本文最多需要 10 分钟。
1 关于公有云中的 SUSE Linux Micro #
SUSE Linux Micro 是轻量且安全的操作系统,可以部署到多个供应商(例如 AWS、Microsoft Azure、Google Cloud)的云中。
Public Cloud Guide 中提供了有关公有云映像的一般信息。在该网页中,您可以找到订阅计划、映像生命周期、支持相关的信息等。
SUSE Linux Micro 会创建自身的内部快照,这些快照与磁盘的外部快照无关,也不会干扰这些外部快照。可以使用云框架工具来创建外部快照,以用于备份或创建新映像。有关 SUSE Linux Micro 快照的细节,请参见 SUSE Linux Micro snapshotting。
2 将 SUSE Linux Micro 映像部署到公有云 #
2.1 必需和建议的磁盘大小 #
根卷设置为云供应商指定的大小,例如,AWS 和 GCE 将此大小指定为 10 GB,Azure 将其指定为 30 GB。
对于 SUSE Linux Micro,建议的大小为 12 GB。但是,具体大小取决于要运行的工作负载数量和大小。
大部分情况下,每次更改根文件系统,就会创建新的快照。请记住,这些快照也会占用一定的空间,即使是空间效率较高的 Btrfs 快照,也是如此。
根卷会随着您更改基础磁盘的大小而自动增长。当磁盘空间不足时,您始终可以停止实例并增大系统磁盘的大小,只要不超过每个云框架中单个磁盘大小的限制即可。
2.2 将 SUSE Linux Micro 映像部署到公有云中 #
以下过程汇总了 SUSE Linux Micro 映像的部署和部署后任务。
将映像部署到公有云。具体过程根据云供应商的不同而异。有关细节,请参见特定的文档。
映像附带了可能不适合您的需求的默认初始配置。例如,您希望在默认用户级别之上添加另一个用户。要更改此配置,请按照第 2.2.1 节 “修改默认配置”中所述进行操作。
按照第 2.2.2 节 “注册”中所述注册系统。
您可以从运行中的系统创建不同的用户。有关操作过程,请参见第 2.3 节 “使用
useradd
命令添加用户”。
2.2.1 修改默认配置 #
默认配置存储在属于只读文件系统的 /usr/lib/ignition/base.d/base.ign
中。因此,不允许直接对此文件进行更改。要修改此文件,请执行以下步骤:
去除标志文件
/boot/writable/firstboot_happened
。运行以下命令:
#
transactional-update shell
根据需要编辑
/usr/lib/ignition/base.d/base.ign
文件。在此处,您还可以添加其他系统用户、将系统重新分区,等等。在下次引导期间,Ignition 将读取该文件。Ignition 根据该文件中的指令重配置系统。有关 Ignition 配置的细节,请参见 Ignition configuration examples。
输入
exit
退出transactional-update
外壳。当 Ignition 在
initramfs
中运行时,您需要运行以下命令来重构建该工具:#
transactional-update initrd
要使用云框架提供的 SSH 密钥为新建的用户授予访问权限,请确保已启动以下
systemd
服务:#
systemctl start afterburn-sshkeys@USER_NAME
重新启动系统。
请记住,将为默认用户 suse 设置用于启动 SUSE Linux Micro 实例的、使用实例元数据服务传递的 SSH 密钥。
2.2.2 注册 #
部署映像后,需要注册系统。在较新的映像中,可以使用 registercloudguest
命令注册系统。有关细节,请参见 Public
Cloud Guide。
或者,可以按照 SUSE Linux Micro registration 中所述注册系统。
2.2.3 用于在公有云中初始化 SUSE Linux Micro 的工具 #
SUSE Linux Micro 映像使用首次引导时运行的工具。这些工具(Ignition 或 Combustion)根据提供的一组指令配置系统。但是,在用于公有云部署的 SUSE Linux Micro 映像中,默认只会提供 Ignition。也就是说,您也可以使用 Combustion,但需要按照第 2.2.3.1 节 “在公有云部署中使用 Combustion”中所述继续操作。此外,在公有云中部署 SUSE Linux Micro 时,还会使用 Afterburn。
在默认的 Ignition 配置中,Ignition 将负责创建默认用户:suse
。Ignition 与云提供商的实例元数据服务交互的目的只是为了获取所谓的用户数据。不会从此元数据服务分析其他数据,例如 Azure 中指定的用户,或 GCE 中的 SSH 密钥。
Afterburn 使用实例元数据服务 (IMDS) 将 SSH 密钥写入 suse
主目录。要从 IMDS 传输 SSH 密钥,需使用 afterburn-sshkeys@suse
。该服务由 systemd
自动启动。
Ignition 仅在首次引导时运行。为了将首次引导与后续引导区分开来,将创建标志文件 /boot/writable/firstboot_happened
。每当您要再次触发 Ignition 时,都需要去除此文件。
默认的 Ignition 配置存储在配置文件 /usr/lib/ignition/base.d/base.ign
中。可以修改此文件以执行配置更改。有关细节,请参见第 2.2.1 节 “修改默认配置”。
2.2.3.1 在公有云部署中使用 Combustion #
要使用 Combustion 配置实例,需要在云框架中单独创建一个磁盘。该磁盘必须采用所需的目录结构,如 here 中所述。然后,需要创建一个挂接了此配置磁盘的实例。如果需要使用 Combustion 才能集成到您的环境,您可以使用 keg 和 keg-recipes 构建自己的映像。keg-recipes 项目包含由 SUSE 用来构建我们所要发布的映像的映像说明。有关细节,请参见keg-recipes。
2.3 使用 useradd
命令添加用户 #
可以使用 useradd
命令将用户添加到已运行的系统。但是,由于 SUSE Linux Micro 基于 Btrfs,/home
目录将作为子卷进行挂载。因此,必须相应地使用 useradd
命令。
要添加没有 sudo
特权的普通用户,请如下所述进行操作:
如下所示运行
useradd
命令:#
useradd --btrfs-subvolume-home --create-home USER_NAME
--btrfs-subvolume-home
选项表示将/home
目录作为子卷进行挂载。--create-home
选项在特定子卷下创建/home
。如果省略这些选项,则不会为特定用户创建/home
目录。为新用户设置口令:
#
passwd USER_NAME
要为新用户授予 sudo
特权,请将该用户添加到 wheel
组:
#
usermod -aG wheel USER_NAME
3 法律声明 #
版权所有 © 2006–2025 SUSE LLC 和贡献者。保留所有权利。
根据 GNU 自由文档许可证 (GNU Free Documentation License) 版本 1.2 或(根据您的选择)版本 1.3 中的条款,在此授予您复制、分发和/或修改本文档的权限;本版权声明和许可证附带不可变部分。许可版本 1.2 的副本包含在题为“GNU Free Documentation License”的部分。
有关 SUSE 商标,请参见 https://www.suse.com/company/legal/。所有其他第三方商标分别为相应所有者的财产。商标符号(®、™ 等)代表 SUSE 及其关联公司的商标。星号 (*) 代表第三方商标。
本指南力求涵盖所有细节,但这不能确保本指南准确无误。SUSE LLC 及其关联公司、作者和译者对于可能出现的错误或由此造成的后果皆不承担责任。