阿里云Kubernetes CSI实践 - 静态NAS卷

简介: 环境准备集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解创建NAS卷到NAS控制台创建NAS盘:参考文档到NAS控制台创建NAS挂载点:参考文档注意:NAS挂载点需要和集群节点在同一个vpc内;创建静态PV、PVC通过下面模板创建静态卷PV、PVC:apiVersion:...

环境准备

集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解

创建NAS卷

到NAS控制台创建NAS盘:参考文档

到NAS控制台创建NAS挂载点:参考文档

注意:NAS挂载点需要和集群节点在同一个vpc内;

创建静态PV、PVC

通过下面模板创建静态卷PV、PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nas-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nas-csi-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  csi:
    driver: nasplugin.csi.alibabacloud.com
    volumeHandle: 0790b4a325
    volumeAttributes:
      host: "0790b4a325-xyn4.cn-hangzhou.nas.aliyuncs.com"
      path: "/csi"
      vers: "3"

驱动类型为:nasplugin.csi.alibabacloud.com,表示使用阿里云NAS CSI插件;

volumeHandle:PV Handler,可以配置为一个随机值;

host、path、vers:分别表示NAS挂载点、挂载子目录、nas目标版本;

# kubectl get pvc
NAME      STATUS   VOLUME       CAPACITY   ACCESS MODES   STORAGECLASS   AGE
nas-pvc   Bound    nas-csi-pv   5Gi        RWO                           34m

# kubectl get pv
NAME         CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM             STORAGECLASS   REASON   AGE
nas-csi-pv   5Gi        RWO            Retain           Bound    default/nas-pvc                           34m

创建应用

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

验证挂载、高可用

查看pod,验证NAS挂载成功,创建测试文件;
# kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
nginx-nas-6744df4f6b-krqc2   1/1     Running   0          20m

# kubectl exec nginx-nas-6744df4f6b-krqc2 mount | grep nfs
0790b4a325-xyn4.cn-hangzhou.nas.aliyuncs.com:/csi on /data 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.1.252,mountvers=3,mountport=4002,mountproto=tcp,local_lock=all,addr=192.168.1.252)

# kubectl exec nginx-nas-6744df4f6b-krqc2 ls /data
# kubectl exec nginx-nas-6744df4f6b-krqc2 touch /data/test
# kubectl exec nginx-nas-6744df4f6b-krqc2 ls /data
test

删除Pod,查看重建Pod是否数据稳定;
# kubectl delete pod nginx-nas-6744df4f6b-krqc2
pod "nginx-nas-6744df4f6b-krqc2" deleted

# kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
nginx-nas-6744df4f6b-d6ds9   1/1     Running   0          10s

# kubectl exec nginx-nas-6744df4f6b-d6ds9 ls /data
test
相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
目录
相关文章
|
10月前
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
1022 3
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
503 10
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
530 0
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
弹性计算 监控 持续交付
面对热点事件,阿里云如何通过云上弹性与容器服务帮助客户应对流量洪峰
面对热点事件,阿里云如何通过云上弹性与容器服务帮助客户应对流量洪峰
443 0
|
应用服务中间件 文件存储 nginx
阿里云Kubernetes CSI实践 - 部署详解
本文以阿里云ACK环境为例介绍如何在Kubernetes系统中部署CSI插件; CSI部署拓扑: 分为CSI Provisioner和CSI Plugin两部分: Provisioner:目前只支持云盘,提供云盘数据卷动态创建的功能; Plugin:云盘、NAS、OSS均需实现plugin;云盘...
19343 0
|
容器 Kubernetes 应用服务中间件
阿里云 Kubernetes CSI 实践--部署详解
Kubernetes 作为一个可以自动部署、扩展和管理容器化应用程序的开源系统,深受开发者喜爱,那么在 Kubernetes 系统中应该如何来部署 CSI 插件呢?本文将以阿里云 ACK 环境为例,为大家详细介绍如何在 Kubernetes 系统中部署 CSI 插件。
3286 0
|
9月前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
716 1
|
9月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
516 89
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
1076 9

相关产品

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

    更多