VMware NSX Application Platform部署(未完)

VMware NSX Data Center 3.2版本之后有一部分组件将会以容器的方式来部署,本文会说明相关的部署方式。我们以Tanzu Community Edition(TCE)为基础开始后续的部署工作,没有TCE的可以看下这里。
VMware Tanzu社区版在VMware vSphere部署

首次翻看NSX Application Platform (NAPP)的安装说明会觉得头很大,架构很复杂,又是Tanzu又是AVI,典型的结构如下图。为了能最简单地用上NSX的附加功能,本文将以最精简的架构来部署NAPP。

1. 部署Harbor私有容器仓库(可选)

VMware提供了两个NAPP的容器仓库,如果你的环境可以访问internet且速度还可以的话就不需要部署私有的Harbor了,以下为地址。

Helm Repository: https://projects.registry.vmware.com/chartrepo/nsx_application_platform
Docker Registry: projects.registry.vmware.com/nsx_application_platform/clustering

如果不满足上述条件,则需要部署独立的Harbor容器仓库(用其他Registry产品也是可以的)。Harbor是VMware开发的免费的container registry,其本身运行需要docker和docker-compose,我们使用Debian 11来部署Harbor仓库(其他发行版Linux命令略有不同)。

首先安装docker和docker-compose

sudo apt update
sudo apt install -y curl docker.io docker-compose
sudo usermod -aG docker $USER
newgrp docker

下载Harbor安装程序,这里我们选择安装在/opt/harbor下,NAPP容器都比较大,请保证该路径至少有100G以上的空间。本文使用的是v2.5.4版本。

HARBOR_BUNDLE_DIR=/opt/harbor
sudo mkdir -p $HARBOR_BUNDLE_DIR

HARBORVER=$(curl -sL https://api.github.com/repos/goharbor/harbor/releases | jq -r ".[0].name")

wget https://github.com/goharbor/harbor/releases/download/$HARBORVER/harbor-offline-installer-$HARBORVER.tgz

sudo tar -xvzf harbor-offline-installer-$HARBORVER.tgz -C /opt

cd /opt/harbor

cp harbor.yml.tmpl harbor.yml

然后编辑harbor.yml文件,修改hostname、certificate、private_key、harbor_admin_password、data_volume等字段,改为需要的值。其中certificate和private_key必须是公网CA签发的证书。
具体可以参考以下链接:
https://goharbor.io/docs/2.5.0/install-config/configure-yml-file/

完成以后使用以下命令开始安装Harbor

cd /opt/harbor
sudo ./install.sh --with-chartmuseum

看到下图后代表安装完成

之后可以使用以下命令启动或停止harbor

cd /opt/harbor
# 停止
sudo docker-compose stop
# 启动
sudo docker-compose start

然后使用浏览器访问harbor页面,https://<Harbor FQDN>,用户名admin,密码看下harbor.yml中harbor_admin_password字段

登录后点击projects里的New Project按钮

Project name这里使用napp,Access Level的public需要勾选

2. 导入NSX Application Platform组件到Harbor

导入NAPP组件需要满足以下先决条件:
Upload the NSX Application Platform Docker Images and Helm Charts to a Private Container Registry

其中官方文档漏掉了helm的先决条件,需要先装好helm,本文使用helm v3.9.2

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# 确认helm版本
helm version

随后解压下载的NAPP组件,这里采用3.2.1版本,如是其他版本则调整对应文件名。由于包文件比较大,且会导入大量docker image,请确保有足够空间解压。作者采用了单独的导入vm,没有在harbor服务器操作,导入后便可将导入vm清理已节省空间。

tar xvzf VMware-NSX-Application-Platform-3.2.1.0.0.19800104.tgz

解压完毕后(时间较长),修改upload_artifacts_to_private_harbor.sh文件,修改以下三个字段。

DOCKER_REPO  对应Harbor服务器FQDN
DOCKER_USERNAME  对应Harbor管理员用户名
DOCKER_PASSWORD  对应Harbor管理员密码

修改完毕执行导入

chmod +x upload_artifacts_to_private_harbor.sh
./upload_artifacts_to_private_harbor.sh

导入过程比较漫长,最后出现一堆{“saved”:true}字样时表示导入成功了。

再看下Harbor,repositories和helm charts都已有内容了。

发表回复

您的电子邮箱地址不会被公开。