在VMware EXSI中, 如果物理网卡远小于虚拟机的数量, 虚拟机上网将会是一件麻烦的事.

本文将介绍如何在EXSI中设置端口组和VSwitch, 并配置Windows server 2016 当做软路由(其实用openWrt更简洁, 但是我所处的校园网环境必须要浏览器GUI登录认证, 不得不选winserver了)

本次网络环境搭建是为后续K8S集群做准备
网络拓扑如下

1
2
flowchart TB
Master & Node1 & Node2 --- vs2([VSwitch2]) --- Windows_server --- vs1([VSwitch1]) --- 外网

EXSi设置

1. 设置EXSi的虚拟交换机

img

如图, 左边网络栏进去, 点击虚拟交换机, 然后添加标准虚拟交换机
这里需要设置两个

  • 一个是连接物理网卡的VSwitch1, 用于winserver连接外网
  • 一个是没有物理网卡的VSwitch2, 用于winserver连接集群的内网

2. 设置EXSi的端口组

网络页面左上角

  • 新建1个局域网端口组ports1, 绑定VSwitch1, 即外网的交换机
  • 再新建1个端口组ports2, 绑定VSwitch2. 即内网交换机
img
  • 把winserver的适配器加入ports1
  • 把3台Ubuntu和winserver的适配器(如果只有1个适配器,则再新建一个)加入ports2

如图
我的VM network是可以连接外网的端口组(即有物理网卡)
k8s_ports2是内网端口组

img

搭建winserver软路由

把winserver传到EXSi并且安装之后

1. 设置winserver接入局域网的网卡的IP

如下, 我设置192.168.111.1(可以自定义), 是win的局域网网卡(即k8s_ports2端口组)的IP, 作为Ubuntu的网关

img

2. 开启winserver的NAT和路由和DHCP服务

如下图,右上角管理,添加服务器角色,一路默认,到如下的时候,选择DHCP/DNS/路由/VPN这几个
然后继续一路默认安装

img

3. 设置dhcp

在这之前,确保三台Ubuntu都开启了动态获取IP,即DHCP客户端服务

img

然后在winserver的服务器设置, 右上角–>工具–>DHCP设置
点击新建作用域

img

然后自行设置IP范围(局域网IP范围), 例如我设置的是192.168.111.10-192.168.111.254

img

网关填之前winserver接入局域网的网卡的IP, 也就是Ubuntu的网关是winserver
我的是192.168.111.1

其余的自己看着办即可
此时,Ubuntu们应该已经获得了动态IP,如下,我的node1获得了.11的IP

img
img

4. 开启NAT服务

winserver设置的右上角–>工具–>路由和远程访问
NAT右键新增接口, 选择外网的网卡(我的是eth0,已经配置好了)

img
img

设置完成后,应该就可以看到Ubuntu的IP已经在NAT表内了

img

5. 完成

最后, 由于我的是校园网, 所以使用winserver登录校园网即可
之后Ubuntu们就可以通过winserver上网了

img