本篇推文继续之前讨论 Antrea 与 NSX Manager 整合的手动安装流程,接下来要讨论流程四、五、六。这几篇讨论的安装流程图如下,相关的步骤于官方文件内有正式的说明。
流程四:
修改安装配置档,输入 NSX 及凭证相关资讯
流程一内我们由 VMware 官网下载了 NSX interworking agent 的配置档,包含了 interworking.yaml, bootstrap-config.yaml, deregisterjob.yaml 这几个。本流程内要修改这些 YAML 档内相关的参数。首先在 interworking.yaml 以及 deregisterjob.yaml 这两个档内,我们要告知这个 NSX interworking agent 的 image 档来源在哪。
在大部分的安装环境有 Internet 连线的话,上述的 image 于 VMware Public Harbor Registry 都有。路径可以这样找:
在流程一内,先确定了 Kubernetes Cluster 内安装的 Antrea 商业版本。此时,请到这个对应 Antrea 商业版本的 Release Note 页面。
确认安装的 TKC 或是原生 Kubernetes Cluster 内,Worker Node 的作业系统是哪种。在 Tanzu 部署的 TKC 配置时,通常底层 Worker Node 的作业系统是 Ubuntu 或是 Photon OS。在 Release Note 内,依据作业系统型态,找到对应的 NSX interworking agent 的下载路径。
在这几篇推文的展示内,我利用 vSphere with Tanzu 建立的 TKC 1.22.9,内建的 Antrea 商业版本是 v1.3.1-1.2.3(请参阅流程一)。同时,配置 TKC 时选择的底层 OS 是 Photon。下图是 VMware Container Networking with Antrea 1.3.1-1.2.3 版的 Release Notes:
请注意上图内的红框部分,就是对应到不同 K8S Node 作业系统的 NSX interworking agent 的下载路径。因为我的 K8S 底层是 photon,因此路径就是这里所标示的 projects.registry.vmware.com/antreainterworking/interworking-photon:0.2.0 。
本步骤内,请到 interworking.yaml 与 deregisterjob.yaml 这两个 YAML 配置档内,找到所有的 image 部分,把上述的 image 下载路径输入进去,像是下面这张图。在 v1.3.1-1.2.3 的 interworking.yaml 有六个地方要改,deregisterjob.yaml 有一处。
如果是 Air-Gap,没有 Internet 连结到 VMware Public Harbor Registry 的环境呢?此时的做法就是将在流程一内同时已有下载的 image 档案,放到内部 Harbor Registry,或是手动装到每个 Worker Node 里面。请参考正式文件 “Registering an Antrea Container Cluster to NSX-T Data Center” 里面的最后一段,有相关指令说明,如下图:
接着下个步骤:在 bootstrap-config.yaml 配置档内,请找到下列四个栏位输入:
・clusterName: 请输入这个 K8S Cluster 的名称。必须与流程二与流程三内输入的 CN Name 与 Node ID 完全一致。在这个范例内,是 tkgs-122-cluster。
・NSXManagers: 在括弧内填入 NSX Manager 的 IP 地址,依据环境是有单台或三台 NSX Managers,把 IP 全部填入。
・tls.crt: 请利用 cat <流程二 - 凭证档名> | base64 -w 0 的指令,将结果复制贴上。
・tls.key: 请利用 cat <流程二 - 私钥档名> | base64 -w 0 的指令,将结果复制贴上。
在前面流程二,我们建立的凭证档是 tkgs-122-cluster.crt,私钥档是 tkgs-122-cluster-private.key。下图内,利用 cat /base64 指令,取得的结果为
请把上图的凭证 / 私钥完整剪贴到 bootstrap-config.yaml 内,千万不要遗漏了。下图就是我们要修改的 bootstrap-config.yaml 范例图,包含前面讨论要修改的四个部分。
这样所有的配置档就修改完成了。上述参数的详细输入与范例,也请参考正式文件说明,有很完整的讨论。
流程五:
启用配置档
流程五极为直接,请将上述配置档放到可控制这个 Kubernetes Cluster 的跳板机内,执行下列 kubectl 指令进行安装:
kubectl apply -f bootstrap-config.yaml -f interworking.yaml
接着,可以利用 kubectl get pods -n vmware-system-antrea 这个指令看 NSX interworking-agent 的安装状态。若一段时间后,STATUS 停留在 Running,4 个内部 container 都是写 READY,此时就安装完成了。
流程六:
在 NSX Manager 内检视相关 Kubernetes Cluster Inventory 资讯
当前面步骤顺利完成,此时到 NSX Manager – Inventory – Containers – Clusters 就可以看到我们安装的 Kubernetes Cluster 出现,也可以查询相关的 Cluster / Nodes / Pods / Services 资讯,如下图。接着,大家就可以如推文内第六第七篇的说明,来进行微分段功能相关配置了。
多说一句,在上图内,大家可以看到同一个 NSX Manager 可以管理多个 Kubernetes Cluster。上面的配置内我们接了一个 Tanzu Kubernetes Grid 产出的 Cluster (tkgm-122-tkc03)、本范例内以 vSphere with Tanzu 配置的 Cluster (tkgs-122-cluster)、以及另一个手动建立的原生 K8S 丛集 (vanilla-cluster)。如前所述,这些不同方式建立的 Kubernetes 丛集,都可以透过一模一样的流程,连接到 NSX Manager 内进行管理。
在这三篇推文内我们详细讨论了如何将一个采用 Antrea 作为 Container Networking Interface 的 K8S 丛集,注册到 NSX Manager 内的完整流程。以 NSX 来管理 Kubernetes Pod 东西向防火墙是很多 Tanzu 客户喜爱或打算部署的功能,因此大家应该也会有机会在自己或客户的环境内进行相关配置,希望前面的讨论有顺利涵盖到安装时需要注意的各个面向。
到目前我们讨论的都着重在使用 Antrea 整合 NSX 做容器环境的安全保护。下一篇推文开始我想介绍完全不同的课题,针对 Antrea 的两个网络与 IP 管理功能,分别是 Antrea Egress 以及 Antrea IPAM,与大家进行说明。
本文作者:Colin Jao (饶康立), VMware 资深技术顾问,主要负责 VMware NSX 产品线,目前致力于网络虚拟化、分布式安全防护技术与新应用递送方案的介绍与推广。
内容来源|公众号:VMware 中国研发中心