Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

安装之前

  1. 在 Red Hat 中设置帐户,并在瞻博网络建立帐户。
    您需要有红帽帐户才能使用托管辅助安装服务,而需要瞻博网络帐户才能下载 CN2 清单、容器包和工具。
  2. 根据是使用用户托管网络(图 1)还是使用群集托管网络(图 1)安装,设置交换矩阵并将节点连接到交换矩阵。
  3. 配置辅助安装客户端计算机。
    1. 在辅助安装器客户端上安装新操作系统,对操作系统进行最小配置以用于以下方面:
      • 静态 IP 地址和掩码(例如,172.16.0.10/24)和网关
      • 访问一个或多个 DNS 服务器
      • SSH 连接,包括根 SSH 接入
      • Ntp
      • 卷曲
      • jq
      我们示例中使用的辅助安装客户端计算机正在运行一个 RHEL OS。
    2. 安装 Helm 3.0 或更高版本(可选)。如果要安装 Contrail Analytics,需要 Helm。
      为方便起见,将从 https://helm.sh/docs/intro/install/ 复制以下步骤:
      • 下载 get_helm.sh 脚本:

      • 安装 Helm。

  4. 从瞻博网络下载 CN2 网络清单和工具包。
    1. 将 CN2 网络清单和工具包(请参阅清单和工具)下载到本地计算机。
    2. 将下载的清单和工具包复制到辅助安装客户端计算机并提取。
    3. 确定您想要使用的清单并将其复制到单独的目录中。有关清单的说明,请参阅版本清单和工具
      请确保复制计划使用的所有清单,包括子目录中的清单(如果适用)。在我们的示例中,我们会将清单复制到 清单 目录中。不要自行复制子目录。 清单 目录应该是平面目录。
    4. 用存储库登录凭据填写清单。

      将您的存储库登录凭据添加到 contrail-manifests-openshift/auth-registry 清单中。请参阅 配置存储库凭据

    5. 根据需要为您的环境自定义清单。

      如果在虚拟机上运行群集节点,请编辑以下文件以参考接口的实际名称。这些清单禁用虚拟机上指定接口上的校验和卸载。(校验和卸载通常仅在裸机服务器上的实际 NIC 上受支持。)

      • 99-disable-offload-master.yaml - 此清单禁用用于 Kubernetes 控制平面流量的接口上的控制平面节点上的卸载。在我们的示例中,这是连接到 172.16.0.0/24 网络的接口。
      • 99-disable-offload-worker.yaml - 此清单禁用用于 Kubernetes 控制平面流量的接口上工作线程节点上的分载。在我们的示例中,这是连接到 172.16.0.0/24 网络的接口。
      • 99-disable-offload-master-vrrp.yaml - 此清单用于禁用用于 Contrail 控制平面和用户数据平面流量的接口上的控制平面节点上的卸载。仅当为 Contrail 控制和数据流量运行单独的接口时(例如,在使用群集托管网络时),才包括此功能。这是我们在群集托管网络示例中连接到 10.16.0.0/24 网络的接口。
      • 99-disable-offload-worker-vrrp.yaml - 此清单禁用用于 Contrail 控制平面和用户数据平面流量的接口上工作线程节点上的卸载。仅当为 Contrail 控制和数据流量运行单独的接口时(例如,在使用群集托管网络时),才包括此功能。这是我们在群集托管网络示例中连接到 10.16.0.0/24 网络的接口。

      查找这些清单中的行ExecStart=/sbin/ethtool -K ens3 tx offExecStart=/sbin/ethtool -K ens4 tx off,并根据需要更改接口名称,以便与控制平面或辅助角色节点上的接口名称匹配。

    6. 如果使用群集托管网络,请指定 Contrail 控制和数据网络。
      编辑以下文件以引用用于 Contrail 控制平面和用户数据平面流量的子网和网关:
      • 99-network-configmap.yaml - 此清单为 Contrail 控制平面和用户数据平面流量指定网络。取消对清单中的 contrail-network-config ConfigMap 规范的注释,并指定适当的子网和网关(例如 10.16.0.0/24 和 10.16.0.254)。
    7. 如果要将 CN2 与 Juniper Apstra 集成,请配置您的 Juniper Apstra 登录凭据。

      contrail-manifests-openshift/plugins/111-apstra-secret.yaml 清单中配置您的 Apstra 登录凭据。确保您指定的用户名和密码采用 base64 编码。有关更多信息,请参阅 https://www.juniper.net/documentation/us/en/software/cn-cloud-native22.4/cn-cloud-native-feature-guide/index.html

  5. 在辅助安装程序客户端机器上安装 contrailstatus。Contrailstatus 是一个 kubectl 插件,可用来查询 CN2 微服务和特定于 CN2 的资源。
    Contrailstatus 可执行文件打包在下载的工具包中。提取 kubectl-contrailstatus 可执行文件并将其复制到 /usr/local/bin
  6. 安装负载平衡器(如果您使用用户托管的网络运行)。使用群集托管网络运行时,不需要执行这一步。
    在此示例中,我们在辅助安装客户端机器上运行 haxproxy。您可以选择为安装运行不同的负载平衡器。
    1. 安装负载平衡器。
      例如:
    2. 配置负载平衡器。
      我们使用单个 IP 地址 (172.16.0.10),用于将 API 和入口流量分发到群集中的节点。
      表 1:负载平衡器条目示例
      流量前端 后端 类型

      Api

      172.16.0.10:6443

      172.16.0.11:6443

      172.16.0.12:6443

      172.16.0.13:6443

      api-int

      172.16.0.10:22623

      172.16.0.11:22623

      172.16.0.12:22623

      172.16.0.13:22623

      https

      172.16.0.10:443

      172.16.0.14:443

      172.16.0.15:443

      http

      172.16.0.10:80

      172.16.0.14:80

      172.16.0.15:80

      下面是执行上述映射的 haproxy 配置 ( /等/haproxy/haproxy.cfg) 的示例片段:
    3. 启动负载平衡器。
      例如:
      注意:

      如果运行 selinux,则可能需要显式允许 haproxy 侦听端口 (setsebool -P haproxy_connect_any 1).

  7. 在您的网络中安装 DNS/DHCP 服务器,为 Kubernetes 节点提供服务。
    在此示例中,我们在辅助安装客户端机器上运行 dnsmasq。您可以选择运行不同的 DNS/DHCP 服务器进行安装。
    1. 安装 DNS/DHCP 服务器。
      Dnsmasq 预装在一些 RHEL OS 软件包上。如果未预安装,可按如下所示安装:
    2. 配置域名和 DHCP 条目。
      表 2:DHCP 分配示例
      完全限定的域名 IP 地址
      ocp1.mycluster.contrail.lan 172.16.0.11
      ocp2.mycluster.contrail.lan 172.16.0.12
      ocp3.mycluster.contrail.lan 172.16.0.13
      ocp4.mycluster.contrail.lan 172.16.0.14
      ocp5.mycluster.contrail.lan 172.16.0.15
      注意:

      使用辅助安装服务时,完全限定的域名构造如下: <hostname>.<cluster name>.<domain name>

      在此示例中,我们用作 ocpn 主机名、 mycluster 群集名称和 contrail.lan 域名。

    3. 配置 DNS 条目。
      表 3:DNS 条目示例
      主机名 IP 地址 说明
      ocp1.mycluster.contrail.lan 172.16.0.11 与 DHCP 分配相同
      ocp2.mycluster.contrail.lan 172.16.0.12 与 DHCP 分配相同
      ocp3.mycluster.contrail.lan 172.16.0.13 与 DHCP 分配相同
      ocp4.mycluster.contrail.lan 172.16.0.14 与 DHCP 分配相同
      ocp5.mycluster.contrail.lan 172.16.0.15 与 DHCP 分配相同
      api.mycluster.contrail.lan 172.16.0.10 外部 API 流量负载平衡器。仅适用于用户托管的网络。
      api-int.mycluster.contrail.lan 172.16.0.10 用于内部 API 流量的负载平衡器。仅适用于用户托管的网络。
      app.mycluster.contrail.lan 172.16.0.10 入口流量负载平衡器。仅适用于用户托管的网络。
      *.apps.mycluster.contrail.lan 172.16.0.10 入口流量负载平衡器。仅适用于用户托管的网络。
      下面是执行上述分配的 dnsmasq 配置 ( /etc/dnsmasq.conf) 的示例片段:
    4. 启动 DNS/DHCP 服务器。
      例如:
  8. 从 Red Hat 下载 OpenShift 命令行界面工具 (oc)。此软件包包含 kubectl。
    1. 在本地计算机的浏览器上,转至 https://console.redhat.com/openshift/downloads#tool-oc 并下载 OpenShift 命令行界面工具 (oc)。
    2. 将下载的软件包复制到辅助安装客户端计算机并解开。
    3. 将 oc 和 kubectl 可执行文件复制到路径中的目录中(例如 /usr/local/bin)。