flexvolume如何升级cpfs-client

简介: cpfs-client已经迭代多个版本,迭代的版本中fix了一些bug同时优化了cpfs的性能,举例说明:flexvolume支持如何对现有的cpfs-client进行升级。当前版本:cpfs-client-2.10.8-202.el7.x86_64cpfs-client-dkms-1.0.0-202.el7.noarch升级后版本:cpfs-client-dkms-1.0.0-208.el7.noarchcpfs-client-2.10.8-202.el7.x86_64

容器服务中CPFS 升级包含两部分:

Flexvolume-cpfs 插件升级;

CPFS-Client 驱动升级;

PS:flexvolume-cpfs插件只支持cpfs-client驱动安装,不支持驱动升级。所以需要先升级flexvolume-cpfs插件,再手动升级cpfs-client底层驱动;

下面提供两种方法完成CPFS升级:

  1. 采用ECS的自动运维服务(OOS方式),在多个worker节点同时执行cpfs-client升级脚本;(此方法需要先将目标节点排水,然后在节点上执行升级脚本等操作;)
  2. 先将flexvolume-cpfs升级到目标版本,通过弹性运维(弹出新节点,业务迁移到新节点,旧节点缩掉);

推荐您使用方法2来实现升级过程;步骤如下:

步骤1:升级Flexvolume-cpfs;

将flexvolume的镜像升级到目标版本(v1.14.8.96-0d85fd1-aliyun)版本。

配置flexvolume的container增加env变量,定义cpfs-client驱动版本:

        - name: CPFS_VERSION
          value: 2.10.8-202
        - name: DKMS_VERSION
          value: 1.0.0-208
        - name: CPFS_URL_PREFIX
          value: https://cpfs-client.oss-cn-beijing.aliyuncs.com/centos
CPFS_VERSION是cpfs-client的version;

DKMS_VERSION是cpfs-dkms-client的version;

CPFS_URL_PREFIX是下载指定cpfs版本的url前缀路径;

flexvolume-cpfs的yaml模板,执行升级命令:

$ kubectl apply -f flexvolume-cpfs.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: flexvolume-cpfs
  namespace: kube-system
  labels:
    k8s-volume: flexvolume-cpfs
spec:
  selector:
    matchLabels:
      name: flexvolume-cpfs
  template:
    metadata:
      labels:
        name: flexvolume-cpfs
    spec:
      hostPID: true
      hostNetwork: true
      tolerations:
      - operator: "Exists"
      priorityClassName: system-node-critical
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: type
                operator: NotIn
                values:
                - virtual-kubelet
      containers:
      - name: flexvolume-cpfs
        image: registry.cn-hangzhou.aliyuncs.com/acs/flexvolume:v1.14.8.96-0d85fd1-aliyun
        imagePullPolicy: Always
        securityContext:
          privileged: true
        env:
        - name: ACS_CPFS
          value: "true"
        - name: FIX_ISSUES
          value: "false"
        - name: CPFS_VERSION
          value: 2.10.8-202
        - name: DKMS_VERSION
          value: 1.0.0-208
        - name: CPFS_URL_PREFIX
          value: https://cpfs-client.oss-cn-beijing.aliyuncs.com/centos
        livenessProbe:
          exec:
            command:
            - sh
            - -c
            - ls /acs/flexvolume
          failureThreshold: 8
          initialDelaySeconds: 15
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 15
        volumeMounts:
        - name: usrdir
          mountPath: /host/usr/
        - name: etcdir
          mountPath: /host/etc/
        - name: logdir
          mountPath: /var/log/alicloud/
        - mountPath: /var/lib/kubelet
          mountPropagation: Bidirectional
          name: kubeletdir
      volumes:
      - name: usrdir
        hostPath:
          path: /usr/
      - name: etcdir
        hostPath:
          path: /etc/
      - name: logdir
        hostPath:
          path: /var/log/alicloud/
      - hostPath:
          path: /var/lib/kubelet
          type: Directory
        name: kubeletdir
  updateStrategy:
    rollingUpdate:
      maxUnavailable: 10%
    type: RollingUpdate

步骤2:业务迁移

弹出新节点:flexvolume-cpfs升级完成后,新弹出的节点会自动安装新版本的cpfs-client;

业务迁移:将老节点的pod排水到新弹出的节点上;

缩掉旧节点,完成业务迁移后,将老节点删除;

目录
相关文章
|
4月前
|
存储 分布式计算 Kubernetes
PVC、Ceph、HDFS、CPFS、NFS和OSS
PVC、Ceph、HDFS、CPFS、NFS和OSS都是分布式存储系统,下面是它们的详细介绍: 1. PVC(Persistent Volume Claim):PVC是Kubernetes中的一个资源请求,用于声明在集群中存储持久化数据的需求。PVC可以被用于存储应用程序的数据,例如数据库、日志文件等。PVC由Kubernetes集群管理员创建,并在Kubernetes集群中进行分配。
114 0
|
存储 机器学习/深度学习 运维
PAI DSW挂载NAS存储 Quick Start
PAI-DSW是一款云端机器学习开发IDE,为您提供交互式编程环境,适用于不同水平的开发者。集成了开源JupyterLab,并以插件化的形式进行深度定制化开发。开发者无需任何运维配置,即可进行Notebook编写、调试及运行Python代码。DSW采用计算和存储分离的架构,提供了适合开发者的数据存储方式。 DSW本身提供算力资源和非持久的本地存储,您可以将您的NAS盘或者OSS Bucket挂载到DSW的指定路径下,从而获得更高的安全性和更高的数据存储容量。使用远程磁盘存储后,如果实例因为某种原因退出,数据不会丢失。启动实例进行计算时,磁盘会自动挂载到您的实例,数据能立即可用。
537 0
PAI DSW挂载NAS存储 Quick Start
|
存储 Cloud Native 文件存储
阿里云文件存储NAS(Apsara File Storage NAS)真是个好东西,相见恨晚。
阿里云文件存储NAS(Apsara File Storage NAS)是一个可大规模共享访问,弹性扩展的高性能云原生分布式文件系统。支持智能冷热数据分层,有效降低数据存储成本。
1107 0
|
存储 Kubernetes 文件存储
使用阿里云容器ACK通过云存储网关(CSG)挂载OSS
本文将详细介绍如何使用阿里云容器服务ACK通过云存储网关挂载OSS。
1211 1
使用阿里云容器ACK通过云存储网关(CSG)挂载OSS
|
存储 机器学习/深度学习 缓存
阿里云文件存储CPFS升级版本发布
文件存储CPFS 2.0性能功能全面升级
|
存储 Kubernetes 网络协议
容器存储:Flexvolume 迁移 CSI (NAS、OSS数据卷)
本文介绍如何将Flexvolume插件挂载的NAS、OSS类型存储转换到CSI插件类型;如果您使用了云盘数据卷,本文提供的方案还不适合这个场景,具体方案敬请期待。
1663 0
|
存储 Kubernetes 应用服务中间件
阿里云Kubernetes CSI实践—CPFS存储卷使用
1. 前言 CPFS(Cloud Paralleled File System)是一种并行文件系统。CPFS 的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型高性能计算机集群提供高 IOPS、高吞吐、低时延的数据存储服务。
4502 0
阿里云Kubernetes CSI实践—CPFS存储卷使用
|
存储 人工智能 Kubernetes
如何在阿里云ACK集群中使用CPFS存储卷服务
介绍: CPFS(Cloud Paralleled File System)是一种并行文件系统。CPFS 的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型高性能计算机集群提供高IOPS、高吞吐、低时延的数据存储服务。
3951 0
|
存储 Kubernetes Cloud Native
Kubernetes 环境中使用 NAS 动态存储卷
K8S在应用中经常会用到nas共享存储卷,通常的使用方法是通过一个pv、pvc进行挂载,但当需要pv、pvc数量很大的时候,手动创建显得非常繁琐,这时动态数据卷的功能可以满足您的需求。本文将为您讲解如何在 Kubernetes 环境中使用 NAS 动态存储卷。
889 0
Kubernetes 环境中使用 NAS 动态存储卷
|
网络协议 文件存储 Perl
Alicloud-Nas-Controller插件升级
您在ACK集群中使用alicloud-nas-controller时,如果安装的版本较低,可以通过如下方式升级组件。
850 0