|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
创建VMware vSphere虚拟机模板
要求
Linux和Windows虚拟机都需要特定的工具才能被vSphere节点驱动程序使用。最关键的依赖项是 cloud-init用于Linux和 cloudbase-init用于Windows。这两者都用于为虚拟机配置主机名、设置SSH访问权限以及指定默认的Rancher用户。如果需要其他配置,用户可以根据需要添加更多内容。此外,下面列出了其他要求以供参考。
|
如果您有任何特定的防火墙规则或配置,您需要在创建模板之前将其添加到虚拟机中。 |
Linux依赖项
需要在模板上安装的软件包列在下面。这些软件包的名称可能会根据发行版略有不同;例如,一些发行版默认提供这些依赖项。集群提供程序将自动安装Kubernetes所需的依赖项。下面列出的依赖项是Rancher集群提供程序正常运行所需的(不是Kubernetes所需的):
-
curl
-
wget
-
git
-
net-tools
-
解压缩
-
apparmor-parser
-
ca-certificates
-
cloud-init
-
cloud-guest-utils
-
cloud-image-utils
-
growpart(cloud-guest-utils的一部分)
-
cloud-initramfs-growroot
-
open-iscsi
-
openssh-server
准备您的虚拟机
在创建了所有必需的依赖项(以及任何其他所需项)后,您必须执行下一步最关键的步骤:准备虚拟机以便将其转换为模板。此准备将重置关键数据,例如虚拟机主机名、IP地址等,以防止这些信息被带入新的虚拟机。如果您未能执行此步骤,可能会创建一个具有相同主机名、IP地址等的虚拟机。
请注意,这些准备步骤在 Linux 和 Windows 之间有所不同。
Linux 准备
以下命令将重置您的 Linux 虚拟机:
# Cleaning logs.
if [ -f /var/log/audit/audit.log ]; then
cat /dev/null > /var/log/audit/audit.log
fi
if [ -f /var/log/wtmp ]; then
cat /dev/null > /var/log/wtmp
fi
if [ -f /var/log/lastlog ]; then
cat /dev/null > /var/log/lastlog
fi
# Cleaning udev rules.
if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then
rm /etc/udev/rules.d/70-persistent-net.rules
fi
# Cleaning the /tmp directories
rm -rf /tmp/*
rm -rf /var/tmp/*
# Cleaning the SSH host keys
rm -f /etc/ssh/ssh_host_*
# Cleaning the machine-id
truncate -s 0 /etc/machine-id
rm /var/lib/dbus/machine-id
ln -s /etc/machine-id /var/lib/dbus/machine-id
# Cleaning the shell history
unset HISTFILE
history -cw
echo > ~/.bash_history
rm -fr /root/.bash_history
# Truncating hostname, hosts, resolv.conf and setting hostname to localhost
truncate -s 0 /etc/{hostname,hosts,resolv.conf}
hostnamectl set-hostname localhost
# Clean cloud-init
cloud-init clean -s -l
Windows 准备
Windows 有一个名为 sysprep 的工具,用于将映像通用化并重置与 Linux 相同的项目。命令如下:
sysprep.exe /generalize /shutdown /oobe