【原创】NAPP自动化部署指南-02-安装部署

部署NAPP Automation Applicance

作为基于Photon OS的standard virtual appliance,NAPP Automation Applicance的部署非常简单,具体操作步骤如下:

下载napp-automation-0.1.27.ova,并通过OVF模版部署。

Graphical user interface, text, application Description automatically generated

Graphical user interface, text, application Description automatically generated

Graphical user interface, application Description automatically generated

Graphical user interface, text, website Description automatically generated

Graphical user interface, text Description automatically generated

Graphical user interface, application Description automatically generated

Note: 此处选择的VM Network网络需要与NSX-T/VCSA的管理网络以及后续部署中的Frontend网络路由可达。 与NSX-T网络可达: 其中NAPP automation 会自动以plugin的方式注册至NSX-T 与VCSA网络可达: 后续安装部署过程中,NAPP Automation Applicance会自动与VCSA交互进行一系列的自动化部署控制(包括,Supercluster部署/Context Library创建/NAPP的TKC部署) 与Frontend网络可达: 其中会自动通过NAPP Automation Applicance中的kubectl/kubectl vsphere来登录TKC的控制平面地址来进行集群操作

通过自定义模版输入NAPP Automation相关参数,此处的NAPP Automation静态IP地址可用于后续的图形化web界面登录。

Graphical user interface, text, application Description automatically generated

Graphical user interface, application Description automatically generated

部署完成后通过console进入NAPP Automation可看到如下提示,表示部署完成且状态正常。

Text Description automatically generated

Note: 如遇 NSX UI Plugin registration失败,请检查nsx-t manger的配置信息是否有误。

NAPP部署自动化(GUI) 

第1步:通过NAPP Automation部署NAPP,目前支持图形化部署和命令行部署。本小节使用图形化部署展开介绍。

如果在之前的步骤中您将NAPP Automation通过Plugin方式注册到NSX-T Manger,那么您可以进入System>NAPP Deployment,通过向导(Deployment Wizard)开始部署。

Graphical user interface, website Description automatically generated

如果在之前的步骤中您未将NAPP Automation注册到NSX-T,依然可以输入部署时配置的IP地址来直接访问其页面来使用NAPP Automaiton,两者的效果一致。

Graphical user interface, website Description automatically generated

第2步:配置连接至VCSA的认证信息,点击CONNECT后验证通过,选择DATACENTER。

Graphical user interface, application Description automatically generated

第3步:HAProxy配置部分

HAProxy关键字段解释如下:

SERVICE IP RANGE:若使用FrontEnd,那么SERVICE IP RANGE需要从FrontEnd网络中获取,此处需规避FrontEnd网关地址存在于此IP地址范围。

网络 特性
MGMT NETWORK Supervisor Cluster使用管理网络连接到 HAProxy 负载均衡器并对其进行program编程 HAProxy数据平面 API endpoint被绑定到连接管理网络的网络接口。 分配给HAProxy控制平面VM的管理IP地址必须是管理网络上的静态IP,这样Supervisor Cluster才能可靠地连接到负载均衡器API。 HAProxy VM 的缺省网关位于这个网络. DNS 查询发生在这个网络。
WORKLOAD NETWORK HAProxy控制平面VM使用工作负载网络访问Supervisor Cluster和Tanzu Kubernetes Cluster节点上的服务。 HAProxy 控制平面虚拟机通过此网络将流量转发到Supervisor Cluster和 Tanzu Kubernetes Cluster节点。 如果HAProxy控制平面VM以Default模式(两个NIC)部署,则工作负载网络必须提供用于访问load balancer services的逻辑网络。 在Default配置中,负载均衡器的VIP和Kubernetes cluster节点IP将来自该网络。它们需要被定义为网络内独立的、不重叠的范围。 注: 工作负载网络必须与管理网络位于不同的子网上。
FRONTEND NETWORK 访问集群工作负载的外部客户端(例如用户或应用)通过前端网络访问使用VIP地址的后端load balanced services。 • 只有在HAProxy 控制平面VM 部署了三个NIC 时才使用前端网络。 • 推荐用于生产安装。 • 前端网络是您公开虚拟IP 地址(VIP) 的地方。 HAProxy 将负载其流量并将其转发到适当的后端。

Graphical user interface, text Description automatically generated

第4步:Supervisor Cluster配置部分

TKGs Supervisor Cluster关键字段解释如下

  • Load Balancing Settings>ADDRESS RANGE:

需从SERVICE IP RANGE中取值。

  • CONTENT LIBRARY NAME:

指定内容库名称,安装过程中会自动创建,并加载json文件在线拉取VM镜像,所以须VCSA可访问互联网。

  • STORAGE POLICY:

使用准备阶段创建的存储策略,由于本次测试将Supervisor Cluster部署和Guest Cluster选择了不同的存储,所以此处选择sys-vm-storagepolicy。

Text Description automatically generated with medium confidence

第5步:Guest Cluster配置部分

TKC相关信息录入,关键字段解释如下

  • Namespace:最终承载NAPP的TKC Cluster集群所在的命名空间
  • Gluster>NAME:最终承载NAPP的TKC Cluster集群名称

A screenshot of a computer Description automatically generated with medium confidence

第6步:NSX>HOST/USERNAME/PASSWORD:输入所对接的NSX-T Manager 相关信息

Graphical user interface, text, application Description automatically generated

第7步:NAPP configuration > FROM FACTOR:根据实际需求选择相应的NAPP规格

如下列出了不同规格对硬件资源的需求。由于资源有限,本次测试以Evaluation规格为例

Table Description automatically generated

对于Docker/HELM仓库的选择,可以使用online仓库,也可以使用自建仓库,本文不对自建仓库的基础搭建进行介绍,只对使用自建镜像仓库后,NAPP自动化部署所需的注意点进行阐述,详细信息请参见附录部分。

如果使用Online仓库,信息如下:

Helm Repository

https://projects.registry.vmware.com/chartrepo/nsx_application_platform

Docker Registry 

projects.registry.vmware.com/nsx_application_platform/clustering

Graphical user interface, text Description automatically generated

第8步:提交完所有录入信息后,正式进入自动化安装部署预检查阶段,点击START PRE-CHECKS。

A screenshot of a computer Description automatically generated with medium confidence

Note: 如果参数录入环节时间较长,可能导致此步骤检查超时,请后退(BACK)后重新返回此步骤。

第8步:提交完所有录入信息后,正式进入自动化安装部署TKGs Deployment阶段

Graphical user interface, text, application Description automatically generated

Note: 此阶段根据网络情况,可能需要较长的时间,因为此阶段会自动创建订阅类型的Context Libraries,并在线拉取image。目前官方提供的库里有29个image,接近115G,只有全部拉取完成后才进行此阶段中Create Guest Cluster环节的创建。“Coffee Time”

Deploy HA Proxy为Success状态后,在VCSA上自动以ova方式部署版本为0.2.0的haproxy虚拟机,并自动启动

A screenshot of a computer Description automatically generated

Wait for Certificate为Success状态后,自动从Haproxy获取证书用于后续Tanzu自动安装时自动加载

Create Content Library为Success状态后,在VCSA上会自动创建订阅类型的Content Library。但此时所有image并未同步下载完成。

A screenshot of a computer Description automatically generated with medium confidence

Activate TKGs Supervisor Cluster为Success状态后,在VCSA上会自动创建完成TKGs的Supervisor Cluster。

Text Description automatically generated

Create Virtual Machine Classes为Success状态后,可在VCSA中查看到有nappclass的VM Classes创建,用于后续的Guest Cluster的workload node创建。

A screenshot of a computer Description automatically generated

Create Namespace为Success状态后,在VCSA上会自动创建名为ns01-napp31的NameSpace。

Graphical user interface, text, application Description automatically generated

Login to TKGs为Success状态后,可在NAPP Automation虚拟机中使用kubectl命令查看当前TKGs集群状态。

Text Description automatically generated

Create Guest Cluster为Success状态后,可在VCSA中看到Guest Cluster已经部署成功

A screenshot of a computer Description automatically generated with medium confidence

第9步:提交完所有录入信息后,正式进入自动化安装部署NAPP Deployment阶段,点击START NAPP DEPLOYMENT,进行安装前检查后,正式开始自动化部署NAPP。

A screenshot of a computer screen Description automatically generated

第10步:GO TO NAPP后进入NAPP部署页面,可通过点击百分比查看当前安装部署处于哪个环节。

Graphical user interface Description automatically generated

Graphical user interface Description automatically generated

Graphical user interface Description automatically generated

第11步:最终部署成功如下图所示。

Graphical user interface, application Description automatically generated

第12步:使能NSX Intelligence功能

Graphical user interface, website Description automatically generated

Graphical user interface, website Description automatically generated

Graphical user interface, application Description automatically generated

可针对集群级别或主机级别为颗粒度来使能NSX Intelligence

A screenshot of a computer Description automatically generated with medium confidence

第13步:检查部署情况

在napp automation虚拟机上使用kubectl命令检查相关pod状态

Timeline Description automatically generated with medium confidence

在napp automation虚拟机上使用kubectl命令检查相关service状态

Timeline Description automatically generated

NAPP部署自动化(CLI) 

第1步:产生配置文件

通过SSH登录NAPP Automation Applicance,输入命令如下

cd /opt/napp ./napp-automation init

第2步:修改配置文件参数

编写config.yml,具体参数信息含义与GUI配置一致,这里不再赘述。

cd /opt/napp vi config.yml

Note: 本小结旨在介绍CLI安装步骤,实际地址规划与通过GUI安装非相同环境,所以具体参数信息并不与GUI部署章节一致,请知悉。

A picture containing text Description automatically generated

第3步:进行tanzu with vsphere安装,并自动部署guest cluster。

./napp-automation k8s

Text Description automatically generated

第4步:进行NAPP自动化部署

./napp-automation napp

Text Description automatically generated

第5步:查看NAPP部署情况

Graphical user interface, text Description automatically generated

总结 

通过使用NAPP Automation工具,可以大幅简化相对复杂的NAPP部署上线,在以往的部署当中需要手工准备Tanzu平台以及K8S集群等等一些列的基础环境,NAPP Automation工具使得这些准备工作以及NAPP本身的部署完全自动化,减少了运维人员的时间成本,让其有更多的时间聚焦于平台之上高级功能的使用。

附录 

版本BUG修复

目前发布的NAPP Automation v0.1.27版本中存在bug(如下图所示),会在接下来发布的最新版本中得到修复。

Graphical user interface, text Description automatically generated

如使用当前发布版本进行NAPP自动化部署,请执行如下操作来解决bug问题

第1步:通过SSH登录NAPP Automation VM执行如下命令

systemctl stop napp-automation.service

第2步:下载如下文件,上传至/opt/napp目录替换原始napp-automation文件

https://onevmw-my.sharepoint.com/:u:/g/personal/adeleporte_vmware_com/EcI8BubDNW1CkllcUtk_PaEBhIXR23dGK0EEWipYeOJTFA?e=fMBgEW

第3步:修改新上传的napp-automation文件权限

chmod 750 napp-automation

第4步:更改kubectl-vsphere和kubectl文件目录

cd /opt/napp/ mv kubectl-vsphere /usr/local/bin/kubectl-vsphere mv kubectl /usr/local/bin/kubectl

#5 重新启动napp-automation服务

systemctl start napp-automation.service

#6查看当前napp-automation版本,已经变为v0.1.29。

cd /opt/napp/ ./napp-automation version

使用自建HARBOR仓库注意事项

由于NAPP安装镜像包接近12GB,通过VMware在线仓库拉取较慢,所以可以使用本地仓库,但NAPP安装使用了HTTPS,所以自建HARBOR仓库需要预先创建自签名证书,并在NSX-T Manger以及TKGs中加载,证书加载步骤如下。

第1步:为NSX-T Manger加载HARBOR根证书。

通过ssh使用root账户登录NSX-T Manger

cd /usr/local/share/ca-certificates/

将已经创建好的根证书拷贝至此

scp root@192.168.160.122:/root/ca.crt ca.crt

更新证书

update-ca-certificates

第2步:为Tanzu加载证书。

通过如下命令获取HARBOR证书文件

openssl s_client -connect harbor.vmwlab.net:443

将显示信息中的如下内容复制至临时的记事本文件

A picture containing text Description automatically generated

对上述内容转换为BASE64编码,可使用在线转码工具完成。然后登录Supervisor Cluster集群.

Text Description automatically generated

在defaultCNI: antrea下添加如下图所示内容,其中data部分为上一步骤中转换后的BASE64编码,Name名称可任意。

kubectl edit TkgServiceConfiguration 

A screenshot of a computer Description automatically generated with medium confidence

Note: 如果使用NAPP Automation自动化部署,需要在VCSA中观察当Supervisor Cluster部署成功后,还未开始部署TKC之前进行修改,否则对以创建集群无法即时生效。如果在TKC集群创建后修改,详细信息请参阅官方文档 https://docs.vmware.com/en/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-376FCCD1-7743-4202-ACCA-56F214B6892F.html

NAPP 3.2.1部署注意事项

目前NAPP Automation自动化部署GUI界面下不支持NAPP版本修改, NAPP缺省部署版本为3.2.0,且截止本文档编写时,在线官方HELM/Docker仓库还未提供NAPP 3.2.1镜像。所以如果要自动化部署NAPP 3.2.1需修改config.yml以及使用自建仓库。

通过修改config.yml中napp section,实现3.2.1版本的napp安装

Text, application, chat or text message Description automatically generated

Service Name FQDN配置

正常部署情况下,Service Name地址会使用FRONTEND NETWORK的第四个地址,需要在外部DNS配置DNS解析。

Graphical user interface, application Description automatically generated

Leave a Reply