当需要在机器上运行的容器或者镜像数量不断增加时,磁盘的大小可能不再满足需求,您需要通过增加数据盘的方式对Docker的数据目录进行扩容。

前提条件

如需挂载数据盘,请确保您的集群是1.10.4以后版本。

挂载数据盘

您通常可以选择以下两种方案对集群已有节点进行数据盘扩容:
  • 如果已有节点之前没有挂载盘,请参考为容器服务的Docker增加数据盘
  • 如果已有节点购买了数据盘,但是未能成功挂载,一般可以通过以下步骤进行挂载。
说明
  • 为降低操作过程的风险,建议操作前可以对节点做快照或者进行数据备份。
  • 需要评估集群的应用是否支持被调度到其他节点。
  • 请选择在业务低峰期间操作。
  • 节点排水会导致节点上的Pod被调度到其他节点,请确保集群有多余节点资源。如果资源不足,请考虑提前临时扩容。
在执行操作之前,您可以在worker节点上执行df命令,通过查看命令执行结果中/var/lib/docker是否成功挂载到/dev/vdb1来判断数据盘是否成功挂载。若挂载成功,则无需处理。若未成功挂载,您需要按照以下步骤完成挂载。
挂载数据盘
  1. 设置节点为不可调度。
    详细操作请参考Mark node as unschedulable
  2. 节点排水。
    详细操作请参考Safely-Drain-Node
  3. 移除该节点。
    本文中仅就容器服务控制台中的操作进行说明。
    1. 登录容器服务管理控制台
    2. 登录容器服务管理控制台
    3. 单击左侧导航栏中的集群 > 节点
    4. 选择要移除的节点,单击批量移除或者选择更多 > 移除

      移除节点
    5. 在弹出的移除节点对话框中,单击确定

      释放ECS
      说明 不要选择同时释放ECS复选框。
  4. 重新添加刚才移除的节点。
    1. 单击左侧导航栏中的集群 > 集群
    2. 选择要添加节点的集群。单击更多 > 添加已有节点

      添加节点
    3. 选择自动添加手动添加节点。本文中以自动添加为例。
      自动添加
    4. 选择已有云服务器并单击下一步
    5. 选择在添加节点过程中格式化数据盘

      格式化数据盘
    6. 按照界面提示完成其余操作。

成功添加节点后,您可以登录该节点并执行df命令查看数据盘的挂载情况。

如果数据盘挂载成功,如下图所示。
挂载成功

通过以上两种方案,您可以为已有节点添加或者重新挂载数据盘。