安装

本节描述安装 global 集群的具体步骤。

安装路径

本页记录的是传统操作系统安装路径。如果你的环境运行在不可变基础设施(Alauda OS on Huawei DCS、VMware vSphere 或 Huawei Cloud Stack)上,请改为参考 在不可变基础设施上安装 global 集群

在开始安装之前,请确保你已完成前置检查、安装包下载与校验、节点预处理以及其他准备工作。

流程

上传并解压安装包

将 Core Package 安装包上传到 global 集群控制平面节点中的任意一台机器,并按照以下命令进行解压:

# Assume that the /root/cpaas-install folder already exists on the machine
tar -xvf {Path to Core Package File}/{Core Package File Name} -C /root/cpaas-install
cd /root/cpaas-install/installer || exit 1
信息
  • 该机器将在 global 集群安装完成后成为第一个控制平面节点。
  • Core Package 解压后,至少需要 100GB 磁盘空间。请确保有足够的存储资源。
  • 如果你已经下载了扩展,请先完成 ACP Core 的安装,然后按照 扩展 上传并安装它们。

启动安装程序

执行以下安装脚本以启动安装程序。安装程序成功启动后,命令行终端会输出 Web 控制台访问地址。

等待约 5 分钟后,你就可以在 PC 上使用浏览器访问安装程序提供的 Web 控制台。

bash setup.sh
警告

请确保安装程序所在节点的 IP 地址和 8080 端口可正常访问,以便安装程序成功启动后能够顺利访问其提供的 Web 控制台。

IP Family

bash setup.sh --ip-family ipv6

如果你计划创建 Single-stack Network IPv6 的 global 集群,则在启动安装程序时必须显式指定 --ip-family ipv6。如果不指定该参数,安装程序创建的 global 集群默认支持 Single-stack Network IPv4 和 Dual-stack Network。

参数配置

按照页面引导完成安装参数配置后,确认安装。

参数说明 提供了关键参数的详细说明。请仔细阅读并根据实际需求进行配置。

监控安装进度

确认参数后,安装程序将经历多个阶段。一个 3 节点 global 集群通常会在 30–60 分钟内完成;总耗时取决于节点硬件、网络吞吐量以及所选插件数量。

你将观察到的阶段

阶段正在发生的事情首先查看的位置
Bootstrap安装程序容器在安装节点上的临时 minialauda KIND 环境中启动,并拉起内置镜像仓库。bash setup.sh 的终端输出
Control plane provisioning通过 kubeadm 引导第一个控制平面节点;启动 etcd;其余控制平面节点加入集群。安装程序 Web UI;安装程序 log
Network and core add-onsCNI(默认是 Kube-OVN)、CoreDNS、kube-proxy 以及其他集群内网络组件启动。安装程序 Web UI;新集群上执行 kubectl get pods -n kube-system
Core platform部署基础 operator,创建 ClusterModule/global,并拉起平台控制平面。安装程序 Web UI;kubectl get clustermodule global
对齐插件所选对齐插件的 AppRelease 进入协调状态。kubectl get apprelease -A
完成安装程序发布平台访问 URL,并在短暂宽限期后停止引导容器。安装程序 Web UI;/var/cpaas/data/installer.log

安装过程中的信号

如果 Web UI 看起来卡住了超过几分钟,请改为检查后端信号——Web UI 会轮询后端进度 API,因此可能会有延迟,但底层状态始终可以在安装节点上获取。

# Live installer log on the installation node
tail -f /var/cpaas/data/installer.log

# Use the installer kubeconfig until the global cluster takes over
export KUBECONFIG=/var/cpaas/data/alauda.kubeconfig

# Cluster API resources that drive the new global cluster
kubectl get clusters.cluster.x-k8s.io -A
kubectl get kubeadmcontrolplane -A
kubectl get machines -A

# Charts that the installer is reconciling
kubectl get apprelease -A

安装程序 log 会记录每个阶段的切换以及所有可重试错误。大多数瞬时错误会以 10 秒为间隔自动重试;持续性错误会保留在 log 中,并在 Web UI 中表现为某个阶段停滞。

验证安装成功

安装完成后,平台访问 URL 会显示在 Web UI 中。点击 访问 按钮打开平台,并确认可以成功登录。

接下来,在新 global 集群的一个控制平面节点上运行以下命令,以确认安装状态:

# All nodes are Ready
kubectl get nodes

# ClusterModule/global reports the base module as healthy
kubectl get clustermodule global -o jsonpath='{.status.phase}'

# No AppRelease is in a failed state
kubectl get apprelease -A

# No Pod is stuck outside Running or Completed
kubectl get pod --all-namespaces | awk '{if ($4 != "Running" && $4 != "Completed")print}' | awk -F'[/ ]+' '{if ($3 != $4)print}'

当满足以下条件时,说明安装健康:

  • 所有 global 集群节点均为 Ready
  • ClusterModule/global 报告为健康阶段。
  • 每个 AppRelease 均处于非失败状态。
  • cpaas-system 中的关键 Pod 处于 RunningCompleted 状态。

安装产品文档插件

INFO

Alauda Container Platform Product Docs 插件用于在平台内访问产品文档。平台中的所有帮助链接都会跳转到该文档。如果未安装此插件,点击平台中的帮助链接将会产生 404 访问错误。

  1. 进入 管理员

  2. 在左侧边栏中,点击 Marketplace > 集群插件,然后选择 global 集群。

  3. 找到 Alauda Container Platform Product Docs 插件并点击 安装

参数说明

参数说明
Kubernetes Version

所有可选版本都经过严格的稳定性和兼容性测试。
建议: 选择最新版本以获得最佳功能和支持。

Cluster Network Protocol

支持三种模式:IPv4 单栈、IPv6 单栈、IPv4/IPv6 双栈。
注意: 如果选择双栈模式,请确保所有节点都已正确配置 IPv6 地址;设置后无法更改网络协议。

Cluster Endpoint

    输入预先准备好的域名。
    如果没有域名,请输入预先准备好的 global VIP
    Self-built VIP 默认禁用,仅在未提供 LoadBalancer 时启用。

    使用 Self-built VIP 时必须满足以下条件:

    • 存在可用的 VRID;
    • 主机网络支持 VRRP 协议;
    • 所有控制平面节点和 VIP 必须位于同一子网。

    提示: 在功能体验场景的单节点部署中,你可以直接输入节点 IP,无需启用 Self-built VIP 或准备 global VIP 等网络资源。

Platform Access Address

    如果你不需要区分 Cluster EndpointPlatform Access Address,请输入与 Cluster Endpoint 相同的地址。
    如果你需要区分,例如 global 集群仅用于内网访问,而平台需要提供外网访问,请输入预先准备好的域名或 External IP
    平台默认使用 HTTPS 访问,不启用 HTTP。如果你需要启用 HTTP 访问,请在 高级设置 中启用(不推荐)。
    注意: 以下情况必须输入域名,

    • 已规划 global 集群的灾难恢复方案;
    • 平台需要支持 IPv6 访问。

    提示: 如果你需要配置更多平台访问地址,可以在下一步的 其他设置 > 其他平台访问地址 中添加。或者在安装完成后,根据用户手册在平台管理中添加。

Certificate

平台默认提供自签名证书以支持 HTTPS 访问。
如果你需要使用自定义证书,可以上传已有证书。

Image Repository

默认使用 Platform Deployment 镜像仓库,其中包含所有组件的镜像。
如果你需要使用 External 镜像仓库,请在配置前联系技术支持获取镜像同步方案。

Container Network

集群默认子网不能与 Service 网络段重叠。
使用 Kube-OVN Overlay 网络时,请确保容器网络与主机网络不在同一网段,否则可能导致网络异常。

Node Name

如果选择 Host Name as Node Name,请确保所有节点的主机名唯一。

global Cluster Platform Node Isolation

仅在你计划在 global 集群中运行应用工作负载时启用。
启用后:

  • 节点可设置为 Platform Exclusive,即仅运行平台组件,从而确保平台与应用工作负载隔离;
  • 排除 DaemonSet 类型工作负载。
Add NodeControl Plane Node:
    • 支持添加 1 个或 3 个控制平面节点(3 个用于高可用配置);
    • 如果启用 Platform Exclusive,则会强制禁用 Deployable Applications,控制平面节点仅运行平台组件;
    • 如果禁用 Platform Exclusive,你可以选择是否启用 Deployable Applications,从而允许控制平面节点运行应用工作负载。
Worker Node:
    • 如果启用 Platform Exclusive,则会强制禁用 Deployable Applications
    • 如果禁用 Platform Exclusive,则会强制启用 Deployable Applications

使用 Kube-OVN 时,你可以通过输入网关名称来指定节点网卡。

如果节点可用性检查失败,请根据页面提示进行调整后重新添加。

常见卡点及排查位置

如果安装程序报告错误或看起来没有进展,请先从下表中的症状入手。表中列出的信号是首先需要查看的位置;在创建工单之前,请先收集这些输出,以便支持团队能够基于相同数据进行处理。

症状首先查看的位置需要关注的内容
Web UI 无法加载安装节点上的 setup.sh 终端输出和 nerdctl psminialauda-control-plane 容器处于 Running 状态,并且浏览器可以访问 8080 端口。
安装程序 log 停止前进tail -f /var/cpaas/data/installer.log最后一行 log 会告诉你安装程序当前所在的阶段。如果同一阶段持续超过几分钟,通常是下表中的某一种原因导致的。
卡在控制平面部署kubectl get machines -A 以及在一个未处于 Ready 状态的 machine 上执行 kubectl describe该 machine 上的 BootstrapInfrastructure 条件;通常可以通过 status.addresses 中的 IP 访问该节点。
卡在网络和核心附加组件新集群上的 kubectl -n kube-system get podsKube-OVN、CoreDNS 和 kube-proxy Pod 处于 Running 状态。镜像拉取失败通常指向镜像仓库可达性问题。
AppRelease 显示 Failedkubectl describe apprelease <name> -n <namespace>Status 条件和最近的 Events 会描述底层 chart 错误。
Pod 处于 ImagePullBackOffErrImagePullkubectl describe pod <pod>确认失败节点能够访问平台镜像仓库。
ClusterModule/global 未达到健康阶段kubectl describe clustermodule globalStatus.conditions 会描述哪个模块阻止了集群完成。

未在此列出的故障通常指向环境相关原因。请收集安装程序 log 和相关的 kubectl describe 输出,然后升级处理。

安装程序清理

通常情况下,安装完成后安装程序会被自动删除。如果安装 30 分钟后安装程序未自动删除,请在安装程序所在节点上执行以下命令,强制删除安装程序容器:

nerdctl rm -f minialauda-control-plane

其他资源