虚拟机监控程序税
云虚拟机上的 Pod 运行在宿主内核之上的客户机内核中。在专用节点上只有一个内核,直接运行在硬件上,因此你租用的核心和内存都用于你的 Pod,而不是用于它们下面的第二个操作系统。
分工方式
许多托管 Kubernetes 服务让您无法触及节点。而我们的分界线划在控制平面:其上的一切由我们负责,其下的每一台机器仍归您所有。
为什么工作者节点采用裸金属
云虚拟机上的 Pod 运行在宿主内核之上的客户机内核中。在专用节点上只有一个内核,直接运行在硬件上,因此你租用的核心和内存都用于你的 Pod,而不是用于它们下面的第二个操作系统。
没有其他人的工作负载共享这台机器、它的磁盘或内存带宽。你周一运行的基准测试不会被别人周五的批处理作业所破坏。
工作服务器按月固定计费,离开集群的每 GB 流量不收取任何费用。提供流量服务不会变成第二张账单。
Kubernetes 是 Apache 2.0 许可证下的开源 CNCF 项目,RKE2 以上游方式运行它。在这里运行的清单可以在任何符合标准的集群上运行,因此离开这里只需要一次迁移,而不是重写。
技术栈
| 层级 | 说明 |
|---|---|
| 发行版 | RKE2,上游 CNCF 合规的 Kubernetes |
| 控制平面 | 由我们运维:开发环境 1 个节点,高可用 3 个节点 |
| 集群状态 | 内嵌 etcd,每 6 小时快照一次 |
| 工作节点 | 您账户下的独立服务器,从纽约库存中逐一挑选并按现状取用,已预装 Ubuntu 24.04 或 26.04(无需重装,无设置费);每单 1 至 10 台,之后可追加至 10 台 |
| 调度 | 单一资源池,每个节点标记 pool=general;更多标签与污点由您通过 kubectl(cluster-admin)设置 |
| Pod 网络 | Cilium,强制执行 Kubernetes NetworkPolicy;节点间无加密,因此需要加密流量的场景请在应用中使用 TLS 或 mTLS,或采用服务网格 |
| 负载均衡器 | MetalLB:LoadBalancer 类型的 Service 会占用工作服务器上的一个额外 IPv4 地址 |
| 节点网络 | 节点的公网地址,防火墙仅放行集群自身节点;无私有 VLAN |
| 访问方式 | Kubeconfig 下载;每台工作节点均有 root SSH、控制台与救援模式 |
| 升级 | 由您发起;先升级控制平面,再逐台升级节点 |
| 位置 | 纽约 |
我们在纽约构建的每个集群均按此方式组装。若某一层发生变化,本表也会随之更新。
工作节点
一份订单包含 1 到 10 台工作服务器,每台都从纽约现成的机器中挑选,控制面板之后可再添加,总数最多 10 台。每个工作节点加入一个池,并带有标签 pool=general。你拥有 cluster-admin 权限,所以把 GPU 机器与 Web 层分开,只需一条 kubectl label 和一条 kubectl taint 命令。
pool=general 之外的标签和污点都由你设置;我们不添加自己的调度规则$ kubectl label node k8s-250123-w3 gpu=true
$ kubectl taint node k8s-250123-w3 gpu=true:NoSchedule
apiVersion: v1
kind: Pod
metadata: name: inference
spec: nodeSelector: gpu: "true" tolerations: - key: gpu operator: Exists effect: NoSchedule containers: - name: model image: ghcr.io/example/model:1.0 常见问题
托管服务。我们运行控制平面,包括 etcd 及其快照,并在您启动升级时驱动升级过程。您的专用服务器作为工作节点加入集群,您永远不需要自己运维控制平面。
RKE2,一个符合 CNCF 标准、搭载上游 Kubernetes 的发行版。您的清单、Helm chart 和 operator 在任何其他符合标准的集群上一样正常工作。
可以。每个工作节点都是您账户下的一台专用服务器,拥有 root SSH、控制台和救援模式,与它不属于集群时完全一样。这是与大多数托管 Kubernetes 的主要区别——那些服务的节点通常对您封闭。
MetalLB 将您工作服务器上的额外 IPv4 地址分配给它,因此您 Service 前面的地址是您已经拥有的地址,而不是我们从共享池中借给您的地址。
不,每个集群没有私有 VLAN。节点通过我们网络上的公网地址互相访问,每个节点上的防火墙只允许集群自身的节点进入。节点之间的流量不由集群加密:Cilium 网络策略控制哪些 pod 可以通信,对于服务之间的加密流量,请在您的应用中使用 TLS 或 mTLS,或使用服务网格。
可以。您可以从纽约现成的机器中挑选每台工作服务器,因此 GPU 和 CPU 服务器可以加入同一个集群。它们最初都位于标记为 pool=general 的池中;借助 cluster-admin,您可以自行给 GPU 节点打标签和设置污点,工作负载通过节点选择器和容忍度在它们之间进行选择。
由您选择时间。我们先升级控制平面,然后逐个升级工作节点,因此运行多个副本的工作负载在集群迁移到新版本期间仍能持续提供服务。
可用,在纽约。在订购页面上,您可以选择 Dev 或 HA 控制平面,以及来自纽约现成机器的一到十台工作服务器;首批发票支付后集群即会构建完成,其 kubeconfig 会等待在您的仪表板中。
选择一个控制平面,为集群命名,并选择一到十台工作服务器。工作服务器按库存原样提供,已预装 Ubuntu 24.04 或 26.04,因此无需设置费,首笔账单支付后即可在交付后立即加入;集群报告就绪后,kubeconfig 会立即出现在您的仪表板中。
想自己运行 Kubernetes?请参阅用于容器的裸金属服务器。只需要一台小型机器而不是集群?云 VPS 是 KVM 虚拟机;专用服务器页面列出了可作为工作服务器的机型。