Kubernetes · Docker · 裸金属
裸金属上的 Kubernetes 每个节点下都有一整台服务器
裸金属上的 Kubernetes 意味着 kubelet 直接运行在物理服务器上,下面没有虚拟机监控程序,也没有其他租户。在这里,您租用这些服务器,安装您偏好的发行版,并保留 root 权限、远程控制台以及每个节点上的所有核心。
- 每个节点一个租户
- 无虚拟机监控程序
- 按小时或按月计费
- 不限流量的端口
付款确认后大约 30 分钟即可交付一台就绪的服务器,因此一个三节点集群当天下午就能运行起来。您可以选择 kubeadm、k3s、RKE2 或纯 Docker。您的 Pod 与硬件之间没有虚拟机监控程序,也没有资源配额。
目录实时定价
裸金属 Kubernetes 集群的三种节点规格
每种规格中今天最便宜的就绪服务器,以及它的售价。每个数字都属于其下方列出的确切机器。可以混合搭配:一个或三个控制平面节点,然后根据需要的工作负载添加任意数量的工作节点。
Control plane node
Intel Atom C2750
API server, scheduler and etcd
$34.40/mo
or $0.0613/hr on hourly billing
- Memory16 GB
- StorageSATA 500 GB
- Port500 Mbps Unmetered
- CityNew York
General worker
Intel Xeon E5-2630L v4
Most application pods
$113.77/mo
or $0.2026/hr on hourly billing
- Memory64 GB
- Storage2 x SATA-SSD 240 GB
- Port1 Gbps Unmetered
- CitySan Francisco
Large worker
Intel Xeon E5-2630L v3
Databases, caches, big JVMs
$210.28/mo
or $0.3745/hr on hourly billing
- Memory256 GB
- StorageSATA-SSD 3.84 TB
- Port1 Gbps Unmetered
- CityNew York
按小时计费适用于现成的就绪服务器,按每月价格除以 730 再乘以 1.3 计算。按您的配置定制的服务器按月计费,需要 4 to 24 hours,并在您付款前于订单页面显示一次性设置费。所有就绪服务器均列出价格,GPU 节点在 GPU 服务器页面,arm64 节点在 Arm 服务器页面。
没有虚拟机监控程序会有什么不同
裸金属上的容器:您的集群能获得什么
容器本身已经隔离了进程。把它放进虚拟机,就在您的 Pod 和硬件之间多了一层调度、内存和 I/O。在裸金属上,这一层不复存在。
稳定的延迟
主机上没有别人
核心、内存总线、磁盘和网卡只服务于您的 Pod。同一主机上的繁忙客户无法拖慢您的 p99,因为根本不存在同一主机。
硬件访问
您的 Pod 能看到的设备
用于持久卷的本地 NVMe、通过设备插件使用的专用 GPU、使用静态 CPU 管理器进行 CPU 绑定、大页内存。所有这些都是真实设备,而非模拟设备。
固定账单
没有出站流量计量
每台服务器都有固定价格和不限流量的端口。节点之间以及到互联网的流量不会增加账单金额,所以一个频繁通信的服务网格的成本就是服务器的成本。
掌控力
节点故障时仍有 root 权限
内核版本、sysctl、容器运行时和防火墙都由您设置。当节点停止响应时,远程控制台和救援模式仍然可用,因此您可以在更换节点之前读取日志。
两种运行方式
自己运行 Kubernetes,或让我们运行控制平面
本页面面向希望运营整个集群的团队。如果您不想运行 API 服务器和 etcd,我们的托管方案会使用您的专用服务器作为工作节点,由我们来运营控制平面。
| 问题 | 托管控制平面 | 您自己运行(本页面) |
|---|---|---|
| 谁运行 API 服务器和 etcd | 我们 | 您 |
| 发行版 | RKE2 | 任意:kubeadm、k3s、RKE2 等 |
| 城市 | 纽约 | New York, Miami, San Francisco, Amsterdam and Bucharest |
| 工作服务器 | 运行 Ubuntu 的就绪服务器 | 我们出售的任何服务器,也可按订单定制 |
| 工作节点上的 root 权限 | 有 | 有,每个节点都有 |
| 升级 | 您触发,我们执行 | 由您自行规划和执行 |
在选择之前,请阅读托管集群的运作方式。两者都运行在相同的服务器和相同的网络上。
搭建过程
从下单到可用的裸金属集群
以下步骤是在我们服务器上搭建 kubeadm、k3s 或 RKE2 集群的常规流程。全程无需提交工单。
用你的密钥下单节点
选择 Ubuntu、Debian 或 AlmaLinux,粘贴你的 SSH 公钥和 user-data 脚本。服务器交付时密钥已在上面,脚本随后以 root 身份运行一次,其退出码和输出会保留在服务器页面上。
等待就绪信号
付款确认后,大约 30 分钟内服务器即可就绪。server.ready webhook 可以在每个节点启动的瞬间通知你的流水线,之后 API 密钥可处理重启和重装。
安装发行版
初始化第一个控制平面节点,然后加入其余节点。要实现高可用控制平面,请使用三个节点,这样在一个节点宕机时 etcd 仍能保持法定人数。
添加网络和负载均衡器
安装 Cilium 或 Calico 等 CNI。对于 LoadBalancer 类型的 Service,运行 MetalLB,并将在配置器中添加到服务器的额外 IPv4 地址分配给它。IPv6 同样可用。
选择存储
通过 local-path 或 OpenEBS provisioner 使用本地 NVMe,适合自行复制的数据库。对于需要跟随 Pod 迁移到其他节点的卷,可在三台或更多带有空闲磁盘的服务器上运行 Rook 与 Ceph。
在主机防火墙中将集群端口(6443、10250、2379 和 2380)限制为仅你自己的节点可访问。从控制面板重装节点免费,次数不限。
一台服务器也足够
在独立服务器上运行 Docker
并非所有容器工作负载都需要编排器。一台搭载 Docker Engine 和 Compose 的独立服务器就能运行整套服务,运维负担比集群更小,而且这台机器以后也可以加入集群。
在 Ubuntu 或 Debian 上从 Docker 官方仓库安装,或在 AlmaLinux 上使用 Podman。容器可使用全部 CPU、所有内存和本地磁盘,流量不计费。
当一台服务器不再够用时
- 单台主机故障会让所有服务同时中断。
- 你需要无需维护窗口的滚动部署。
- 负载需要分散到比单台机器更多的核心上。
- 不同团队需要各自的命名空间、配额和访问规则。
到那时,再订购两台服务器,在同一硬件上迁移到 Kubernetes。
常见问题
关于裸金属上的 Kubernetes 和容器的疑问
什么是裸金属 Kubernetes?
裸金属 Kubernetes 是指节点为物理服务器而非虚拟机的 Kubernetes 集群。kubelet 和容器运行时直接运行在主机操作系统上,因此 Pod 直接使用处理器、内存、磁盘和网卡。
裸金属上的 Kubernetes 比虚拟机上的更快吗?
通常对于 I/O 或延迟敏感的工作负载来说更快,因为没有 hypervisor,主机上也没有相邻租户。快多少取决于具体工作负载,建议在按小时计费的服务器上先跑自己的基准测试再决定。
搭建裸金属 Kubernetes 集群需要多少台服务器?
学习的话一台服务器就够。生产环境建议三个控制平面节点,这样在一个节点故障时 etcd 仍能工作,另外至少两个工作节点。小型集群通常也会在控制平面节点上运行工作负载。
裸金属上的 LoadBalancer 服务如何工作?
裸金属没有云负载均衡器可调用,因此由 MetalLB 承担这一角色。你在配置器中为服务器添加额外的 IPv4 地址,MetalLB 会为你的 Service 宣告这些地址。
我可以在独立服务器上运行 Docker 吗?
可以。订购任意 Linux 服务器,安装 Docker Engine 和 Compose,即可在整台机器上运行容器。你拥有 root 权限,运行时、存储驱动和网络配置都由你决定。
可以向集群添加 GPU 节点吗?
可以。订购一台独立 GPU 服务器,安装 NVIDIA 驱动和设备插件,然后给节点打标签或设置污点,让只有 GPU 工作负载调度到上面。每个请求 GPU 的 Pod 都会获得完整的 GPU。
你们能帮我运行控制平面吗?
可以,在纽约。我们的托管方案为你运行 API 服务器和 etcd,并将你的独立服务器作为工作节点加入。详情和费用请参阅托管 Kubernetes 页面。
服务器如何计费?
现成服务器可按小时计费,月费除以 730 再乘以 1.3,也可按月计费,无需签约。端口不限流量,因此流量不收费。
服务器在哪里?
New York, Miami, San Francisco, Amsterdam and Bucharest,全部位于我们自己的网络上,AS19624。下单时你可以为每台服务器选择所在城市。
你们出售服务器机房集装箱吗?
不。我们不销售集装箱式数据中心模块。本页面介绍的是运行在我们数据中心服务器上的软件容器,例如 Docker 和 Kubernetes。
我能获得什么支持?
在线聊天秒级响应。助手可以在对话中查看你的账户和服务器,只要你要求,我们的团队成员随时接管。集群软件本身由你负责运维。