对于阿里云Kubernetes 1.16之前版本的集群,若创建集群时存储插件选择为Flexvolume,则控制台默认安装Flexvolume与Disk-Controller组件,但不会默认安装NAS Controller组件。本文介绍如何对Flexvolume组件升级管理及如何安装NAS Controller组件。

前提条件

使用限制

目前支持CentOS 7、Aliyun Linux 2操作系统。

安装组件

安装Flexvolume组件

  • 对于阿里云Kubernetes 1.16及之后版本的集群,不再支持Flexvolume组件的安装,请使用CSI-Plugin组件。更多信息,请参见CSI和Flexvolume存储插件的区别
  • 对于阿里云Kubernetes 1.16之前版本的集群,在创建集群时,若存储插件选择为Flexvolume,则控制台会默认安装Flexvolume组件。具体操作,请参见组件配置

安装Disk-Controller组件

  • 对于阿里云Kubernetes 1.16及之后版本的集群,不再支持Disk-Controller组件的安装,请使用CSI-Provisioner组件。更多信息,请参见CSI和Flexvolume存储插件的区别
  • 对于阿里云Kubernetes 1.16之前版本的集群,在创建集群时,若存储插件选择为Flexvolume,则控制台会默认安装Disk-Controller组件。具体操作,请参见组件配置

安装NAS Controller组件

若您的集群存储插件选择为Flexvolume,可以通过手动部署NAS Controller方式实现动态NAS数据卷。

通过以下YAML模板手动安装。
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: alicloud-nas-controller
  namespace: kube-system
spec:
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: alicloud-nas-controller
    spec:
      tolerations:
      - operator: Exists
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 1
            preference:
              matchExpressions:
              - key: node-role.kubernetes.io/master
                operator: Exists
      priorityClassName: system-node-critical
      serviceAccount: admin
      hostNetwork: true
      containers:
        - name: nfs-provisioner
          image: registry.cn-hangzhou.aliyuncs.com/acs/alicloud-nas-controller:v1.14.3.8-58bf821-aliyun
          env:
          - name: PROVISIONER_NAME
            value: alicloud/nas
          securityContext:
            privileged: true
          volumeMounts:
          - mountPath: /var/log
            name: log
      volumes:
      - hostPath:
          path: /var/log
        name: log

验证安装

验证Flexvolume、Disk-Controller与NAS Controller组件是否成功部署。

  • 执行以下命令,查看Flexvolume组件是否成功部署。
    kubectl get pod -nkube-system | grep flexvolume
  • 执行以下命令,查看Disk-Controller组件是否成功部署。
    kubectl get pod -nkube-system | grep alicloud-disk-controller
  • 执行以下命令,查看NAS Controller组件是否成功部署。
    kubectl get pod -nkube-system | grep alicloud-nas-controller

升级组件

Flexvolume与Disk Controller组件支持在控制台升级,NAS Controller组件不支持在控制台升级。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理详情页左侧导航栏,选择运维管理 > 组件管理
  5. 单击存储页签,在flexvolumealicloud-disk-controller组件区域单击升级
  6. 提示对话框中确认版本信息后单击确定
    升级成功后,对应组件区域会提示升级成功,且可查看组件当前版本。
  • Flexvolume组件升级时,以下场景请联系我们申请手动升级保障。
    • 在线升级失败。
    • Flexvolume组件版本不大于v1.12,且使用了云盘或OSS数据卷。
    • 集群业务敏感,且使用大量数据卷,希望提供升级保障。
  • Disk Controller组件升级失败时,请联系我们申请手动升级保障。

联系我们

若您需要申请手动升级保障,请使用钉钉扫描下面的二维码或搜索钉钉群号加入钉钉群咨询。

群名:容器存储组件升级支持群

群号:35532895

容器存储组件升级支持群