容器应用使用阿里云文件存储NAS最佳实践

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 应用程序需要数据, IT方案被创造出来是为了解决商业业务数据的问题。容器问世之时,它最初的目的是应对无状态化服务。随着容器技术的成熟,越来越多的人希望容器化应用可以直接关联数据。不论是传统的还是新型应用,都需要持久化存储。

容器应用需要使用共享文件存储吗

应用程序需要数据, IT方案被创造出来是为了解决商业业务数据的问题。容器问世之时,它最初的目的是应对无状态化服务。随着容器技术的成熟,越来越多的人希望容器化应用可以直接关联数据。不论是传统的还是新型应用,都需要持久化存储。
阿里云文件存储NAS以简单,易用,弹性扩展的特点,自然而然成为容器存储的一个主要选择。

通常来说,共享文件存储存储主要应用在需要长时间运行,多POD间需要共享访问数据,同时还需要进行故障切换的有状态容器业务场景,例如如下的一些场景:

  • 内容管理应用程序像WordPress和Drupal需要扩展到多个实例来获取性能和冗余型,并在多个实例间共享上传数据、插件、模板。
  • 开发工具比如JIRA, Artifactory, Git需要实例之间共享代码和编译数据并实现高可用性。
  • 机器学习框架MXNet和Tensorflow需要通过文件系统接口访问数据,并持久存储允许多个用户共享访问和运行相同的数据集。
  • 共享笔记本系统PAI-Notebook需要持久存储笔记本和用户工作区,并允许多个研究员合作共享访问数据。

可以通过哪些方式将共享文件系统到容器

阿里云文件存储NAS单文件系统默认可以创建两个根目录的挂载地址(可申请更多数量),挂载地址对应的是DNS域名,可以归属于不同的VPC,因此通过不同VPC的挂载地址将文件系统挂载到不同VPC的ECS或者容器应用。

挂载单文件系统到容器

  • 每个POD挂载一个文件系统
    对于不需要数据在多个POD间共享的场景(Deployment无状态服务为主),但又需要持久化存储具备较好的性能和灵活的弹性扩展能力,不同POD间的数据需要完全的隔离以保证数据安全和性能的QOS,我们可以为每个POD挂载一个独立的文件系统。单POD可以独享文件系统的吞吐和IOPS能力。
  • 多个POD挂载一个文件系统
    对于需要在多个POD间共享数据,并且需要POD具备Failover故障恢复能力的场景(Stateful有状态服务为主),我们可以将一个文件系统通过同一挂载地址同时挂载到多个POD上。数据可以被多个POD同时共享访问,单个POD销毁或故障后在其它节点拉起。

挂载文件系统子目录到容器

前面提到,单文件系统默认有两个根路径的挂载地址,但是使用挂载地址+子目录的形式将子目录挂载给单个POD,这样该POD只拥有这个被挂载子目录的权限,无法看到其它子目录的数据。
对于很多微服务化的容器应用,容器POD随着业务规模的变化动态灵活的创建和销毁,为了管理的方便简单,我们可以使用单一文件系统的多目录挂载给不同应用的POD,例如,/application1和/application2,这样application1的POD只能看到自己挂载目录的数据。因为单文件系统的吞吐能力是随存储容量弹性增长,所以使用单一文件系统还有个优势,就是可以通过多目录聚集的容量获得更大的吞吐性能。

什么是静态文件存储卷和动态文件存储卷

静态存储卷是预先创建好PVC和PV,再创建应用时使用对应PV进行存储映射。动态存储卷则只需要预先定义StorageClass,在创建应用的时候动态创建文件系统或者目录后,映射为PV关联给容器使用。例如,当为不同的用户提供不同的nas子目录进行挂载的时候,或者当使用有状态的SatefulSet部署应用,每个pod配置使用不同nas数据卷的时候,推荐使用动态存储卷。

如何选择正确的文件存储规格类型

  • 通用型NAS
    通用型NAS主要特点是容量可以随数据写入或者删除弹性伸缩,吞吐能力也随容量的伸缩弹性变化,通过数据存储容量获得较高的聚合吞吐能力。支持NFS和SMB协议、Quota、ACL、加密,具备较广的企业应用兼容性,同时还支持生命周期管理降低存储成本。通用型NAS在同一个地域内可以跨可用区挂载,配合容器的多AZ实现高可用能力。

应用场景:Linux/Windows企业应用、WEB内容管理、数据库备份、主目录

  • 极速型NAS
    极速型NAS主要特点是提供低时延高IOPS的读写能力,适用于大量小文件,元数据密集型操作的应用场景,可提供百微秒级的时延和200K的IOPS能力。极速型NAS支持NFS协议、快照和加密,建议和容器POD部署在同一个可用分区以获得更低的时延。

应用场景:时延敏感型企业应用、CI/CD开发测试环境、PHP网站、日志存储、轻量级数据库

  • CPFS
    并行文件存储CPFS是专为高性能计算和AI训练设计的高性能并行文件存储,主要针对大容量、高吞吐和高IOPS的高性能计算业务,可提供上百GB/s的吞吐能力。目前阿里云的EHPC镜像,基因容器镜像和AI容器镜像都和CPFS进行了深度集成。

应用场景:HPC高性能计算、AI训练、基因分析、影视渲染、EDA仿真、油气勘探、气象分析

如何备份容器存储的数据

文件系统快照

阿里云文件存储NAS极速型规格支持文件系统快照,可以针对容器挂载的文件系统进行快照保护,快照可配置灵活的策略周期性的创建副本数据,如果发生容器数据人为误删除或者文件系统误删除,都可以通过快照回滚来恢复数据。

文系统备份服务

阿里云文件存储NAS通用型规格支持文件系统备份服务,可以配置备份服务针对容器挂载的文件系统进行备份保护,备份任务周期性的降数据副本保存到备份库。如果你不小心删除数据,需要从备份恢复,你可以恢复备份现有文件系统中的一个目录或一个新的文件系统。

如何加密容器的数据

阿里云文件存储NAS支持数据存储加密功能,当前已经支持使用KMS托管密钥进行数据加密。可以在为容器创建文件系统时选择使能加密功能,KMS服务会默认创建一个托管密钥,并使用该密钥对存储数据进行加密。

通过文件存储生命周期管理降低容器存储成本

阿里云文件存储NAS支持低频存储类型,可以配置生命周期管理策略,将指定时间内没有读写访问的数据自动迁移到低频NAS里存储,最低成本可降低90%,如果后续需要访问这些数据,用户可以直接读写访问,后台透明将数据取回,应用无感知。例如,像基因测序、大数据分析等应用场景,用户生产的大部分数据都不会频繁访问,但是需要长期存储。基于生命周期管理的低频NAS就可以很好的帮助用户解决存储成本和应用访问接口一致的问题。
生命周期管理的配置也非常简单,只需要对需要挂载到容器的文件系统或者子目录启用该功能,并且配置对应策略即可。

如何监控容器存储的状态

阿里云文件存储NAS支持接入阿里云监控服务,可以对文件系统的吞吐、IOPS/元数据OPS和时延进行监控统计,同时可以配置阀值告警。

  • IOPS
    统计了单文件系统总的IOPS性能,如果你使用的是通用型NAS,并且监控到IOPS已经达到了规格上限,则可以考虑拆分为多个文件系统或者更换使用极速型NAS。
  • 吞吐
    统计了所有访问该文件系统的客户端读写带宽总和,如果监控到使用的通用型NAS吞吐达到了上限,可以考虑更换使用CPFS文件存储或者提交吞吐配额提升申请。
  • 时延
    该项统计了文件存储后端的IO读写时延,但并不包含计算节点到文件存储的网络时延,因此对时延数据的分析还要综合考虑跨可用区的因素和VPC网络是否存在异常。
相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
1天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
4天前
|
存储 运维 Kubernetes
容器化技术在现代运维中的应用与挑战
【6月更文挑战第23天】随着云计算技术的不断进步,容器化技术已经成为现代运维的重要组成部分。它以其独特的轻量级、可移植性和易于管理的特性,为运维工作带来了革命性的变化。本文将深入探讨容器化技术的核心概念、优势以及在实际应用中遇到的挑战,同时提供应对这些挑战的策略和建议,帮助运维团队更有效地利用容器化技术提升运维效率。
|
2天前
|
XML Java 数据格式
经验大分享:Spring基础篇——Spring容器和应用上下文理解
经验大分享:Spring基础篇——Spring容器和应用上下文理解
|
3天前
|
人工智能 自然语言处理 数据可视化
体验评测报告:阿里云百炼平台——大模型应用构建的全方位工具箱
体验评测报告:阿里云百炼平台——大模型应用构建的全方位工具箱
73 1
|
7天前
|
存储 运维 监控
容器化技术在现代运维中的应用与挑战
【6月更文挑战第20天】随着技术的迭代和云计算的普及,容器化技术已经成为现代运维不可或缺的一部分。本文将深入探讨容器化技术的核心优势、面临的主要挑战以及在企业运维中的实际应用案例,旨在为运维人员提供容器化部署和维护的实用指南。
|
16天前
|
机器学习/深度学习 Kubernetes 算法框架/工具
容器服务 ACK 大模型推理最佳实践系列一:TensorRT-LLM
在 ACK 中使用 KServe 部署 Triton+TensorRT-LLM
|
12天前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
39 1
|
7天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
30天前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
4天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考