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排水到新弹出的节点上;

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

目录
相关文章
|
7月前
|
存储 分布式计算 Kubernetes
PVC、Ceph、HDFS、CPFS、NFS和OSS
PVC、Ceph、HDFS、CPFS、NFS和OSS都是分布式存储系统,下面是它们的详细介绍: 1. PVC(Persistent Volume Claim):PVC是Kubernetes中的一个资源请求,用于声明在集群中存储持久化数据的需求。PVC可以被用于存储应用程序的数据,例如数据库、日志文件等。PVC由Kubernetes集群管理员创建,并在Kubernetes集群中进行分配。
698 0
|
Serverless 文件存储
正确配置nas
正确配置nas
279 1
|
存储 数据采集 Kubernetes
文件存储CPFS最佳实践-轻舟智航
通过与阿里云建立合作,轻舟智航可以更加专注地进行业务场景研发。轻舟智航通过使用阿里云CPFS和OSS数据流动解决方案,打造一体化的自动驾驶数据底座,并且依托CPFS的高性能和高吞吐,很好地支持轻舟智航业务的快速增长。
825 2
文件存储CPFS最佳实践-轻舟智航
|
存储 Cloud Native 文件存储
阿里云文件存储NAS(Apsara File Storage NAS)真是个好东西,相见恨晚。
阿里云文件存储NAS(Apsara File Storage NAS)是一个可大规模共享访问,弹性扩展的高性能云原生分布式文件系统。支持智能冷热数据分层,有效降低数据存储成本。
1192 0
|
API 文件存储
文件存储NAS-Tag功能使用指南
简介:阿里云文件存储NAS提供管理标签功能,帮助您从各种维度(例如业务,用途,负责人等)对文件系统进行分类管理。本文档介绍标签的使用限制及如何添加标签,查看标签,编辑标签,删除标签、标签过滤等。支持通用型NAS,极速型NAS和CPFS。
6373 0
|
存储 文件存储 Windows
阿里云文件存储NAS生命周期管理新功能介绍
简介: 在2020年,阿里云文件存储通用型NAS(简称NAS)推出了新的低频介质(低频型)和生命周期管理功能。在新的一年,我们对生命周期管理功能进行持续迭代。新的生命周期管理支持SMB协议文件系统、低频文件查看以及取回低频文件至热介质。
1987 0
|
存储 Kubernetes 应用服务中间件
阿里云Kubernetes CSI实践—CPFS存储卷使用
1. 前言 CPFS(Cloud Paralleled File System)是一种并行文件系统。CPFS 的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型高性能计算机集群提供高 IOPS、高吞吐、低时延的数据存储服务。
4677 0
阿里云Kubernetes CSI实践—CPFS存储卷使用
|
文件存储 应用服务中间件 nginx
Kubernetes环境中使用NAS动态存储卷
介绍 K8S在应用中经常会用到nas共享存储卷,通常的使用方法是通过一个pv、pvc进行挂载,但当需要pv、pvc数量很大的时候,手动创建显得非常繁琐,这时动态数据卷的功能可以满足您的需求。 以下场景: 当为不同的用户提供不同的nas子目录进行挂载的时候,可以考虑使用nas动态存储卷; 当使用S.
7179 0
|
存储 Kubernetes Cloud Native
Kubernetes 环境中使用 NAS 动态存储卷
K8S在应用中经常会用到nas共享存储卷,通常的使用方法是通过一个pv、pvc进行挂载,但当需要pv、pvc数量很大的时候,手动创建显得非常繁琐,这时动态数据卷的功能可以满足您的需求。本文将为您讲解如何在 Kubernetes 环境中使用 NAS 动态存储卷。
1021 0
Kubernetes 环境中使用 NAS 动态存储卷
|
文件存储 存储 Perl
阿里云Kubernetes CSI实践—NAS动态存储卷使用
1. 前言 NAS存储盘能将nfs(网络文件系统)挂载到你的Pod中,阿里云Kubernetes CSI支持静态存储卷挂载和动态存储卷挂载2种方式, 在静态存储卷挂载的方式中,通常需要手动编辑和创建一个pv/pvc进行挂载,当需要的pv/pvc数量很大的时候,手动创建就显得非常繁琐了,这时动态存储卷挂载的功能可以满足您的需求。
6448 0
下一篇
DataWorks