filviu.hetzner_installimage
Ansible角色:Hetzner Installimage
设置一个选择的操作系统和可选的全盘加密的Hetzner专用服务器。
警告
服务器上的所有数据将被清除。
需求
- 知道服务器的IP地址。
- 服务器必须重启到救援模式。如果是新服务器,则需选择救援模式。
- 在订购或激活救援模式时,请确保选择所有希望能够登录到启动环境的密钥,以输入加密密码。
角色变量
请参见 defaults/main.yml
:
hetzner_installimage_cryptpassword: "password"
hetzner_installimage_disks:
- "/dev/nvme0n1"
- "/dev/nvme1n1"
# 创建EFI分区
# 新机器如EX-53似乎需要它
hetzner_installimage_esp: true
hetzner_installimage_swraid: 1
hetzner_installimage_swraidlevel: 1
hetzner_installimage_hostname: "custom"
hetzner_installimage_image: "/root/images/Debian-1010-buster-64-minimal.tar.gz"
# 允许登录到BusyBox环境以输入加密密码和启动服务器的公钥列表
# 如果未定义,将使用启用救援环境时使用的密钥(或如果是新机器时的订购密钥)
#
#hetzner_installimage_sshkeys:
# - "key1"
示例剧本
# hetzner-installimage.yml
---
- hosts: all
roles:
- role: filviu.hetzner_installimage
hetzner_installimage_image: "/root/images/Debian-1010-buster-64-minimal.tar.gz"
如果您对默认设置满意,或者将其添加到您的剧本 hetzner-installimage.yml
中,您可以运行以下命令:
ansible-playbook -i "1.2.3.4," -u root -e "hetzner_installimage_cryptpassword=MY_SECURE_PASS" hetzner-installimage.yml
以避免存储您的加密密码(清除bash历史记录)并将机器添加到您的清单中。您也可以将密码加密在剧本中添加。
如果您很少需要设置带有SATA磁盘而非NVMe(默认)的机器,可以在命令行中覆盖磁盘列表,而不是创建单独的剧本:
ansible-playbook -i "1.2.3.4," -u root -e "hetzner_installimage_cryptpassword=MY_SECURE_PASS" -e '{"hetzner_installimage_disks":["/dev/sda","/dev/sdb"]}' hetzner-installimage.yml
注意事项
- 确保您知道如何在重启后解锁服务器(即,您不能在最小环境中启用私有VLAN,您需要从Hetzner机器人防火墙允许端口22 ssh到公共接口等)。
- 您无需将服务器添加到您的Ansible清单中。
- 您要么定义ssh密钥变量,要么将其注释掉。如果您定义了它而且它是空的,角色将失败或您将无法登录以启动服务器。
- 不提供逐步指导! 确保您存储密码、使用正确的SSH密钥,并且服务器已启动到救援模式且不包含任何您需要的数据。
- 仅在Debian 10和11上测试。也应该适用于Ubuntu。
- Debian 10不支持ED25519密钥!
许可证
MIT / BSD
作者信息
该角色由Silviu Vulcan创建,以满足自己的需求。
安装
ansible-galaxy install filviu.hetzner_installimage
许可证
Unknown
下载
17.2k
拥有者
Sysadmin / DevOPS engineer. Probably doing devops before it was fashionable to be named that.