容器网络文件系统 CNFS 在容器计算领域的最佳实践|学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 快速学习容器网络文件系统 CNFS 在容器计算领域的最佳实践

开发者学堂课程【容器持久化储存训练营容器网络文件系统 CNFS 在容器计算领域的最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/889/detail/14193


容器网络文件系统 CNFS 在容器计算领域的最佳实践


内容介绍:

一. 容器环境中数据存储面临新的挑战

二. 阿里云 NAS 赋予容器计算新的数据引擎


一. 容器环境中数据存储面临新的挑战

1. 容器环境中数据存储面临新的挑战

容器环境中,数据存储面临了很多新的挑战那这些挑战到底有哪些呢

从物理时代到虚拟机,从虚拟化到云原生,计算规模不断增大。从过去应用在 CPU 里边独占一个 CPU 内存到今天的在 Serverless在函数的层面去为用户去提供服务

⑴基础设施面向应用不断演进,轻量化,规模化

资源调度粒度大幅细化,使用愈加灵活

资源隔离从物理资源视角转向应用视角

2. 使用存储的界面出现新的变化

⑴系统盘和临时数据逐步被托管,用户只关注应用和持久化数据

持久化数据需要面向应用视角进行重构:高密、弹性、隔离

①高密:

过去一个虚拟机去面对是一个存储空间可以供整个存储解决单个应用所需要的存储的所有的数据相关的访问和存储需求

image.png

但在 k8s Serverless 里面我们是共享的这种存储需要多个可能是从十个数百个数千个 fc 的函数或者容器去访问一个存储,这就导致它的密度非常的高。对同时访问同一个存储的能力的要求也变得很高。

弹性

过去创建一个物理机或者虚拟机基本上变化不会特别大通常都在一个相当比较稳定的周期之内的去访问和使用这种存储、这个介质。

但是当今 Serverless 或者 k8s 容器环境里 它的前端的计算服务的弹性是伸缩非常大的可能从数十台到几百台弹性伸缩变化非常快所以对于弹性存储的要求也变得非常高

数据隔离

过去很多资源我们是独享独占的在一些物理分区里面甚至可以做到 cpu 的独占内存的独占和存储资源的独占

但今天在 k8s 和 Serverless,却很难做到这一点因为存储资源计算资源操作系统层甚至于依赖的一些基础包都已经是共享的这时,我们如何在基础架构层面实现一种安全的隔离正在基础架构层面上,同样在上层的应用层面怎么通过一些很好的安全的策略手段去实现这种数据隔离呢?这是当今一个非常大的一个挑战

3、容器计算需要什么样的存储系统

image.png

应用兼容

特点:大量应用程序基于本地盘文件系统开发

挑战:上云后如何最快速的实现容器化

需求原因: 在传统的企业应用场景里面绝大多数的应用还是面向于文件存储去开发的底层这种文件存储有的是来自于本地盘格式化成一个本地的文件系统也有一些是分布式的应用。而使用共享的文件存储或者分布式的文件存储集群这些无一例外的都是使用原生的文件存储的方式去返还我的应用今天我们很难快速把整个企业里面的应用做一些转变甚至是一些应用场景对文件的诉求,它是最贴切最符合场景的需求的所以在第一个场景里面就是我们的应用的兼容性能不能和传统的在一些非容器的环境里面保持一致让应用的改造变得更少甚至于不需要改造这是我们需要去面临的第一个需求就是应用的兼容

⑵极致弹性

特点:弹性伸缩是云原生应用的核心能力,应用通过快速扩容满足业务需求

挑战:应用的弹性依赖存储容量和性能的弹性能力

需求原因:刚讲到过的容器它一个很大的特点就是要随着业务的峰值和低谷,需要有一个非常快速一种弹性的要求能力上层的计算发生一些弹性之后底下的存储能不能很快的去跟进呢?如果需要访问1GB 或者一个1TB 的数据当我去弹性一个新的计算的时候如果需要拷贝1TB 的数据的时候那这个这个所谓的弹性的这个能力其实也是很重要的。因为需要很长的时间去做底层数据的同步所以不但计算对于极速弹性有要求存储同样也有着非常大的诉求

⑶共享高可用

特点:应用快速迭代,频繁更新重启,出现大量短生命期容器

挑战:存储快速挂载/卸载,数据需要跟随容器迀移

需求原因:如果频繁的去拷贝的话如果只有1GB的数据其实影响和压力是不大的但是对于一些自动驾驶或者一些多媒体,它的数据级是非常庞大的动辄都是TB级别的十几个TB甚至于有些应用场景达到了几百个TB。如果这种规格的数据我们无法共享需要去在弹性的环境下去供这个拷贝传输的话那这对于成本的压力实效性几乎是无法保障的

⑷安全可靠

特点:核心应用云原生化,对数据安全、权限控制、租户隔离提出要求

挑战:强大的安全能力保护核心数据资产

需求原因:无论基础架构怎么改变无论是硬件物理机,还是虚拟机k8sServerless,无论怎么抽象我们要得到最根本的要求一定是安全不能让应用之间互相相互之间不应该看到看到,那是一个非常不可靠非常不安全的一套系统

⑸优化的成本

特点:云原生应用通过弹性伸缩来削峰填谷,有效降低成本是核心诉求之一

挑战:计算成本降低的同时,如何大幅降低存储成本

需求原因:对于成本的追求所有的应用场景里几乎是孜孜不倦的即使是在最核心的应用场景里面我们依然需要控制成本因为今天我们的业务增长很快数据的增速也很快怎么在这种快速的增长里同时有一个成本的优化这是对我们的要求也是这个非常大的一个挑战


二、阿里云 NAS 赋予容器计算新的数据引擎
1. 存储计算分商赋予容器弹性与高可用
⑴ 传统方案的问题
数据重复存储,存储效率低
扩展或 Failover 时需要复制数据到新的位置,
影响弹性速度
阿里云 NAS 方案的优势
同地域任意容器可以随时访问全量数据,
毫秒级挂载,赋予计算瞬间拉齐能力
数据集中管理,轻松运维
性能随容量弹性扩展

2. 强大目录配额和 ACL 能力保障数据安全隔离

image.png⑴ 典型场景

不同应用使用统一存储管理,统一规划各应用存储用量

有状态应用使用独立目录,限制应用的存储用量

本应用只能访问自己的数据

阿里云 NAS 的优势

支持目录配额可以在文件系统子目录级别上统计和限制存储用量,支持 uid / gid 管理

支持 ACL 权限设置,提供细粒度权限控制,实现应用级数据隔离

3. 智规数据分层大辐降低存徒成本

image.png

⑴生命周期功能

基于文件的 Access time 访问时间计算迁移策略,支持对7/14/30/60天未访问的文件迁移到低频介质

迁移不改变文件目录位置,无需应用改造

支持从低频介质手动取回至正常介质

可以方便的通过控制台或者 OpenAPI 列出低频介质中的文件

支持 NFS \ SMB 协议文件系统,实现对 Linux 和 Windows 平台的全面覆盖

阿里云 NAS 方案的优势

数据迁移至低频介质不会变更文件目录位置,应用无感知,直接降成本

低频介质中的文件可正常读写,系统自动缓存保障读写性能

实现精细计量,按照实际读写数据量收取费用,非读取文件的大小

举例:10个100GB 文件,在低频介质中存储1个月,每天读取这些文件中的1GB 数据。每月花费为=0.15×1000+0.06×1×30=1518元。和存储在容量型中比较节省将近200元。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
存储 弹性计算 文件存储
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
随着Windows容器逐渐普及和发展,Windows容器持久化存储以及容器间共享的需求越来越高涨。 本文介绍如何让Windows主机正确配置NAS SMB文件系统,支持Windows容器让Docker镜像使用挂载NAS SMB文件系统的子目录作为持久化存储目录。
6628 0
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
|
Ubuntu Shell 网络安全
实例 : 查看Docker容器内文件系统
dockfile ; docker container ; docker images
4270 0
|
存储 Linux Apache
容器的文件系统挂载
本实验介绍了容器中文件和文件夹的挂载和使用
|
存储 Kubernetes 文件存储
使用阿里云容器服务和容器网络文件系统搭建WordPress网站
本教程介绍如何通过阿里云容器服务ACK和容器网络文件系统CNFS搭建一个简单的弹性、高可用WordPress网站,使用CNFS回收站进行数据恢复,验证quota和CNFS在线扩容。
|
存储 Kubernetes Java
【探索 Kubernetes|容器基础进阶篇 系列 3】容器进程的文件系统
【探索 Kubernetes|容器基础进阶篇 系列 3】容器进程的文件系统
270 0
|
Linux Docker 容器
为什么Docker 在创建容器时会通过文件系统的联合挂载技术来创建一个分层的文件系统?底层原理是什么?
为什么Docker 在创建容器时会通过文件系统的联合挂载技术来创建一个分层的文件系统?底层原理是什么?
201 0
|
6月前
|
弹性计算 应用服务中间件 文件存储
容器服务ACK+容器网络文件系统CNFS快速搭建NGINX网站
本文介绍如何在半小时内,通过阿里云容器ACK服务和CNFS容器网络文件系统服务搭建一个简单的弹性、高可用NGINX网站。在完成本文的所有操作后,您将获得一个单网页的网站,用户的请求将会被打散到多个容器节点上,并且根据业务负载自动扩缩容,即使某个容器节点宕机也不会影响用户访问。另外您还可以将本地编辑的网页快速更新到网站上。
202 0
容器服务ACK+容器网络文件系统CNFS快速搭建NGINX网站
|
存储 Kubernetes 5G
容器存储:容器网络文件系统 CNFS|学习笔记
快速学习容器存储:容器网络文件系统 CNFS
容器存储:容器网络文件系统 CNFS|学习笔记
|
存储 弹性计算 编解码
容器网络文件系统 CNFS 在容器计算领域的最佳实践|学习笔记
快速学习容器网络文件系统 CNFS 在容器计算领域的最佳实践
容器网络文件系统 CNFS 在容器计算领域的最佳实践|学习笔记
|
存储 文件存储 容器
直播带练 | 30 分钟用阿里云容器服务和容器网络文件系统搭建 WordPress 网站
如何在 30 分钟内用阿里云容器服务和容器网络文件系统搭建 WordPress 网站?点击下文查看直播回放,立即获取相关知识!
直播带练 | 30 分钟用阿里云容器服务和容器网络文件系统搭建 WordPress 网站