要在 NSX 中注册 Antrea Kubernetes 集群,您必须将 bootstrap-config.yaml 文件和 interworking.yaml 部署清单文件提交到 Kubernetes API 服务器。

前提条件

请确保:

过程

  1. 运行以下 kubectl 命令,以将 .yaml 文件提交到 Kubernetes API 服务器:
    $ kubectl apply -f bootstrap-config.yaml -f interworking.yaml

    确保 bootstrap-config.yaml 文件是在该命令中出现的第一个文件。

    该命令会在 NSX 中注册 Antrea Kubernetes 集群。将在 vmware-system-antrea 命名空间中部署 register-xxx 和 interworking-yyy Pod。

    其中:xxxyyy 是表示集群中 Pod 的实例 ID 的任意编号。

  2. 运行以下 kubectl 命令,以查看 vmware-system-antrea 命名空间中的所有 Pod 的列表:
    $ kubectl get pods -o wide -n vmware-system-antrea

    确认 register Pod 的状态为 Completed,而 interworking Pod 的状态为 Running

    interworking Pod 中 管理平面适配器中央控制平面适配器的容器现在开始在 Antrea Kubernetes 集群中运行。 Antrea Kubernetes 集群中的资源已与 NSX 清单同步。
    注:NSX 中注册 Antrea Kubernetes 集群后, 管理平面适配器 将连接到 NSX 管理平面,并为 NSX 清单中的 Antrea Kubernetes 集群资源执行完全同步。执行完全同步操作所需的时间与集群规模成正比。此后,仅按预定义的时间间隔定期执行增量同步操作。如果 管理平面适配器由于任何原因而失败,则不会与 NSX 清单同步资源。只有在适配器再次启动后,才会将 Antrea Kubernetes 集群中的资源与 NSX 清单中的现有对象进行比较,然后执行增量同步。
  3. 仅当 Antrea Kubernetes 集群使用 1.20 或更低版本的 Kubernetes 时,才执行此步骤。
    1. 运行以下 kubectl 命令,以在用于创建事件的命名空间上注册 Antrea 控制器 Webhook。
      $ kubectl apply -f ns-label-webhook.yaml

      您可以在从下载 VMware Antrea 页面下载的 antrea-interworking-version.zip 文件中找到此 Webhook 定义文件。

    2. 重新启动 Antrea 控制器 Pod。
      kubectl rollout restart deployment antrea-controller -n kube-system

      此命令将删除现有的 Antrea 控制器 Pod,并创建新的 Antrea 控制器 Pod。

    3. 验证新的 Antrea 控制器 Pod 是否正在运行。
      $ kubectl get pod -l component=antrea-controller -n kube-system

下一步做什么

NSX Manager UI 中查看 Antrea Kubernetes 集群资源清单,例如 Pod、命名空间、Antrea 网络策略、Antrea 集群网络策略和其他资源。