为了测试K8S,需要搭建一个测试集群,由于公司不能使用破解软件,所以使用VirtualBox进行搭建
需求
- 构建一个集群
- 虚拟机可以访问外网
- 虚拟机之间可以互动
环境
- host主机:Mac Book Pro
- 虚拟机:VirtualBox 6
- 虚拟系统:CentOS 7.6 minimal
操作步骤
安装VirtualBox
- 从 VirtualBox官网 下载安装包
- 双击进行安装
- 设置安全策略,运行VirtualBox的权限
创建虚拟机
这里就不在赘述(我创建的第一个虚拟机是CentOS1,网络使用NAT模式)
开启CentOS7.6自动获取IP
由于CentOS7.6默认没有开启自动获取IP,需要开启。查看网络情况
ip addr
开启自动获取IP
nmcli connection modify enp0s3 connection.autoconnect
nmcli connection modify enp0s8 connection.autoconnect
运行CentOS7.6,安装必要软件
安装net-tools, tcpdump等网络工具,后边步骤会用到
复制多虚拟机
- 在创建一个虚拟机:CentOS2
- 进入虚拟机目录找到虚拟机配置文件CentOS1.vbox,我这里虚拟机名称“CentOS1”的磁盘uuid是
<HardDisk uuid="{377880bb-c211-4cd2-9e6c-39adb89e02a4}" location="CentOS1.vdi" format="VDI" type="Normal"/>
- 备份CentOS2.vdi
mv CentOS2.vdi CentOS2_back.vdi
- copy第一个虚拟机的CentOS1.vdi到第二个虚拟机目录
cp ../CentOS1/CentOS1.vid CentOS2.vdi
- 修改coapy过来的文件uuid
VBoxManage internalcommands sethduuid CentOS2.vdi 377880bb-c211-4cd2-9e6c-39adb89e02a4
设置网络
由于VirtualBox的网络类型不同,为了达到需求,需要使用NAT和Host-only
- 参考地址: VirtualBox中网络环境设置
开启Host-only网络
- 设置Host-only网络。由于VirtualBox默认没有host-only,需要设置
- 添加网络配置。
修改虚拟机网络配置
运行效果
- 可以看到有两个网卡,enp0s3(NAT网卡)和enp0s8(host-only网卡)。这样就可以达到我们的需求了
疑问
为什么enp0s3的ip相同
这里有解释 地址
还有其他方式吗
有使用桥连方式,但是网络效果不好,ssh连上要1分钟
参考资料
- https://my.oschina.net/zhangyangyang/blog/806621
- https://www.cnblogs.com/stevenluo/p/4231864.html
- https://blog.csdn.net/hzhsan/article/details/45224371
- https://blog.newnius.com/virtualbox-build-cluster.html
- https://segmentfault.com/q/1010000012002092