A没有虚拟层
你的 Pod 与硬件之间没有任何阻隔
没有虚拟机监控程序分走处理器资源,也不会挡在磁盘和网络路径中间。你在节点上测到的就是容器实际得到的,这让设置 requests 和 limits 变得更容易。
为容器准备的裸金属
裸金属上的 Kubernetes 意味着集群中的每个节点都是一整台独立服务器,你的 Pod 与硬件之间没有虚拟机监控程序。Primcast 按月出租这些服务器,提供 root 权限和不限流量的端口,你可以安装 Docker、k3s、RKE2 或 kubeadm,按自己的方式运行集群。
已经上架的服务器会在订单获批后约 30 分钟内交付。没有合同:一次只付一个月的费用。
01为什么选择裸金属
容器已经共享同一个内核,底下再加一层虚拟机只会多出一层对你毫无帮助的东西。在独立服务器上,你的工作负载可以直接使用处理器、内存、磁盘和网卡。
A没有虚拟层
没有虚拟机监控程序分走处理器资源,也不会挡在磁盘和网络路径中间。你在节点上测到的就是容器实际得到的,这让设置 requests 和 limits 变得更容易。
B单一租户
没有其他人在你的服务器上运行任何东西。忙碌的陌生人无法吃掉你的数据库 Pod 所依赖的磁盘队列或内存带宽,延迟会保持在你设定的水平。
C固定账单
每台服务器都带一个不限流量且不共享的端口,根据线路不同为 1 Gbps 或 500 Mbps。镜像拉取、节点间复制以及面向用户的流量,永远不会按每 GB 计费。
D完全掌控
你在每台服务器上都有 root 权限,并且可以免费从控制面板重装系统。机架式服务器和刀片服务器还提供带电源控制的浏览器控制台,以备某天网络变更把你锁在外面。
02选择你的路径
从任务出发。一台机器上的少量服务只需要 Docker,别的都不用。多台需要自愈的机器则需要 Kubernetes,接下来的问题就是谁来照看控制平面。
| 路径 | 适合 | 控制平面 | 去哪里 |
|---|---|---|---|
| 独立服务器上的 Docker | 用 Docker Compose 跑几个应用、一个构建运行器、生产环境的预发布副本 | 不需要 | 下面任意一台服务器 |
| 你自己的 Kubernetes 集群 | 想自己选择发行版、网络插件和升级日期的团队 | 由你在自己的服务器上运行 | 本页 |
| 托管 Kubernetes | 想要 kubectl 和自己的 worker 节点、但不想照看 etcd 的团队 | 由我们运行;你的服务器作为 worker 节点 | 托管 Kubernetes |
只需要一台小机器?云 VPS 也能运行 Docker。想在自己的硬件上同时使用虚拟机和容器?看看 Proxmox 服务器。
03规格
kubeadm 文档设定了底线:每台机器 2 GB 内存,控制平面节点至少 2 个处理器核心。任何独立服务器都能轻松满足,所以请根据工作负载来规划规格,并且如果集群需要承受失去一个节点的风险,请规划三个控制平面节点。
| 角色 | 最低要求 | 节点之间需要开放的端口 |
|---|---|---|
| 控制平面 | 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 步合并到一个安装脚本中,其余步骤保持不变。
从下方列表中选择服务器,并在结账时选择当前的 Ubuntu 或 Debian 镜像。机架式服务器在获批后约 30 分钟即可交付;按你的规格定制的服务器在零件齐备时需要 4 到 24 小时。
安装容器运行时,例如 containerd,保持时钟同步,并关闭交换分区,除非你已经为 kubelet 配置好了它。然后从 Kubernetes 软件包仓库安装 kubeadm、kubelet 和 kubectl。
在第一台控制平面服务器上运行 kubeadm init,然后在每个工作节点上运行它打印出来的 kubeadm join 命令行。你的 kubeconfig 就在那第一台服务器上。
在网络插件就位之前,Pod 无法通信。Cilium、Calico 和 Flannel 是常见的选择;Cilium 和 Calico 还能强制执行 NetworkPolicy。
只允许来自你自己节点地址访问上表中的端口,并且只对运行集群的人员开放 API 端口。
裸金属没有云负载均衡器,因此像 MetalLB 这样的工具会为 LoadBalancer 类型的 Service 分配随服务器一起订购的额外 IPv4 地址。然后由入口控制器在 80 和 443 端口上提供你的站点服务。
只需要 Docker?从 Docker 官方仓库为你的发行版安装 Docker Engine,用 docker run hello-world 检查它,然后用 Docker Compose 运行你的技术栈。整个配置就是这样。
05服务器
下面的每一台服务器都可以作为 Docker 主机或自管 Kubernetes 集群中的节点。价格和规格直接来自产品目录;打开其中一台即可查看其选项并订购。
06下单之前
在这条路线上,我们负责硬件和网络,你负责从操作系统往上的所有内容。下面就是这条分界线的位置。
07常见问题
通常是的,因为你的 Pod 和硬件之间没有任何东西。虚拟机在处理器、磁盘和网络路径中增加了 hypervisor,并且常常与其他客户共享主机。在专用服务器上,你的容器拥有整台机器,当别人忙碌时,它们的性能也不会变化。
可以。你拥有 root 权限,因此可以从 Docker 官方仓库为你的发行版安装 Docker Engine,并立即运行容器或 Docker Compose 栈。很多人从这种方式开始,等服务器超过一台后再加入 Kubernetes。
本页面的服务器不提供这项服务:你自行选择发行版并运行集群。如果你不想自己维护控制平面,我们的托管 Kubernetes 会在纽约为你运行它,而你自己的专用服务器继续作为工作节点,每台都保留 root 权限。
一台服务器就可以用 k3s 或 kubeadm 运行单节点集群,适合开发使用。若要集群在机器故障时仍能继续运行,请使用三个控制平面节点,使 etcd 保持法定人数,再根据需要添加足够的工作节点。
没有云负载均衡器可调用,因此你需要在集群中安装一个。MetalLB 是常见选择:它为每个 LoadBalancer 类型的 Service 分配一个随服务器订购的额外 IPv4 地址,并在网络上宣告该地址。
不会。专用服务器上的流量不计数。每台服务器都有自己的端口,根据线路为 1 Gbps 或 500 Mbps,镜像拉取、复制和用户流量都通过它,月费相同。
已经上架的服务器在订单获批后约 30 分钟即可就绪,并预装你选择的操作系统。按你的规格定制的服务器在有零件的情况下需要 4 到 24 小时。审批本身,包括付款和欺诈检查,是最先进行的环节,也是耗时最不确定的部分。
我们的 AI 聊天可在几秒内回复,并能为你检查账户和服务器,只要你要求,人工客服就会接手。我们修复硬件和网络问题;集群内部的问题需要你自己解决,不过我们很乐意为你指明方向。