kubernetes vps
Kubernetes工作节点
集群经济性由每个专用核心的成本决定,而不是每个实例的成本。EPYC Bergamo在一个插槽中提供128个核心,其时钟频率对于容器化服务完全足够,这就是为什么TORQUE在我们的整个产品线中是购买真正专用核心最便宜的方式。Talos和Flatcar镜像已预构建,私有VLAN承载Pod流量而无需出站计费。
为什么这个配置
TORQUE提供专用核心,价格是我们能构建的最低每核心成本。将控制平面放在一个节点上,工作节点放在其余节点上,并通过私有VLAN连接,使集群内流量不接触公共接口或带宽配额。
我们会部署什么
规模确定
按专用核心而非实例来为集群定价。TORQUE Bergamo提供密集的真实核心,因此一个3节点、4核8GB的控制平面可以承载约100个工作节点。工作节点的大小应使丢失一个节点损失少于三分之一的容量:5个16核节点优于2个40核节点。在计算可分配资源前,为每个节点预留一个核心和2GB用于kubelet、containerd和CNI。低于8个核心的节点会在系统守护进程上花费太多资源。
Talos及其带来的精简
Talos是48个镜像之一,它消除了整类节点漂移问题。没有shell、SSH和包管理器。配置通过API以机器配置形式到达,根文件系统是不可变且经过验证的。实际上,这意味着重建节点比修复节点更便宜,这也是工作节点的正确姿态。47秒的中位配置时间使其成为现实的工作流程而非口号。将机器配置与Manifest放在同一仓库中,使用talosctl应用升级,并将需要手动关注的节点视为应替换的节点。
私有VLAN和每核心成本
Kubernetes产生的东西向流量远超大多数运营商的预期:服务网格sidecar、CSI复制、etcd、指标采集以及每次跨节点Pod调用。将这些放在私有VLAN上可使其远离公共接口、DDoS清洗路径以及任何可能枚举CNI的行为。它还简化了NetworkPolicy,因为节点网络不再从外部可达。在成本方面,专用Bergamo核心意味着没有steal time和吵闹的邻居,因此请求与实际情况匹配。年度计费30%折扣和舰队折扣(10台以上叠加10%)使每核心成本足够可预测,便于预算。
常见问题
- 将etcd分散到不同城市。etcd需要单数毫秒的fsync延迟和约10毫秒以下的仲裁RTT。将三个成员保留在同一城市,仅扩展工作节点。
- 忘记系统预留。不设置kube-reserved和system-reserved,调度器会将节点打包到标称内存,kubelet随后开始驱逐它刚接纳的Pod。
- 通过公共地址运行Pod到Pod流量。覆盖网络流量通过公共网卡默认未加密,计入出口路径,并暴露CNI端口。将其放在私有VLAN上。
调整配置
- 地址和传输 — Private VLAN between your servers · €6
- CPU调度 — 锁定物理核心 · €9
- 其他所有选项 — 秒级指标和告警 · €5