1. 目的:
新入手了一台小主机(8核 / Intel(R) Xeon(R) W-10885M CPU @ 2.40GHz 2.40 GHz, 16vCpu / 64G RAM / 系统类型 64 位操作系统, 基于 x64 的处理器),原装了一套Win11专业版,打算用VirtualBox 虚拟一个集群。
2. 规划:
- 建立 1 master + 2 wokers 的三节点集群网络
- 单虚拟机采用双网卡,卡enp0s3作为网桥与外界连接使用,卡enp0s8作为NAT内网互访使用
这样的 好处是外界可以访问各个虚拟机,也可在私网内组团使用。
主机名 | 系统 | 网卡enp0s3 (网桥) IP | 网卡enp0s8 (NAT)IP | 备注 |
twdev0-k8s-master1 | ubuntu-22.04.2-live-server-amd64.iso | 172.16.20.215 | 10.0.2.1 | |
twdev0-k8s-worker1 | ... | 172.16.20.219 | 10.0.2.2 | |
twdev0-k8s-worker2 | ... | 172.16.20.218 | 10.0.2.3 |
3. 实践步骤:
3.1 设置NAT
Virtual Box => 管理 =》工具 =》网络管理器 添加 NetNetwork,记下网络掩码
3.2 安装虚拟机
安装 twdev0-k8s-master1
选择镜像,启动安装,安装完毕关闭,打开设置网络网卡:
重启虚拟机,用hostnamectl设置主机名,激活第二张网卡,编辑 /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses: [10.0.2.1/24]
version: 2
关闭虚拟机,待用。
安装twdev0-k8s-worker1,twdev0-k8s-workerX ...
从twdev0-k8s-master1复制,修改名称,网络网卡做上述同样设置,然后终端登录
重要一步,修改该机的machine-id,避免启动后出现相同ip的情况:
cp -f /dev/null /etc/machine-id && systemd-machine-id-setup
解释
/etc/machine-id 文件包含一个 在安装操作系统时生成的、专属于本系统的、独一无二的"machine ID"。 "machine ID"是一个32字符长度的十六进制小写字母字符串, 并以换行符结尾, 其本质是一个128位二进制整数的16进制表示。"machine ID"通常在系统安装时从一个随机数源生成, 并且之后无论经过多少次开关机,也一直保持不变。 另一方面,对于无状态系统,如果此文件为空, 将在系统启动的早期自动随机生成一个。
Ubuntu 网络组件使用 systemd-networkd。systemd-networkd 默认使用 /etc/machine-id 来识别,当虚拟机克隆的时候,他们都有一样的 /etc/machine-id 和 DHCP server,因此返回的都是同一个 ip 了。
激活网卡enp0s8,设置地址为 [10.0.2.2/24]
好了,所有机器设置好重启,结果如下:
4.参考:
- https://blog.csdn.net/qq_32779119/article/details/128734720
- Ubuntu22.04 VirtualBox_ubuntu virtualbox_endswel的博客-CSDN博客