GKE on Bare Metal 支持在目标操作系统发行版支持的硬件上运行的各种系统。GKE on Bare Metal 配置可以在最小硬件上运行,也可以在多个机器上运行,以提供灵活性、可用性和良好性能。
无论您如何配置 GKE on Bare Metal,节点和集群都必须具有足够的 CPU、RAM 和存储资源,以满足集群和您运行的工作负载的需求。
CPU、RAM 和存储空间的最低要求和推荐要求
安装 GKE on Bare Metal 时,您可以创建不同种类的集群:
- 运行工作负载的用户集群。
- 创建和控制用户集群来运行工作负载的管理员集群。
- 独立集群是一个可以管理和运行工作负载的单个集群,但无法创建或管理用户集群。
- 混合集群可以管理和运行工作负载,还可以创建和管理其他用户集群。
除了集群类型之外,您还可以根据资源要求从以下安装配置文件中进行选择:
默认:默认配置文件具有标准系统资源要求,您可以将其用于所有集群类型。
边缘:边缘配置文件显著降低了系统资源要求。对于资源有限的边缘设备,建议使用此配置文件。您只能将边缘配置文件用于独立集群。
使用默认配置文件的所有集群类型的资源要求
下表介绍了 GKE on Bare Metal 使用默认配置文件运行和管理管理员集群、混合集群、用户集群和独立集群所需的最低硬件要求和建议硬件要求:
资源 | 最小值 | 推荐 |
---|---|---|
CPU/vCPU* | 4 核 | 8 核 |
RAM | 16 GiB | 32 GiB |
存储 | 128 GiB | 256 GiB |
* GKE on Bare Metal 仅支持 CPU 微架构级别 为 v3 (x86-64-v3) 及更高版本的 x86-64 CPU 和 vCPU。
使用边缘配置文件的独立集群的资源要求
下表介绍了 GKE 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 |
* GKE on Bare Metal 仅支持 CPU 微架构级别 为 v3 (x86-64-v3) 及更高版本的 x86-64 CPU 和 vCPU。
如需使用边缘配置文件配置独立集群,请遵循以下最佳做法:
在单独的工作站上运行
bmctl
。如果必须在目标集群节点上运行bmctl
,则需要 2 GiB 内存才能满足最低要求。例如,Ubuntu 需要 6 GiB,CentOS/Redhat 需要 8 GiB。将
MaxPodsPerNode
设置为 110。集群的每个节点运行的用户 pod 数平均不超过 30 个。对于更高的MaxPodsPerNode
配置,或每个节点运行的用户 pod 数超过 30 个,您可能需要额外的资源。在此最低资源配置中不考虑 VM Runtime on Google Distributed Cloud 组件。VM Runtime on Google Distributed Cloud 需要额外的资源,具体取决于集群中部署的虚拟机数量。
其他存储空间要求
GKE on Bare Metal 不提供任何存储资源。您必须在系统上预配和配置所需的存储空间。
如需详细了解存储空间要求,请参阅安装前提条件概览。
如需详细了解如何配置所需的存储空间,请参阅为 GKE on Bare Metal 配置存储空间。
节点机器前提条件
节点机器具有以下前提条件:
- 其操作系统是受支持的 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 上,从 GKE on Bare Metal 1.8.2 开始运行,您无需停用 AppArmor。如果您使用早期版本的 GKE on Bare Metal 部署集群,请使用以下命令停用 AppArmor:
systemctl stop apparmor
创建集群时,系统仅检查 GKE on Bare Metal 系统组件所需的可用空间。此更改可让您更好地控制为应用工作负载分配的空间。每当安装 GKE on Bare Metal 时,请确保支持以下目录的文件系统具有所需的容量并满足以下要求:
/
:17 GiB(18,253,611,008 字节)。/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
目录不存在或为空。
除了安装和运行 GKE on Bare Metal 的前提条件之外,客户还应遵守对行业或业务细分进行治理的相关标准,例如处理信用卡的企业的 PCI DSS 要求或国防工业中企业的安全技术实现指南 (STIG)。
负载均衡器机器前提条件
如果您的部署没有专用的负载均衡器节点池,则可以使用工作器节点或控制层面节点构建负载均衡器节点池。在这种情况下,还需满足其他前提条件:
- 机器位于同一第 2 层子网中。
- 所有 VIP 都在负载均衡器节点子网中,并且可从子网的网关路由。
- 负载均衡器的子网应侦听免费 ARP,以将数据包转发到主负载均衡器。