知识卡片
Kubernetes卷绑定到Pod而非容器
内容
Docker的数据卷是挂载给单个容器的,而Kubernetes把数据卷的生命周期绑定在Pod这个层级上——一个Pod内可能运行多个容器,数据卷贯穿整个Pod的生命周期,比Pod内任何单个容器活得都长,容器重启时数据依然保留,Pod内的多个容器还可以通过共享同一个卷来互相传递数据。这个设计直接对应了Pod的定位:Pod是Kubernetes调度和资源共享的最小单位(同一个Pod内的容器共享网络IP和存储),而不是容器本身。发散:这体现了”存储的生命周期应该绑定到哪个层级”这个问题的正确答案永远取决于”什么才是真正稳定、有意义的业务单元”——Docker早期以容器为单位,是因为容器就是当时最小的可调度单元;Kubernetes引入Pod作为更高一层的调度单元后,存储的归属自然也要跟着上移一层,否则容器内部的协作(比如日志采集容器和业务容器共享文件)就无从谈起。
参考来源
《Linux开源存储全栈详解从Ceph到容器存储》第9章《容器存储》