CSI组件包括CSI-Plugin和CSI-Provisioner两部分。本文介绍在容器服务Kubernetes版Container Service for Kubernetes(ACK)中,如何管理与升级CSI-Plugin和CSI-Provisioner存储组件。
前提条件
您已创建一个大于1.14版本的ACK集群,且存储插件选择为CSI。具体操作,请参见创建Kubernetes托管版集群。
您已通过kubectl连接Kubernetes集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
安装CSI-Plugin和CSI-Provisioner
在创建ACK托管版和专有版集群时除非您选择安装flexvolume组件,否则控制台将默认安装CSI-Plugin和CSI-Provisioner组件。
请勿删除默认安装的CSI-Plugin和CSI-Provisioner组件,否则,将导致云盘、OSS、NAS存储卷挂载失败。
验证安装
验证CSI-Plugin和CSI-Provisioner组件是否成功部署。
执行以下命令,查看CSI-Plugin组件是否成功部署。
kubectl get pod -n kube-system | grep csi-plugin
执行以下命令,查看CSI-Provisioner组件是否成功部署。
kubectl get pod -n kube-system | grep csi-provisioner
升级CSI-Plugin和CSI-Provisioner
CSI-Plugin和CSI-Provisioner组件支持在控制台升级。
登录容器服务管理控制台。
在控制台左侧导航栏,单击集群。
在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
在集群管理详情页左侧导航栏,选择 。
单击存储页签,在csi-plugin及CSI-Provisioner组件区域单击升级。
在提示对话框中确认版本信息后单击确定。
升级成功后,对应组件区域会提示升级成功,且可查看组件当前版本。
若控制台升级失败或前置检查失败,可以按照以下场景操作。
CSI-Plugin组件前置检查失败。
若您的集群没有使用云盘、NAS或OSS类型数据卷,请手动升级CSI-Plugin组件。
若您的集群使用了云盘、NAS或OSS类型数据卷,且集群为测试环境,需要选择手动升级。
若您的集群使用了云盘、NAS或OSS类型数据卷,且包含关键业务数据,请提交工单申请手动升级保障。
CSI-Plugin组件前置检查通过,但是升级失败。
检查集群中节点是否都是Ready状态,如果存储在NotReady节点,需要先解决节点问题。
若无法找到具体原因,请提交工单申请手动升级保障。
控制台可以看到CSI-Plugin组件,但看不到CSI-Provisioner组件。
因为使用了早期的CSI-Provisioner的StatefulSet部署模式,请提交工单申请手动升级保障。
CSI-Provisioner组件前置检查失败。
若您的集群没有使用通过StorageClass创建的云盘或NAS类型的动态数据卷,请手动升级CSI-Provisioner组件。
若您的集群使用通过StorageClass创建的云盘或NAS类型的动态数据卷,且集群为测试环境,需要选择手动升级。
若您的集群使用通过StorageClass创建的云盘或NAS类型的动态数据卷,且包含关键业务数据,请提交工单申请手动升级保障。
CSI-Provisioner组件前置检查通过,但是升级失败,请提交工单申请手动升级保障。