11. 设置引导集群

预计完成时间:2 小时

可操作组件所有者:OLT/节点/KUB

技能配置文件:部署工程师

本页面提供了在引导加载程序机器上设置执行环境的步骤。您必须按所示顺序执行以下步骤,才能确保成功执行。

11.1. 设置引导加载程序网络

此设置使用 cellconfg 文件中的信息在引导加载程序上配置管理和 bond0 网络接口。如需设置网络接口,请运行以下命令:

gdcloud system network init --config <path_to_cellcfg>

引导加载程序中的 Server 对象用于指定管理接口 IP 地址。定义了 BootstrapperReservationSubnetClaim 对象会提取 bond0 接口 IP 地址。

11.2. 设置私有注册表

如需设置本地注册表,请运行以下命令:

gdcloud system container-registry install --delete-bootstrap-cluster

可选:通过 --registry-address BOOTSTRAPPER_DATAPLANE_IP 指定注册表地址。 如果缺省,该命令会自动选择 bond0 接口 IP 地址。

此命令会执行以下操作:

  • 生成所需证书。
  • 在引导加载程序机器上安装 Harbor、Docker 和其他依赖项。
  • 使用 Docker 登录。
  • 将容器映像加载并推送到私有注册表。
  • 将 Helm 图表推送到私有注册表。

如果此步骤导致以下错误:

Error response from daemon: Get "https://10.255.247.254/v2/": x509: certificate has expired or is not yet valid: current time 2023-04-04T20:46:42Z is afte│······r 2023-01-27T23:41:44Z

请按照以下步骤进行问题排查:

  1. 停止 Docker 容器:

    docker stop $(docker ps -aq)
    
  2. 删除 Docker 容器:

    docker rm $(docker ps -aq)
    
  3. 使用以下命令(添加了 v2)从 [untar_directory]/release/harbor 中删除以下证书:

    -rw-r--r--  1 root   root       1391 Jan 27  2022 10.255.247.254.cert
    -rw-r--r--  1 root   root       1391 Jan 27  2022 10.255.247.254.crt
    -rw-r--r--  1 root   root       1009 Jan 27  2022 10.255.247.254.csr
    -rw-------  1 root   root       1679 Jan 27  2022 10.255.247.254.key
    -rw-r--r--  1 root   root       1391 Jan 23  2022 172.22.112.67.cert
    -rw-r--r--  1 root   root       1391 Jan 23  2022 172.22.112.67.crt
    -rw-r--r--  1 root   root       1009 Jan 23  2022 172.22.112.67.csr
    -rw-------  1 root   root       1679 Jan 23  2022 172.22.112.67.key
    -rw-r--r--  1 root   root       1350 Jan 27  2022 ca.crt
    -rw-------  1 root   root       1675 Jan 27  2022 ca.key
    -rw-r--r--  1 root   root         41 Jan 27  2022 ca.srl
    
    gdcloud system container-registry install --delete-bootstrap-cluster -v2 
    

11.3. 初始化 KIND 集群环境

为了引导后续流程,您必须使用 Kubernetes in Docker (KIND) 集群初始化本地 Kubernetes 集群。

如需初始化集群环境,请运行以下命令:

gdcloud system bootstrap-cluster install --config <path_to_cellcfg> --subcomponent-overrides <path_to_assets>

此命令会执行以下操作:

  • 创建 KIND 集群。
  • 部署证书管理器。
  • 将 Kubernetes 清单和图表部署到 KIND 集群中。
  • 启动 NGNIX 服务器以托管操作系统映像。

11.4. 为整个部署设置功能基准阈值

如需修改功能阶段阈值,请运行以下命令:

kubectl edit stage stage

minStage 字段更新为所需的功能阶段阈值。例如,如果为受监管客户的生产工作负载设置部署,则其阶段值设置为 accredited,因此仅启用经过认证的功能。

    ...
    spec:
      minStage: FEATURE_THRESHOLD

FEATURE_THRESHOLD 替换为所需的功能阶段阈值。可接受的值包括 previewproductionaccredited

如需详细了解功能阶段和当前功能门控的列表,请参阅功能阶段

11.5. 安装在引导加载程序 KIND 集群上运行的组件

gdcloud system component deploy --names=*

此命令会执行以下操作:

  • 将可操作的组件生命周期模板安装到 KIND 中。
  • 部署具有子组件的可操作组件,以在 KIND 集群中运行。

11.6. 安装引导加载程序的 NTP 服务器

运行以下命令:

gdcloud system ntp install --config <path_to_cellcfg>

这会将 NTPRelay 对象加载到引导集群中,并在引导加载程序上启动 NTP 服务器,以服务于正在引导的硬件。

11.7. 加载合作伙伴提供的软件包以进行部署

对于合作伙伴运营的部署,您必须加载合作伙伴提供的软件包。按照相关说明加载合作伙伴提供的软件软件包,以进行合作伙伴模式分发。