![GKE 是否仅在启动 SSD 磁盘中部署无状态 Pod,或者如果没有更多磁盘空间是否也在本地 SSD 中部署?](https://linux22.com/image/754421/GKE%20%E6%98%AF%E5%90%A6%E4%BB%85%E5%9C%A8%E5%90%AF%E5%8A%A8%20SSD%20%E7%A3%81%E7%9B%98%E4%B8%AD%E9%83%A8%E7%BD%B2%E6%97%A0%E7%8A%B6%E6%80%81%20Pod%EF%BC%8C%E6%88%96%E8%80%85%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%E6%9B%B4%E5%A4%9A%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E6%98%AF%E5%90%A6%E4%B9%9F%E5%9C%A8%E6%9C%AC%E5%9C%B0%20SSD%20%E4%B8%AD%E9%83%A8%E7%BD%B2%EF%BC%9F.png)
我有一个包含 2 个节点的集群,每个节点有 10 Gb 的启动 SSD 磁盘和 375 Gb 的本地 SSD。我担心启动 SSD 磁盘已满时,GKE 会在本地 SSD 中部署无状态 pod 还是会抱怨没有空间?
换句话说,本地 SSD 仅供我明确使用还是 GKE 可以根据自己的需要使用它?
答案1
在kubelet 文档你可以找到这个标志:
--根目录字符串
用于管理 kubelet 文件(卷挂载等)的目录路径。(默认“/var/lib/kubelet”)
此标志设置了 kubelet 存储机密和一些卷挂载的位置,因此如果空间不足,k8s 可能会在创建 pod 时失败。
还有另外一条路,这条路是docker 特定。它调用了data-root
,可以找到更多信息这里。它默认为/var/lib/docker
并存储所有容器的文件。因此,如果磁盘空间不足,您将无法创建容器文件,并且启动新容器将失败。
--数据根是存储持久数据(例如镜像、卷和集群状态)的路径。默认值为 /var/lib/docker。
结论: 如果您有自托管集群,您只需更改默认值即可,一切正常,但由于您使用的是托管 k8s 集群 (GKE),因此您所能做的就是使用更大的启动磁盘。此外:不,k8s 不会自动使用其他磁盘(至少据我所知)。