K8S集群中修改在线应用的存储卷信息

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 修改应用NAS版本:从v4到v31. 修改nfs版本,需要重挂载nas卷,则pod需要重启;2. 如果使用deploy部署应用,参考下面示例,如果使用pod部署应用,下面示例中改为pod的部署模板;修改前应用:pv.

修改应用NAS版本:从v4到v3

1. 修改nfs版本,需要重挂载nas卷,则pod需要重启;
2. 如果使用deploy部署应用,参考下面示例,如果使用pod部署应用,下面示例中改为pod的部署模板;

修改前应用:

pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nas
  labels:
    alicloud-pvname: pv-nas
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  flexVolume:
    driver: "alicloud/nas"
    options:
      server: "2564f49129-ggu23.cn-shenzhen.nas.aliyuncs.com"
      path: "/k8sa"
      vers: "4.0"

pvc.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-nas
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  selector:
    matchLabels:
      alicloud-pvname: pv-nas

deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nas-static
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
          - name: pvc-nas
            mountPath: "/data"
      volumes:
        - name: pvc-nas
          persistentVolumeClaim:
            claimName: pvc-nas

创建的资源如下显示:

# kubectl get pod | grep nas
nas-static-784496fbb9-8pd97   1/1     Running   0          33s

# kubectl get pvc | grep nas
pvc-nas                                    Bound    pv-nas                   5Gi        RWX                                  19s

# kubectl get pv | grep nas
pv-nas                   5Gi        RWX            Retain           Bound       default/pvc-nas                                                                   3m31s

检查挂载参数,挂载版本为:vers=4.0

# mount | grep nfs | grep pv-nas
2564f49129-ggu23.cn-shenzhen.nas.aliyuncs.com:/k8sa on /var/lib/kubelet/pods/0ce34c11-60f7-11e9-a545-00163e0eff42/volumes/alicloud~nas/pv-nas 
type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.10,local_lock=none,addr=192.168.0.11)

更新应用nfs版本:

创建新pv:pv-new.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nas-new
  labels:
    alicloud-pvname: pv-nas-new
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  flexVolume:
    driver: "alicloud/nas"
    options:
      server: "2564f49129-ggu23.cn-shenzhen.nas.aliyuncs.com"
      path: "/k8sa"
      vers: "3"

创建新pvc:pvc-new.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-nas-new
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  selector:
    matchLabels:
      alicloud-pvname: pv-nas-new

修改deploy参数,使用新的nas pvc:

    kubectl edit deploy nas-static

修改下面volume配置,改claimName为pvc-nas-new;
      volumes:
      - name: pvc-nas
        persistentVolumeClaim:
          claimName: pvc-nas

==>

      volumes:
      - name: pvc-nas
        persistentVolumeClaim:
          claimName: pvc-nas-new

检查资源:

# kubectl get pod | grep nas
nas-static-5989b7cd64-cbqqc   1/1     Running   0          18m

# kubectl get pvc | grep nas
pvc-nas                                    Bound    pv-nas                   5Gi        RWX                                  26m
pvc-nas-new                                Bound    pv-nas-new               5Gi        RWX                                  19m

# kubectl get pv | grep nas
pv-nas                   5Gi        RWX            Retain           Bound       default/pvc-nas                                                                   27m
pv-nas-new               5Gi        RWX            Retain           Bound       default/pvc-nas-new                                                               19m

检查挂载参数,挂载版本为:vers=3,且验证参数中包含 noresvport参数;

# mount | grep nfs |grep pv-nas-new
2564f49129-ggu23.cn-shenzhen.nas.aliyuncs.com:/k8sa on /var/lib/kubelet/pods/2fddf3ad-60f8-11e9-a545-00163e0eff42/volumes/alicloud~nas/pv-nas-new 
type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.11,mountvers=3,mountport=4002,mountproto=tcp,local_lock=all,addr=192.168.0.11)
相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
27天前
|
存储 Kubernetes 持续交付
介绍一下Kubernetes的应用场景
【10月更文挑战第18天】介绍一下Kubernetes的应用场景。
121 3
|
8天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
8天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
16天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
52 1
|
25天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
26天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
498 1
|
27天前
|
存储 Kubernetes 监控
深度解析Kubernetes在微服务架构中的应用与优化
【10月更文挑战第18天】深度解析Kubernetes在微服务架构中的应用与优化
101 0
|
27天前
|
运维 Kubernetes 负载均衡
深入探索Kubernetes在微服务架构中的应用
【10月更文挑战第18天】深入探索Kubernetes在微服务架构中的应用
63 0
|
1月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
144 0

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多