为容器准备的裸金属

裸金属上的 Kubernetes 由你自己来运行

裸金属上的 Kubernetes 意味着集群中的每个节点都是一整台独立服务器,你的 Pod 与硬件之间没有虚拟机监控程序。Primcast 按月出租这些服务器,提供 root 权限和不限流量的端口,你可以安装 Docker、k3s、RKE2 或 kubeadm,按自己的方式运行集群。

已经上架的服务器会在订单获批后约 30 分钟内交付。没有合同:一次只付一个月的费用。

01为什么选择裸金属

为什么你的容器在专属服务器上运行得更好

容器已经共享同一个内核,底下再加一层虚拟机只会多出一层对你毫无帮助的东西。在独立服务器上,你的工作负载可以直接使用处理器、内存、磁盘和网卡。

A没有虚拟层

你的 Pod 与硬件之间没有任何阻隔

没有虚拟机监控程序分走处理器资源,也不会挡在磁盘和网络路径中间。你在节点上测到的就是容器实际得到的,这让设置 requests 和 limits 变得更容易。

B单一租户

没有邻居拖慢你的节点

没有其他人在你的服务器上运行任何东西。忙碌的陌生人无法吃掉你的数据库 Pod 所依赖的磁盘队列或内存带宽,延迟会保持在你设定的水平。

C固定账单

没人计数的流量

每台服务器都带一个不限流量且不共享的端口,根据线路不同为 1 Gbps 或 500 Mbps。镜像拉取、节点间复制以及面向用户的流量,永远不会按每 GB 计费。

D完全掌控

root 权限、重装按钮和一条后路

你在每台服务器上都有 root 权限,并且可以免费从控制面板重装系统。机架式服务器和刀片服务器还提供带电源控制的浏览器控制台,以备某天网络变更把你锁在外面。

02选择你的路径

一台独立服务器上的 Docker,还是裸金属 Kubernetes?

从任务出发。一台机器上的少量服务只需要 Docker,别的都不用。多台需要自愈的机器则需要 Kubernetes,接下来的问题就是谁来照看控制平面。

在 Primcast 服务器上运行容器的三种方式
路径适合控制平面去哪里
独立服务器上的 Docker用 Docker Compose 跑几个应用、一个构建运行器、生产环境的预发布副本不需要下面任意一台服务器
你自己的 Kubernetes 集群想自己选择发行版、网络插件和升级日期的团队由你在自己的服务器上运行本页
托管 Kubernetes想要 kubectl 和自己的 worker 节点、但不想照看 etcd 的团队由我们运行;你的服务器作为 worker 节点托管 Kubernetes

只需要一台小机器?云 VPS 也能运行 Docker。想在自己的硬件上同时使用虚拟机和容器?看看 Proxmox 服务器。

03规格

裸金属 Kubernetes 节点需要什么

kubeadm 文档设定了底线:每台机器 2 GB 内存,控制平面节点至少 2 个处理器核心。任何独立服务器都能轻松满足,所以请根据工作负载来规划规格,并且如果集群需要承受失去一个节点的风险,请规划三个控制平面节点。

Kubernetes 文档中的最低要求和端口
角色最低要求节点之间需要开放的端口
控制平面2 核,2 GB 内存6443, 2379-2380, 10250, 10257, 10259
工作节点2 GB 内存10250, 10256, 30000-32767
每个节点唯一的主机名、MAC 地址和产品 UUID与其他节点之间的完整网络连通

一个能正常工作的小集群

一个控制平面节点加两个工作节点,足以用于学习和运行预发布环境。把 etcd 放在配备固态硬盘的服务器上:它对磁盘写入延迟很敏感,磁盘慢会让集群中的每一次变更都变慢。

一个能承受服务器故障的集群

三个控制平面节点可以在其中一个宕机时保持 etcd 的法定人数。添加工作节点来扩充容量,并把 GPU 服务器放进同一个集群中用于推理或编码任务,用标签和污点将它们与其他 Pod 隔离开。

04搭建

一个晚上搭好你自己的集群

以下是使用 kubeadm 的常规操作顺序。k3s 和 RKE2 会把第 2 步和第 3 步合并到一个安装脚本中,其余步骤保持不变。

  1. 01

    订购服务器

    从下方列表中选择服务器,并在结账时选择当前的 Ubuntu 或 Debian 镜像。机架式服务器在获批后约 30 分钟即可交付;按你的规格定制的服务器在零件齐备时需要 4 到 24 小时。

  2. 02

    准备每个节点

    安装容器运行时,例如 containerd,保持时钟同步,并关闭交换分区,除非你已经为 kubelet 配置好了它。然后从 Kubernetes 软件包仓库安装 kubeadm、kubelet 和 kubectl。

  3. 03

    启动控制平面

    在第一台控制平面服务器上运行 kubeadm init,然后在每个工作节点上运行它打印出来的 kubeadm join 命令行。你的 kubeconfig 就在那第一台服务器上。

  4. 04

    添加网络插件

    在网络插件就位之前,Pod 无法通信。Cilium、Calico 和 Flannel 是常见的选择;Cilium 和 Calico 还能强制执行 NetworkPolicy。

  5. 05

    关好大门

    只允许来自你自己节点地址访问上表中的端口,并且只对运行集群的人员开放 API 端口。

  6. 06

    让流量进来

    裸金属没有云负载均衡器,因此像 MetalLB 这样的工具会为 LoadBalancer 类型的 Service 分配随服务器一起订购的额外 IPv4 地址。然后由入口控制器在 80 和 443 端口上提供你的站点服务。

只需要 Docker?从 Docker 官方仓库为你的发行版安装 Docker Engine,用 docker run hello-world 检查它,然后用 Docker Compose 运行你的技术栈。整个配置就是这样。

05服务器

用于 Docker 和 Kubernetes 的独立服务器

下面的每一台服务器都可以作为 Docker 主机或自管 Kubernetes 集群中的节点。价格和规格直接来自产品目录;打开其中一台即可查看其选项并订购。

06下单之前

你能得到什么,哪些仍需自己负责

在这条路线上,我们负责硬件和网络,你负责从操作系统往上的所有内容。下面就是这条分界线的位置。

每台服务器都包含

  • 整台机器,拥有 root 权限,且没有其他人共用
  • 一个不限流量的独立端口,外加一个 IPv4 和一个 IPv6 地址
  • 可从控制面板免费重装操作系统
  • 机架服务器和刀片服务器提供浏览器控制台和电源控制
  • 当网络中断或故障部件未及时更换时,按服务协议提供补偿额度

需要了解

  • 在这条路线上,我们不安装、升级或监控你的集群。如果需要这项服务,请查看托管 Kubernetes。
  • 任何服务器均不附带 DDoS 防护。
  • 大多数 cartridge 服务器有电源控制但没有控制台,因此请为你的控制平面选择机架服务器或刀片服务器。
  • ARM 服务器可运行 Docker 和 Kubernetes,但仅支持为 arm64 构建的镜像。

07常见问题

关于裸金属上运行容器的常见问题

01Kubernetes 在裸金属上比在虚拟机上更快吗?

通常是的,因为你的 Pod 和硬件之间没有任何东西。虚拟机在处理器、磁盘和网络路径中增加了 hypervisor,并且常常与其他客户共享主机。在专用服务器上,你的容器拥有整台机器,当别人忙碌时,它们的性能也不会变化。

02我可以在专用服务器上运行 Docker 吗?

可以。你拥有 root 权限,因此可以从 Docker 官方仓库为你的发行版安装 Docker Engine,并立即运行容器或 Docker Compose 栈。很多人从这种方式开始,等服务器超过一台后再加入 Kubernetes。

03你们会为我安装和管理 Kubernetes 吗?

本页面的服务器不提供这项服务:你自行选择发行版并运行集群。如果你不想自己维护控制平面,我们的托管 Kubernetes 会在纽约为你运行它,而你自己的专用服务器继续作为工作节点,每台都保留 root 权限。

04搭建 Kubernetes 集群需要多少台服务器?

一台服务器就可以用 k3s 或 kubeadm 运行单节点集群,适合开发使用。若要集群在机器故障时仍能继续运行,请使用三个控制平面节点,使 etcd 保持法定人数,再根据需要添加足够的工作节点。

05LoadBalancer 服务在裸金属上如何工作?

没有云负载均衡器可调用,因此你需要在集群中安装一个。MetalLB 是常见选择:它为每个 LoadBalancer 类型的 Service 分配一个随服务器订购的额外 IPv4 地址,并在网络上宣告该地址。

06节点之间或面向用户的流量会计量吗?

不会。专用服务器上的流量不计数。每台服务器都有自己的端口,根据线路为 1 Gbps 或 500 Mbps,镜像拉取、复制和用户流量都通过它,月费相同。

07服务器多久可以交付?

已经上架的服务器在订单获批后约 30 分钟即可就绪,并预装你选择的操作系统。按你的规格定制的服务器在有零件的情况下需要 4 到 24 小时。审批本身,包括付款和欺诈检查,是最先进行的环节,也是耗时最不确定的部分。

08如果出现问题,我能得到什么帮助?

我们的 AI 聊天可在几秒内回复,并能为你检查账户和服务器,只要你要求,人工客服就会接手。我们修复硬件和网络问题;集群内部的问题需要你自己解决,不过我们很乐意为你指明方向。

在你自己的服务器上构建集群

按月租用服务器,每台都保留 root 权限,按你想要的方式运行 Docker 或 Kubernetes。无合同,流量不计费。

查看所有专用服务器