为什么PCDN场景下不适合用K8s进行节点管理
结合实际经验看K8s并不适宜管理PCDN节点,具体原因是:
一、适配场景不同
K8s 主要服务于云机房内标准化、高可靠的集群,侧重集中式的管控,并且在操作系统上使用标准化的Linux发行版。
PCDN节点分布零散,在硬件规格上参差不齐,有x86主机、ARM设备、老旧服务器,部分质量差的节点(比如1G内存、单核CPU)可能无法正常运行kubelet、containerd 这些基础组件。
二、K8s 对网络质量要求高
K8s正常运行依赖节点与master节点间的实时心跳与状态同步,如果网络中断或延迟过高,会将节点标记为 NotReady,触发Pod重启、跨节点调度等操作。
PCDN节点多部署在家庭或中小机房里,普遍存在公网IP不固定,带宽波动大,丢包延迟大等问题。PCDN节点核心价值在于本地的视频缓存,K8s的无效调度会导致缓存丢失,降低内容分发命中率,丧失边缘节点的意义。
三、K8s 无法管控PCDN核心资源
K8s原生调度主要关注CPU、内存。
PCDN节点的核心资源是磁盘空间(用于存储缓存内容)与带宽(用于内容分发)。
四、K8s 运维成本大
K8s本身属于重运维,需维护master节点的apiserver、etcd等组件,这些组件不能部署完就不管,要定期监控运行状态、升级版本。
PCDN节点规模通常达十万级,边缘节点网络条件差,如果使用 k8s 运维工作量会呈指数级上升。