关键词:virtualbox, 设置, 网络环境

virtualbox 安装好后一些设置问题

引用片段参考

使用 virtualBox 创建三台虚拟机 virtualBox 安装比较简单,不再介绍,GUI 工具用起来也很方便,这部分只介绍我认为需要提示的部分。

内存推荐 2048M, CPU 推荐 2个 默认只有一个 NAT 适配器,添加一个 Host-Only Adapter。NAT 适配器是虚拟机用来访问互联网的,Host-Only 适配器是用来虚拟机之间通信的。 以 Normal Start 方式启动虚拟机安装完系统以后,因为是 server 版镜像,所以没有图形界面,直接使用用户名密码登录即可。 修改配置,enp0s8 使用静态 IP。配置请参考 SSH between Mac OS X host and Virtual Box guest。注意配置时将其中的网络接口名改成你自己的 Host-Only Adapter 对应的接口。 一台虚拟机创建完成以后可以使用 clone 方法复制出两台节点出来,注意 clone 时为新机器的网卡重新初始化 MAC 地址。 三台虚拟机的静态 IP 都配置好以后就可以使用 ssh 在本地主机的终端上操作三台虚机了。虚机使用 Headless Start 模式启动

执行引用片段时遇到的网络问题

如何设置 VirtualBox Host-Only Network 左上角 全局工具->主机网络管理器->创建, 首先我们创建一个新的网卡

名字是 vboxnet0,我门执行一下 ifconfig 看看当前配置之后的情况:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
fupeng@fupeng:~/.ssh$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:b7:9a:ed:3c  txqueuelen 0  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp4s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 04:d4:c4:03:a5:cf  txqueuelen 1000  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 6655054  bytes 12615158614 (12.6 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6655054  bytes 12615158614 (12.6 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.1  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::800:27ff:fe00:0  prefixlen 64  scopeid 0x20<link>
        ether 0a:00:27:00:00:00  txqueuelen 1000  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 411  bytes 62263 (62.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx081f711ba57d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.110  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::4b08:499c:70e7:ca2d  prefixlen 64  scopeid 0x20<link>
        ether 08:1f:71:1b:a5:7d  txqueuelen 1000  (以太网)
        RX packets 5456280  bytes 16796059488 (16.7 GB)
        RX errors 0  dropped 147  overruns 0  frame 0
        TX packets 3492157  bytes 11421493913 (11.4 GB)
        TX errors 0  dropped 2 overruns 0  carrier 0  collisions 0

我们看到 vboxnet0 已经在这里了。

此时,我们新建一些虚拟机给 k8s 用,新建的时候,注意一些配置问题

  • 内存 2048,核心 2
  • 配置 host-only adapter 地址
  • SSH 配置好后,选择 headless start 模式启动

我们登陆一台机器之后,首先安装上 openssh-server, 然后开始设置固定 IP, 操作

/etc/netplan 目录下新建 02-netcfg.yaml 文件:

1
2
3
4
5
6
7
8
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s8:  # `ip address` will show three adapter: lo, enp0s3, enp0s8. enp0s3 is the NAT adapter with ip 10.0.2.15/24(maybe different on your vm), so enp0s8 is the host-only adapter
      addresses:
              - 192.168.56.200/24       #you can change this static ip by yourself, 注意这里的地址要和你在 virtualbox 里配置的 192.168.56.1 子网掩码对应的部分要一致, 比如这里就应该是 192.168.56.*
      dhcp4: no

然后执行如下命令让他们生效,然后就可以在宿主机上直接 ssh 连接到固定好 IP 的这几台机器了。

1
2
$ sudo netplan generate
$ sudo netplan apply