在容器服务功能迭代的过程中,早期的一些版本是不支持数据盘挂载的。当需要在机器上运行的容器或者镜像的数量不断增加时,有可能磁盘的大小不再满足需求,这个时候就需要给Docker的数据目录通过增加数据盘的方式进行扩容。
在对已经在集群中的节点进行数据盘扩容时,通常来说有两种方案:
- 如果已有的节点之前没有挂载盘。可以参考文档
- 如果已有的节点购买了数据盘,但是未能成功挂载,一般可以通过以下步骤来完成(注意:需要评估集群的应用是否支持下线节点;请选择在业务低峰期间操作; 节点排水会导致节点上的Pod被调度到其他节点,确保集群有多余节点资源,如果资源不足,请考虑提前临时扩容。)
在执行操作之前,可以先通过在worker节点上执行"df"命令来判断数据盘是否成功挂载,若挂载,则无需处理。若未挂载,则按以下步骤进行。
通过查看命令执行结果中/var/lib/docker是否成功挂载到 /dev/vdb1 来判断。
- 设置节点为不可调度,参考Mark node as unschedulable
- 节点排水 ,参考Safely-Drain-Node
-
移除该节点, 文档中仅涉及如何容器服务控制台如何操作 ,详见下图。
- 选中要移除的节点
- 选中要移除的节点
- 移除节点(请务必注意不要选择同时释放ECS)
-
重新添加刚才移除的节点
- 选择要添加的集群,集群->更多->添加已有节点
- 选择要添加的集群,集群->更多->添加已有节点
- 选择自动/手动方式添加节点(文档主要是自动方式)
- 选择添加过程中格式化数据盘
- 节点成功完成添加后。可以登陆节点执行"df"命令,查看数据盘的挂载情况。如果成功挂载数据盘,如下图所示
通过以上的两种方式,我们就可以为已有的节点添加或者重新挂载数据盘。
注意:为了降低操作过程的风险,建议操作之前可以对节点做快照或者进行数据的备份。