集群节点机器前提条件

Anthos clusters on Bare Metal 支持在目标操作系统发行版支持的硬件上运行的各种系统。Anthos clusters on Bare Metal 配置可以在最小硬件上运行,也可以在多个机器上运行,以提供灵活性、可用性和良好性能。

无论您如何配置 Anthos clusters on Bare Metal,节点和集群都必须具有足够的 CPU、RAM 和存储资源,以满足集群和您运行的工作负载的需求。

安装 Anthos clusters on Bare Metal 时,您可以创建不同种类的集群:

  • 运行工作负载的用户集群。
  • 创建和控制用户集群来运行工作负载的管理员集群。
  • 独立集群是一个可以管理和运行工作负载的单个集群,但无法创建或管理用户集群。
  • 混合集群可以管理和运行工作负载,还可以创建和管理其他用户集群。

除了集群类型之外,您还可以根据资源要求从以下安装配置文件中进行选择:

  • 默认:默认配置文件具有标准系统资源要求,您可以将其用于所有集群类型。

  • 边缘:边缘配置文件显著降低了系统资源要求。对于资源有限的边缘设备,建议使用此配置文件。您只能将边缘配置文件用于独立集群。

使用默认配置文件的所有集群类型的资源要求

下表介绍了 Anthos clusters on Bare Metal 使用默认配置文件运行和管理管理员集群、混合集群、用户集群和独立集群所需的最低硬件要求和建议硬件要求:

资源 最小值 推荐
CPU/vCPU* 4 核 8 核
RAM 16 GiB 32 GiB
存储 128 GiB 256 GiB

* Anthos Clusters on Bare Metal 仅支持 x86 处理器系列中的 CPU 和 vCPU。

使用边缘配置文件的独立集群的资源要求

下表介绍了 Anthos clusters on Bare Metal 使用边缘配置文件运行和管理独立集群所需的最低硬件要求和建议硬件要求:

资源 最小值 推荐
CPU/vCPU* 2 核 4 核
RAM Ubuntu:4 GiB
CentOS/RHEL:6 GiB
Ubuntu:8 GiB
CentOS/RHEL:12 GiB
存储 128 GiB 256 GiB

* Anthos Clusters on Bare Metal 仅支持 x86 处理器系列中的 CPU 和 vCPU。

如需使用边缘配置文件配置独立集群,请遵循以下最佳做法:

  • 在单独的工作站上运行 bmctl。如果必须在目标集群节点上运行 bmctl,则需要 2 GiB 内存才能满足最低要求。例如,Ubuntu 需要 6 GiB,CentOS/Redhat 需要 8 GiB。

  • MaxPodsPerNode 设置为 110。集群的每个节点运行的用户 pod 数平均不超过 30 个。对于更高的 MaxPodsPerNode 配置,或每个节点运行的用户 pod 数超过 30 个,您可能需要额外的资源。

  • 使用 containerd 作为容器运行时。您可能需要额外资源才能与 Docker 容器运行时一起运行。

  • 此最低资源配置不考虑 Kubevirt 组件。Kubevirt 需要其他资源,具体取决于集群中部署的虚拟机数量。

其他存储空间要求

Anthos clusters on Bare Metal 不提供任何存储资源。您必须在系统上预配和配置所需的存储空间。

如需详细了解存储空间要求,请参阅安装前提条件概览

如需详细了解如何配置所需的存储空间,请参阅为 Anthos clusters on Bare Metal 配置存储空间

etcd 性能

磁盘速度对 etcd 性能和稳定性至关重要。磁盘速度缓慢会增加 etcd 请求延迟时间,这可能会导致集群稳定性问题。我们建议您将固态磁盘 (SSD) 用于 etcd 存储区。etcd 文档提供了其他硬件建议,以确保在生产环境中运行集群时获得最佳 etcd 性能。

如需检查 etcd 和磁盘性能,请在 Metrics Explorer 中使用以下 etcd I/O 延迟时间指标:

  • etcd_disk_backend_commit_duration_seconds:第 99 百分位 (p99) 的时长应少于 25 毫秒。
  • etcd_disk_wal_fsync_duration_seconds:第 99 百分位 (p99) 的时长应少于 10 毫秒。

如需详细了解 etcd 性能,请参阅 etcd 警告“应用条目时间过长”意味着什么?以及 etcd 警告“未能按时发出检测信号”意味着什么?

节点机器前提条件

节点机器具有以下前提条件:

  • 其操作系统是受支持的 Linux 发行版之一。 如需了解详情,请参阅选择操作系统
  • Linux 内核版本为 4.17.0 或更高版本。Ubuntu 18.04 和 18.04.1 使用的是 Linux 内核版本 4.15,因此不兼容。
  • 满足最低硬件要求。
  • 互联网访问权限。
  • 与所有其他节点机器的第 3 层连接。
  • 控制平面 VIP 访问权限。
  • 正确配置的 DNS 域名服务器。
  • 无重复的主机名。
  • 启用了以下 NTP 服务之一,并且能正常运行:
    • chrony
    • ntp
    • ntpdate
    • systemd-timesyncd
  • 正常运行的软件包管理器:apt、dnf 等。
  • 在 Ubuntu 上,您必须停用复杂防火墙 (UFW)。运行 systemctl stop ufw 以停用 UFW。
  • 在 Ubuntu 上,并且从 Anthos 集群在裸机 1.8.2 上开始运行,您无需停用 AppArmor。如果您使用早期版本的 Anthos 集群在裸机上部署集群,请使用以下命令停用 AppArmor:systemctl stop apparmor

  • 如果您选择 Docker 作为容器运行时,则可以使用 Docker 19.03 或更高版本。如果您的节点机器上未安装 Docker 或安装了旧版 Docker,在您创建集群时,Anthos on Bare Metal 会安装 Docker 19.03.13 或更高版本。

  • 如果您使用默认容器运行时 containerd,则无需 Docker,并且安装 Docker 可能会导致问题。如需了解详情,请参阅已知问题

  • 创建集群时,系统仅检查 Anthos clusters on Bare Metal 系统组件所需的可用空间。此更改可让您更好地控制为应用工作负载分配的空间。每当安装 Anthos clusters on Bare Metal 时,请确保支持以下目录的文件系统具有所需的容量并满足以下要求:

    • /:17 GiB(18,253,611,008 字节)。
    • /var/lib/docker/var/lib/containerd,具体取决于容器运行时:
      • 30 GiB(32,212,254,720 字节),用于控制层面节点。
      • 10 GiB(10,485,760 字节),用于工作器节点。
    • /var/lib/kubelet:500 MiB(524,288,000 字节)。
    • /var/lib/etcd:20 GiB(21,474,836,480 字节,仅适用于控制层面节点)。

    无论集群版本如何,前面的目录列表可以位于相同或不同的分区上。如果它们位于相同的底层分区,则空间要求是该分区上每个单独的目录所需的空间总和。对于所有发布版本,集群创建过程都会根据需要创建目录。

  • /var/lib/etcd/etc/kubernetes 目录不存在或为空。

除了安装和运行 Anthos clusters on Bare Metal 的前提条件之外,客户还应遵守对行业或业务细分进行治理的相关标准,例如处理信用卡的企业的 PCI DSS 要求或国防工业中企业的安全技术实现指南 (STIG)。

负载均衡器机器前提条件

如果您的部署没有专用的负载均衡器节点池,则可以使用工作器节点或控制层面节点构建负载均衡器节点池。在这种情况下,还需满足其他前提条件:

  • 机器位于同一第 2 层子网中。
  • 所有 VIP 都在负载均衡器节点子网中,并且可从子网的网关路由。
  • 负载均衡器的子网应侦听免费 ARP,以将数据包转发到主负载均衡器。

后续步骤