bootstrap-config.yaml 文件中,输入在 NSX 中注册 Antrea Kubernetes 集群所必需的参数的值。

如果 Kubernetes 集群中的 VMware Container Networking™ with Antrea™ 版本为 1.7.0 或更低版本,请按照本文档中的说明,手动编辑 antrea-interworking.zip 文件中提供的 bootstrap-config.yaml 文件。

如果 Kubernetes 集群中的 VMware Container Networking™ with Antrea™ 版本为 1.8.0 或更高版本,则可以跳过本文档。按照 向 NSX 注册 Antrea Kubernetes 集群的必备条件 文档的任务 6 中的说明,为集群创建引导配置。

必备条件
确保您已完成在 NSX 中注册 Antrea Kubernetes 集群的必备任务。请参见 向 NSX 注册 Antrea Kubernetes 集群的必备条件
引导配置文件

在提取 antrea-interworking-version.zip 文件时,将获取 bootstrap-config.yaml 文件,其中包含一些占位符注释以帮助您填写该文件中的参数。

apiVersion: v1
kind: Namespace
metadata:
  name: vmware-system-antrea
  labels:
    app: antrea-interworking
    openshift.io/run-level: '0'
---
# NOTE: In production the bootstrap config and secret should be filled by admin
# manually or external automation mechanism.
apiVersion: v1
kind: ConfigMap
metadata:
  name: bootstrap-config
  namespace: vmware-system-antrea
data:
  bootstrap.conf: |
    # Fill in the cluster name. It should be unique across all clusters managed by NSX.
    clusterName: Name
    # Fill in the NSX manager IPs. If there are multiple IPs, separate them with commas.
    NSXManagers: [IP1, IP2, IP3]
    # vhcPath is deprecated and ignored. It is replaced by vpcPath.
    vhcPath: ""
    # vpcPath is supported only in Antrea-NSX interworking image v0.7 or later.
    vpcPath: ""
---
apiVersion: v1
kind: Secret
metadata:
  name: nsx-cert
  namespace: vmware-system-antrea
type: kubernetes.io/tls
data:
  # One line base64 encoded data. Can be generated by command: cat tls.crt | base64 -w 0
  tls.crt:
  # One line base64 encoded data. Can be generated by command: cat tls.key | base64 -w 0
  tls.key:
指定必需参数的值

您要在 NSX 中注册的每个 Kubernetes 集群需要具有单独的 bootstrap-config.yaml 文件。请在该文件中指定以下必需参数的值。

clusterName

输入 Antrea Kubernetes 集群的唯一名称。对于在 NSX 中注册的所有 Kubernetes 集群,该名称必须是唯一的。例如,cluster-sales

NSXManagers

输入 NSX Manager IP 地址。要指定 NSX Manager 集群中的多个 NSX Manager 节点的 IP 地址,请使用逗号分隔这些 IP 地址。

注: 您可以在单个 NSX Manager 集群中注册一个 Antrea Kubernetes 集群。单个集群可以具有一到三个 NSX Manager 节点。

例如,如果 NSX Manager 集群具有三个 NSX Manager 节点,请以 [192.168.1.1, 192.168.1.2, 192.168.1.3] 形式输入配置。如果集群具有单个 NSX Manager 节点,请以 [192.168.1.1] 形式输入配置。

建议您避免在此参数中添加 NSX Manager 虚拟 IP (VIP),因为 Antrea NSX 适配器 需要直接连接到所有 NSX Manager。

tls.crt

tls.crt 是用于在 NSX 中创建主体身份用户的自签名证书。

为 Kubernetes 集群输入 TLS 证书的单行 base64 编码数据。

例如,要在终端上输出 cluster-sales.crt 证书文件的编码数据,请在 Linux CLI 中运行以下命令:

cat cluster-sales.crt | base64 -w 0
tls.key

为 Kubernetes 集群输入私钥文件的单行 base64 编码数据。

例如,要在终端上输出 cluster-sales-private.key 文件的编码数据,请在 Linux CLI 中运行以下命令:

cat cluster-sales-private.key | base64 -w 0

tls.key 不会发送到 NSX管理平面适配器中央控制平面适配器使用该密钥证明它拥有主体身份用户。

注: vhcPath 参数已弃用并被忽略,而改为支持 vpcPath 参数。但是, vpcPath 参数仅在 Antrea-NSX interworking 映像 v0.7 或更高版本(随 VMware Container Networking™ with Antrea™ v1.5.0 一起提供)中受支持。早期版本的 Antrea-NSX interworking 映像不支持 vpcPath 参数。

示例: 引导配置文件

apiVersion: v1
kind: Namespace
metadata:
  name: vmware-system-antrea
  labels:
    app: antrea-interworking
    openshift.io/run-level: '0'
---
# NOTE: In production the bootstrap config and secret should be filled by admin
# manually or external automation mechanism.
apiVersion: v1
kind: ConfigMap
metadata:
  name: bootstrap-config
  namespace: vmware-system-antrea
data:
  bootstrap.conf: |
    clusterName: cluster-sales
    NSXManagers: [10.196.239.128, 10.196.239.129]
    vpcPath: ""
---
apiVersion: v1
kind: Secret
metadata:
  name: nsx-cert
  namespace: vmware-system-antrea
type: kubernetes.io/tls
data:
  tls.crt: LS0tLS1CRUd…LS0tLS0K
  tls.key: LS0tLS1CRUd…S0tLS0tCg==

下一步做什么

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