作者:Akide Liu behalf of LLYCLOUD ITSC
首发地址:
手把手教程 -- 在NSX-T 3.0 VDS上部署vSphere 7 with kubernetes和Tanzu群集vmv.re在NSX-T 3.0 VDS上安装带有Kubernetes的Tanzu vSphere 7
第1部分:概述,设计,网络拓扑,使用的硬件
{% note success %}
欢迎关注LLYCLOUD VCTSC,好文不断
资源下载
{% endnote %}
##VMware 资源大全下载
开始:
将会有很多人通过Kubernetes撰写有关vSphere 7的博客,可能会想为什么我要这么做。因此,对于我的博客,希望我将提供以下更多详细信息
- 网络需求。我确定许多VMware同事,客户,合作伙伴将进行评估,并且并不是每个人都熟悉网络,因此希望该博客可以使与网络柜台部分进行有意义的讨论,或者只是让自己了解什么是网络。网络组件或所需的路由。例如,将需要多少个物理NIC?如果是POC环境,我可以使用单个NIC吗?答案是肯定的,并且这样做有些复杂,我将解释为此需要做些什么。
- vCenter或NSX-T Managers VM位置。通常,对于生产设计,我们建议将vCenter和NSX-T Manager放在单独的管理群集中。对于基于VVD的VMware验证设计(VVD)和VMware Cloud Foundation(VCF),建议使用此功能。只是为了在此分享一些背景知识,在Project Pacific Beta(Project Pacific是vSphere之前具有Kubernetes的vSphere的项目名称)中,要求将vCenter放置在群集中,这将对其进行管理。与VVD不同的设计。因此,在此安装中,我还要使用此GA版本进行测试,可以在该版本中在其管理的群集之外运行Compute vCenter。
- 没有NVDS,仅vSphere VDS设计。对于许多在3.0之前使用过NSX-T的人,必须创建NVDS才能使用NSX-T。NVDS要求带来了一些挑战,例如,额外的NIC卡,因此还有额外的网络端口,vmnic上行链路配置的分配和分配。在NSX-T 3.0和vSphere 7.0中,VDS支持NSX-T。我还将利用此安装来测试此功能。这无疑将简化设置,并进一步推动物理NIC的需求。
组件:
- 计算– vSphere 7.x(vCenter Server + ESXi)和Enterprise Plus许可证
- 存储– VSAN或NFS或其他vSphere数据存储
- 网络与安全性– NSX-T 3.x
软件下载:
这是在NSX-T 3.0上使用Kubernetes部署Tanzu vSphere 7所需下载的软件的完整列表。
软件
下载网址
ESXi vCenter
https://my.vmware.com/group/vmware/details?downloadGroup=ESXI700&productId=974&rPId=45736 VMware-VMvisor-Installer-7.0.0-15843807.x86_64.iso(350.29MB)https://my.vmware.com/group/vmware/details?downloadGroup=VC700&productId=974&rPId=45736 VMware-VCSA-all-7.0.0-15952498.iso(6.42GB)
NSX-T
https://my.vmware.com/group/vmware/details?downloadGroup=NSX-T-300&productId=982&rPId=45439 nsx-unified-appliance-3.0.0.0.0.15946739.ova(11.03GB)
实验环境:
对于我的实验室,我将主要使用三个物理主机作为计算群集。该群集将容纳Supervisor群集VM,Tanzu Kubernetes网格(TKG)群集以及NSX-T Edge VM。
我还将拥有另一个由管理vCenter管理的vSphere 6.7群集。该管理群集将容纳vSphere 7.0 vCenter(也称为计算vCenter)以及NSX-T Manager群集。
Management Cluster – Compute/Storage**
**
VM
CPU
MEM
DISK
Compute Cluster vCenter (based on Small)
4
20GB
48GB
NSX-T Manager x 3
6
24GB
300GB
Compute Cluster – Compute/Storage
VM
CPU
MEM
DISK
NSX-T Edge VMs (mininum Large) x 2
8
32GB
200GB
Supervisor Cluster VMs (based on Tiny)
2
8GB
22GB
Guest Clusters (based on x-small) x 3
2
2GB
16GB
联网
在工作负载管理中定义,将在NSX-T中实现。
- Pod CIDR(默认– 10.244.0.0/21)–该网络用于Kubernetes Pod。每个名称空间或每个TKG群集将进一步细分为/ 28个细分。这是一个内部地址池,不需要从物理路由器进行路由。
- 服务CIDR(默认10.96.0.0/24)-创建Kubernetes服务时将使用此网络池。这是一个内部地址池,不需要从物理路由器进行路由。
- 入口CIDR(10.30.10.0/24)–此网络池将提供地址,用于在应用程序部署中需要负载平衡服务的时间。例如,将为Supervisor群集的控制平面IP地址分配一个NSX-T负载平衡器VIP。
- 出口CIDR (10.30.20.0/24)–当Pod需要在NSX-T环境之外进行通信(例如访问Internet)时,将使用此网络池。例如,当Pod访问Internet时,会将一个IP分配给T0路由器作为源NAT(SNAT)源地址。**入口和出口CIDR网络都需要在下一跳的物理路由器上路由到T0。
这是我计划在NSX-T 3.0部署中使用Kubernetes的Tanzu vSphere 7 的逻辑网络图:
在的物理或虚拟网络基础架构中定义
- 管理网络 (VLAN 115 – 10.115.1.0/24)–管理VM所在的位置,例如NSX-T Manager和vCenter。
- ESXi管理网络 (VLAN 116 – 10.116.1.0/24)–这是ESXi vmkernel接口所在的位置。实际上,这不是实验室/ POC设置真正需要的,但这是我个人的喜好,因为通常在针对客户环境进行设计的情况下。
- vMotion网络 (VLAN 117 – 10.117.1.0/24)–这是ESXi vMotion vmkernel接口所在的位置。
- 传输网络 (VLAN 197 – 10.197.1.0/24)–需要该网络在我们的管理网络之间通过NSX-T T0路由器与Kubernetes集群管理网络以及Kubernetes Workload网络之间进行路由。只需要两个IP,一个用于默认应存在的网关,一个用于驻留在T0上的上行链路。静态路由将用于到达NSX-T网络。在生产或非实验室环境中,将使用BGP将T0对等到的物理网络
- Internet网络 –能够访问Internet的IP地址。对于我的实验室,我设置了一个pfsense路由器,该路由器将基本上对NSX-T中的网络进行NAT,例如管理,ESXi管理网络。我还添加了整个入口/出口范围– 10.30.0.0/16作为SNAT,因此我的TKG群集也将可以访问Internet。
- 用于边缘VM的NSX-T Geneve覆盖网络(VLAN 114 – 10.114.1.0/24)–边缘VM中运行的Geneve覆盖隧道终结点接口将使用此网络。可能会想到为什么需要专门针对Edge VM的第二个网络。原因是因为我们仅使用1个物理NIC,因此为了“强制”从Edge VM传出的Geneve TEP流量通过物理NIC,因为与ESXi主机Geneve TEP接口通信时,该流量需要路由。
- ESXi主机的NSX-T Geneve覆盖网络(VLAN 120-10.120.1.0 / 24)– ESXi主机(即vmk10)上的Geneve覆盖隧道端点vmkernel接口将使用此网络。
这是我计划在NSX-T 3.0部署中使用Kubernetes的Tanzu vSphere 7 的物理网络图:
第2部分:ESXi,vCenter,VDS Config和NSX-T Manager
步骤1 –在主机上安装ESXi 7.0。
对我来说,我发现将iso文件放在NAS上然后将其安装在Supermicro IPMI的虚拟CD-ROM功能上非常方便。与创建可启动USB相比,这要容易得多。
使用Supermicro远程控制iKVM / HTML5客户端安装ESXi。
在主机启动过程中选择虚拟CDROM。
尽管我已经安装了ESXi 7.0的beta版,但是我可以选择升级选项。我在Beta测试期间确实通过此方法成功升级,并节省了每次配置IP地址,主机名等的时间。由于此安装将在GA版本上进行,因此我认为值得进行全新安装。因此,我选择将覆盖的“安装”选项。很有可能,本文的大多数读者在进行POC时都可能会选择全新的安装选项。
vSphere ESXi7.0已成功安装。我基本上对其余的ESXi主机重复上述步骤。
我基本上会跳过解释为主机名,IP地址,VLAN配置ESXi主机并启用SSH进行故障排除的步骤,这几乎完全可以说明。我确实记录了该过程,并且可能会放一段视频来显示该过程。
步骤2 –安装vCenter Appliance。
我通常更喜欢使用CLI和ovftool安装vCenter。当我使用Windows Server Jumphost时,我所做的只是将vCenter ISO挂载为CDROM驱动器,我几乎直接从Jumphost触发了安装脚本。
可以在vCenter Install ISO中找到CLI安装脚本。
我使用了Embedded_vCSA_on_VC.json。
安装-vCenter02.bat文件:-
E:vcsa-cli-installerwin32vcsa-deploy.exe install Z:ScriptsSUN05-vcenter02-embedded_vCSA_on_ESXi.json –accept-eula –no-ssl-certificate-verification
这样就完成了vCenter的安装。
步骤3 –配置虚拟DC,群集,将主机添加到群集以及创建VDS。
同样,我通常通过脚本配置上述项目,并使用PowerCLI。可以考虑使用其他自动化工具,例如Ansible或Terraform。
将所有主机都添加到群集后的样子。
接下来是在vSphere群集上启用DRS和vSphere HA。在启用带有Kubernetes的vSphere时(特别是调用Workload Management),将进行检查。
我还使用PowerCLI创建了VDS和端口组。尽管创建了两个VDS,但将仅使用一个VDS。在此将使用SUN05-VDS01-Mgmt VDS。
运行PowerCLI脚本后,现在可以看到在vCenter上创建了VDS和相关的端口组。
在VDS交换器上编辑设置,将上行链路数量更改为2,然后启用NIOC。
将主机添加到VDS并配置上行链路。右键单击SUN05-VDS01-Mgmt,单击“添加和管理主机”。
选择添加主机
选择所有新主机
单击vSwitch0当前使用的NIC上的分配上行链路。
分配给上行链路1。由于我所有的主机vmincs都是同一个,因此一种方便的方法是将此配置应用于所有主机,就是单击“将此上行链路分配应用于其余主机”。
查看配置…
我们还将把管理vmkernels接口也从标准vSwitch(vSwitch0)迁移到VDS。
选择VDS端口组,在本例中为VDS01-VLAN116-Mgmt,其VLAN标签ID为116。
再次查看设置...
下面显示了从标准交换机的vmnic迁移以及管理vmkernels均已成功迁移。
接下来,再次使用PowerCLI添加所有其余的VMkernels接口,例如vMotion,IP Storage,vSAN等。
下面显示了所有已成功创建的vmkernel。
让我们尝试启用工作负载管理。
工作负载管理向导在检查是否具有相关的先决条件以便启用它方面做得很好。现在可以看到,在继续进行之前,需要先安装NSX-T。
步骤4 –安装NSX-T Manager。
我通常也更喜欢使用CLI和ovftool安装NSX-T Manager。
安装nsxtmanager02.bat文件:-
C:UsersAdministratorDownloadsovftoolwin32ovftool –name=sun05-nsxtmanager02 –X:injectOvfEnv –X:logFile=ovftool.log –allowExtraConfig –datastore=vsanDatastore –network=”VDS01-VLAN115-IaaS” –acceptAllEulas –noSSLVerify –diskMode=thin –prop:nsx_ip_0=10.115.1.26 –prop:nsx_netmask_0=255.255.255.0 –prop:nsx_gateway_0=10.115.1.1 –prop:nsx_dns1_0=192.168.1.10 –prop:nsx_domain_0=acepod.com –prop:nsx_ntp_0=192.168.1.10 –prop:nsx_isSSHEnabled=True –prop:nsx_allowSSHRootLogin=True –prop:nsx_passwd_0=VMware1!VMware1! –prop:nsx_cli_passwd_0=VMware1!VMware1! –prop:nsx_hostname=sun05-nsxtmanager02 “Z:DownloadsVMwarevSphere7.0-GAnsx-unified-appliance-3.0.0.0.0.15946739.ova” vi://administrator@vsphere.local@sun01-vcenter00.acepod.com/?ip=192.168.1.202
完成后,我们可以尝试登录到NSX-T Manager的UI。
登录后看到此页面后,表明NSX-T Manager设备已成功安装。
现在,我们完成了安装和设置vCenter和NSX-T Manager的工作,接下来,我们将配置虚拟网络,例如NSX-T网段,第0层路由器,上行链路和网络路由。
第3部分:NSX-T边缘,网段,第0层路由
在本节中,我们将配置NSX-T,例如设置传输节点,边缘VM,配置第2层网段,第0层上行链路以及为使用Kubernetes进行vSphere进行准备所需的路由。
第4部分:主管群集,内容库,TGG群集
第5部分:测试,演示应用