何种数据存储才能助力容器计算|学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习何种数据存储才能助力容器计算

开发者学堂课程【容器持久化储存训练营何种数据存储才能助力容器计算】学习笔记,与课程紧密联系,让用户快速学习知识。

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


何种数据存储才能助力容器计算


内容介绍:

一、Kubernetes 逐渐成为云原生时代的基础设施

二、容器持久化存储方案对比

三、容器使用文件存储的优势

四、容器中使用文件存储的挑战

五、容器网络文件系统 CNFS:云原生时代的容器共享存储方案

六、容器网络文件系统 CNFS:极致弹性的容器应用场景

七、容器网络文件系统 CNFS:AI容器应用场景  

八、容器网络文件系统 CNFS:基因计算容器应用场景

九、CNFS 示例介绍


一. Kubernetes 逐渐成为云原生时代的基础设施

今天为大家带来最新发布的产品容器网络文件系统 CNFS

云原生时代我们如何解决海量容器的编排和存储如何提升容器存储的性能和稳定性

下面一起了解 CNFS 如何将容器和存储技术更好的结合 ,如何定义云原生时代的容器文件存储方案

目前,应用容器化比例正在快速增长 

image.png

Forrester 预测:到2022年,全球组织/公司在生产环境运行容器化应用,从今天不足30%的比例将大幅度提升到超过75%,企业应用容器化的趋势势不可挡;容器在生产环填的应用比例快速上涨,从2016年首次调查的23%,到2018年上涨到73%,实际到2020年已经上涨到84%。

从云原生体系来看,Kubernetes 逐渐成为云原生时代的基础设施

image.png

而云上托管的 Kubernetes 成为企业上云运行容器的优先选择另外用户使用容器的方式也在改变从无状态应用到核心企业应用到数据智能应用

越来越多的企业使用容器来部署生产级别,复杂度高和高性能计算的有状态应用

有哪些应用需要在容器中使用持久化存储

image.png

1. Web服务nginxhttpdtomcatphp,主要存储图片视频html jscssflash.

2. 内容资料库:Wordpressdrupalnextcloudowncloud,主要存储文档图片音频视频等

3. 数据库MySQL, PostgreSQL, redis主要存储业务结构化数据。

4. DevopsJenkinsmavenGitlabPuppet,主要存储代码库镜像库。

5. AI/大数据分析: sparkTensorFlowkafkaClickHouse,主要存储自动驾驶基因等。


二. 容器持久化存储方案对比

1. 块存储

· 不支持跨主机容器的数据共享

· 适用于数据库等数据存储场景

· 低延时:更低延时保障数据库访问效率

· 灵活性:独占的裸数据块,自主利用

2. 文件存储

· 共享、高可用:多容器实例共享数据,Pod 故障实现容器应用高可用

· 弹性:快速扩大或收缩容量,适用于大规模数据存储场景

· 性价比:兼顾高性能和低价格

3. 对象存储

· 低成本:更低价格存储数据

· 基础架构解耦:RESTAPI直接访问存储资源

image.png

不同的存储在访问方式上也有差异块存储通常支RWOPV 可以由单个 Pod 以读写方式挂载。

而文件存储和对象存储可以支持单个多个 Pod 进行读写方式挂载。

ROXPV 可以由多个 Pod 以只读方式挂

RWXPV 可以由多个Pod 以读写方式挂

针对以上三种存储阿里云提供了云盘,nas,cpfs,oss 等产品, 可以跟阿里云容器服务 ack 很好的结合使用

使用不同的存储类型有着不同的场景和优势


三. 容器中使用文件存储的优势:

1. 高可用

⑴使用块存储:image.png

·适合于数据库/缓存等场晨

·与传统的数据副本方式一样,通过双写的方式实现数据副本保护

·双写的控制及数据的高可用性由应用完成

·部署时,注意选择不同的底层可用区

·扩容时,需娄增加挂戴/扩容虚拟本地盘

⑵使用文件存储:image.png

· 适合于大规模数据存储场景,弹性能力强单文件系统可以支持10k 以上的 Pod 挂载

· 数据副本由后端文件存储完成,应用无需干预

· 底层文件存储自动在多可用区写入副本,应用无需指定

· 海量存储空间,自动扩容,应用无需感知

可以看到文件存储在弹性伸缩和高可用上有优势用户无需关心容器和存储之间高可用的配合无需关心双写扩容等细节

2. 数据分发/共享

⑴使用块存储:image.png

·因为每个 block volume 一次只能被挂就到一个容器,所以没办法直接实现数据共享

·需要通过外部手段将需要的更新的数据同步分发到所有容器中。例如更新一个 Nginx 中的网页

使用文件存储 image.png·一个文件挂载点可以同时被多个容器挂载,模式支持数据共享访问(读写)

·在文件系统中更新数据后 所有节点可实时访问最新数据原生的文件目录形式读写。例如更新一个 Nginx 中的网页

应用无需感知存储的实现这种便捷的数据分发/共享为大数据高性能计算基因计算等场景提供了和容器结合的优势


四. 容器中使用文件存储的挑战

1. 极致弹性

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

挑战:文件存储快速挂载/卸载。

2. 高可用

特点:应用高可用,故障节点 Pod 自动迁移拉起

挑战:文件存储需要提供数据保护,随容迁移

3. 高性能

特点:云原生应用在大数据分析、AI、DevOps 等场景得到广泛应用

挑战:考验文件存储的吞吐、IOPS,延迟

4.安全可靠

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

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

image.png

5.低成本

特点:云原生应用通过弹性伸缩来削峰填谷,有效

降低成本是核心诉求之一

挑战:如何大幅降低存储成本需要提供海量存储的成本优势


五. 容器网络文件系统 CNFS:云原生时代的容器共享存储方案

针对容器中使用文件存储的优势和挑战阿里云推出了容器网络文件系统 CNFSCNFS 在以下方面针对容器存储提供了优化

image.png

弹性伸缩

性能优化

可访问性

观测性

数据保护

声明

通过 CNFS 用户可以享受容器使用文件存储带来的便捷同时提高文件存的性能和数据安全并提供容器一致的声明管理

以下是 CNFS核心的特性和及开源共享文件存储的对比

image.png

1. 在存储类型方面,CNFS 支持文件存储和对象存储目前支持阿里云的 NASCPFSOSS 等产品

2. 支持 Kubernetes 兼容的声明生命周期管理可以一站式管理容器和存储 

3. 支持 PV 的在线扩容自动扩容针对容器弹性伸缩特性优化

4. 支持更好的和Kubernetes的结合的数据保护包括PV快照回收站删除保护数据加密数据灾备

5. 支持应用保护的应用一致性快照自动分析应用配置及存储依赖一键备份一键还原

6. 支持 PV 监控支持更好的访问控制

7. 提共享文件系统的全线安全包括目录及 Quota、ACL等。

8. 提供性能优化针对为电存储的小文件读写提供微秒级的性能优化

9. 成本优化提供低频介质及转换策略降低存储成本


六、容器网络文件系统 CNFS:极致弹性的容器应用场景

image.png

1. 场景描述

互联网和大型金融服务等突发应用,需短时间内弹性扩容大量容器,对资源弹性伸缩能力的要求非常高,容器存储需具备极致弹性和极速伸缩能力的应用场景。

典型的应用:媒体和娱乐、Web 服务和内容管理、大型金融服务、开发运营、机器学习、有状态的微服务。

2. 用户痛点

底层存储的性能和容量无法线性扩展,存储扩展能力无法适配容器的弹性伸缩

Pod需要灵活的挂载卸载存储,存储不能匹配容器快速启动的速度,I/O性能瓶颈

海量容器持久化数据快速增长,成本压力大

3. 解决方案(推荐产品组合:ACK+CNFS+文件存储 NAS

· CNFS 内置文件存储类,在短时间内启动数千个容器,毫秒级挂载文件系统 PV

· CNFS 内置文件系统,为海量容器提供共享读写能力,实现容器应用高可用

· CNFS 低时延和小文件优化,实现微秒级读写性能,解决容器的并发访问对存储性能的高要求

· CNFS 提供文件存储生命周期管理,自动冷热分层,访问方式不变,分层至低频型

4. 价值收益

· 弹性:敏捷,极致的弹性,对存储来说,容量和性能扩展完全按需

· 高性能:小文件性能极致优化至微秒级延迟

· 共享:单个文件系统支持数万Pod共享,毫秒挂载和卸载,极速迁移

· 低成本:自动化生命周期管理,优化成本


七. 容器网络文件系统 CNFS:AI容器应用场景  

1. 场景描述

· 文件存储 CPFS 面向 AI 训练、AI 推理的容器存储解决方案

2. 用户痛点

· AI 数据流复杂,存储系统 IO 存在瓶颈

· AI 训练、推理需要高性能的计算和存储

· AI 算力协同,云和 IDC 资源/应用统一调度

3. 解决方案(推荐产品组合:ACK 纳管集群+CNFS+文件存储 NAS/CPFS

image.png

·文件存储 CPFS 作为高性能共享存储,与 AI 场景完美结合,支持海量小文件访问,加速 AI 训练、推理性能。

·文件存储 CPFS 灵活整合容器环境的 GPU 云服务器、弹性裸金属服务器(神龙)等计算集群,提供超高吞吐和超高 IOPS 能力,支持混合云线下+云上部署,快速构建 AI 基础环境。云上和云下数据流转和生命周期管理,满足快速高效计算和成本优化需求。

·ACK 纳管集群,云上/云下形成统一的资源池,异构资源弹性调度,最大化的利用云上海量基础设施的优势

4. 价值收益

· 超高性能存储提高了计算资源的利用率

· 超强性能和容量扩展能力,减少运维管理成本

· 生命周期管理,与云上无缝对接,数据冷热分层,降低成本


八. 容器网络文件系统 CNFS:基因计算容器应用场景

1. 场景描述

· 二代、三代基因数据分析优化,提供云上数据分析和高速数据上传、交付方案

2. 用户痛点

· 大规模样本的数据挖掘需要海量计算资源,数据增长快,存储费用高,管理困难

· 海量数据需要快速、安全的分发到国内多地,多数据中心需要共享访问

· 批量样本处理时间长,性能需求高,资源需求峰谷明显,难以规划

3. 解决方案(推荐产品组合:ACK+AGS+CNFS+文件存储 CPFS+OSSimage.png

· 文件存储 CPFS 对接容器服务 ACK、基因计算 AGS,搭建极速、低成本、高精度的基因计算容器环境,满足基因测序计算和数据共享需求。

· 文件存储 CPFS 用于基因数据分析中的共享存储,保存下机数据和组装后的数据,以及过程中的中间数据,满足基因行业用户的低时延、高 IOPS 的存储需求,减少数据拷贝/传输。

· 文件存储 CPFS 计算结果数据会同步到对象存储 OSS,CPFS 集成 OSS 提供海量存储空间,同时通过生命周期管理,将冷数据归档存储,降低存储成本。

· 对象存储 OSS 保存测序仪下机数据和组装后数据以及分析结果数据,用于数据的分发、归档、交付,保证10000+用户同时上传、下载数据,提高数据交付效率。

4. 价值收益

· 敏捷,按需使用,弹性扩展

· 超高性能存储提高基因计算的高性能和效率

· 数据冷热分层,降低成本

 

九、CNFS 示例介绍

image.png

1. 集群创建:

阿里云控制台创建 ACK 集群

在存储插件栏:选择创建 NAS 文件系

统和动态存储类型;

2. CNFS检查

到集群中查看是否默认创建 CNFS;

查看是否创建默认 StorageClass;

3. 创建应用:

创建 PVC,动态创建 NAS 子目录卷;

创建应用,使用动态创建的 NASPV;

4. 数据管理:

删除 PVC,根据回收策略 PV 会被自动

删除;对应的 NAS 数据也会被清理;

(此处具体操作同上一节课的【实战体验】一步一步搭建容器弹性 Web 与内容管理系统

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6天前
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
|
6月前
|
弹性计算 中间件 大数据
什么是容器计算服务 ACS?
全球首款容器计算服务ACS(Alibaba Cloud Container Compute Service)
516 2
|
6天前
|
人工智能 Kubernetes Serverless
全球首款容器计算产品重磅发布,激活上云用云新范式
随着阿里云的Serverless化演进历程进入了快车道,截至2023年10月,阿里云已拥有超过40款Serverless化云产品,并推出全球首款容器计算服务ACS(Alibaba Cloud Container Compute Service,以下简称ACS)。
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——ECI Pot自制脑图
259 1
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——专有版操作步骤
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——专有版操作步骤自制脑图
88 1
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——专有版操作步骤
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——运行场景
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——运行场景自制脑图
245 1
|
6天前
|
Kubernetes Docker 容器
Kubernetes学习笔记-Part.10 容器回退
Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退
56 0
|
5月前
|
Kubernetes 监控 测试技术
阿里云容器计算服务ACS功能测试
阿里云容器计算服务ACS功能测试,结合实际测试过程,总结一些使用经验。
阿里云容器计算服务ACS功能测试
|
6月前
|
Cloud Native Serverless 计算机视觉
Docker与Serverless计算的集成: Docker容器如何与Serverless计算结合。
集成Docker容器和Serverless计算是一种强大的方式,它结合了容器的可移植性和Serverless的自动伸缩性。在本文中,我们将深入探讨如何将这两种技术结合使用,以实现更灵活的应用程序部署方式。
168 0
|
6月前
|
Kubernetes 安全 调度
深度解读:阿里云全球首发的容器计算服务 ACS 诞生背景、核心技术与应用场景
深度解读:阿里云全球首发的容器计算服务 ACS 诞生背景、核心技术与应用场景
68876 45