解锁容器持久化存储,阿里云上的Kubernetes存储管理

简介: 最新动态:阿里云 Kubernetes FlexVolume 数据卷发布,支持云盘、NAS 和 OSS。现在起,可以通过阿里云提供的 FlexVolume 插件,实现Pod和阿里云存储服务的自动绑定和回收策略制定,包括云盘、NAS 和 OSS。
+关注继续查看

容器需要持久化存储

“ 根本不存在无状态化的架构
There is no such thing as a stateless architecture


– Jonas Boner
Lightbend创始人兼CTO ,Akka作者

应用程序需要数据, IT方案被创造出来是为了解决商业业务数据的问题。

容器问世之时,它最初的目的是应对无状态化服务。随着容器技术的成熟,越来越多的人希望容器化应用可以直接关联数据。不论是传统的还是新型应用,都需要存储,如文件、块、对象存储的形式,通过文档、关系型数据库或者流媒体等等。

虚拟化技术的 hypervisor 虚拟机器监视器在硬件模拟层上有很多要求,而比起虚拟化技术,容器将应用的可移植性大大提升。应用程序的可移植性,依赖于容器编排系统的互操作性。但是,需要看到的是即使是现代化的云原生应用,存储也是不可缺少的关键模块,因为有了持久化存储,应用程序就可以基于此开发出很多功能。

容器编排系统和运行时通过特定请求来接通存储服务,如 Creat / Remove, Inspect / List, Attach / Detach, Mount / Unmount等。目前看来,业界都是在通过容器编排系统解决存储问题,能否实现此点也成为了工业界的分水岭。

通过 API 方式链接外部存储服务有两种方式:第一种是 in-tree 驱动,由在容器编排系统内部的原生化代码实现;第二种 out-of-tree驱动,由插件实现。前者受制于容器编排系统的发布周期,而后者可能无法提供容器编排系统配套的加强功能。

image

Kubernetes的存储机制

Docker率先尝试通过 out-of-tree模式解决了如何与外部存储协同的问题,在 1.7 Experimental 版本中创建了Docker Volume Driver接口。

而 Kubernetes 则提供 in-tree 和 out-of-tree两种模式。

In-tree是 Kubernetes 标准版的一部分,已经写入 Kubernetes 代码中。通过基于 Kubernetes 内置 interface 的API命令如 Mount / Unmount, Creat / Delete等进行存储平台的操作。Kuberentes 会在
pod 创建时进行所有相关的必要操作,并且找到相关驱动执行特定 API 背后的所需动作。用户可以充分发挥 Kubernetes 中动态配置和存储类等新特性。唯一的缺点就是,如果存储平台需要 bug 修复或者功能添加的话,需要等待 Kubernetes 的发布周期。一般而言,Kubernetes 的发布周期在3-6个月,这意味着 bug 修复或者持续更新并不能随心所欲。

Out-of-tree 是通过 Flexvolume 接口实现的,Flexvolume 可以使得用户在 Kubernetes 内自己编写驱动或添加自有数据卷的支持。第三方驱动通过数据卷插件路径安装在每个 Kubelet 和 master 节点。这使得存储驱动可以与 Kubernetes 内核代码独立开来,bug 修复和功能更新都不需要等待 Kubernetes 的日程计划。Flexvolume 接口设定认为数据卷的创建和删除都是发生在其外部,因此只有 Attach / Detach 和 Mount / Unmount操作可行,并且也不是在数据卷的全部生命周期可行。

image

阿里云 Kubernetes 的存储支持

阿里云容器服务全球首批通过 Kubernetes 一致性认证,用户可以通过 in-tree 形式挂载存储。

而对于 out-of-tree,阿里云容器服务支持 Kubernetes Pod 自动绑定阿里云云盘、NAS、OSS存储服务。目前对于静态存储卷和动态存储卷的支持情况如下:

image

操作指南:

使用阿里云云盘

使用阿里云 NAS

使用阿里云 OSS

在使用容器过程中,你可能会在日志、数据备份、配置信息等场景中需要用到存储,不如按照上述办法尝试下吧? 对了,你也可以使用日志服务来应对日志的问题哦!

全面提升,阿里云 Docker / Kubernetes(K8S) 日志解决方案与选型对比

参考文章

Container Storage Architectures: How Does Kubernetes, Docker, and Mesos Compare?

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
2月前
|
存储 Kubernetes NoSQL
【k8s 系列】k8s 学习二十二,持久化存储
我们继续来查看 k8s 的卷,上一次我们分享了将磁盘挂载到容器中,empyDir 和 gitRepo 都是会随着 pod 的启动而创建,随着 pod 的删除而销毁
|
2月前
|
存储 Kubernetes NoSQL
k8s学习之路【03.容器持久化存储】
k8s学习之路【03.容器持久化存储】
|
3月前
|
存储 运维 Kubernetes
Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践下——原理篇
Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践下——原理篇
123 0
|
7月前
|
存储 运维 Kubernetes
【k8s的持久化存储】PV、PVC、StorageClass讲解(二)
【k8s的持久化存储】PV、PVC、StorageClass讲解(二)
356 0
【k8s的持久化存储】PV、PVC、StorageClass讲解(二)
|
机器学习/深度学习 人工智能 编解码
云上解锁Web3.0 阿里云XR平台助力彼真科技呈现沉浸式演唱会
云XR平台完成了算力调度、渲染、推流、编码和用户管理等工作,彼真科技专注在内容制作与实现上。
云上解锁Web3.0 阿里云XR平台助力彼真科技呈现沉浸式演唱会
|
SQL 分布式计算 Cloud Native
独家下载|《阿里云MaxCompute百问百答》 解锁SaaS模式云数据仓库尽在本电子手册!
为了帮助MaxCompute用户更顺畅的使用产品,阿里云MaxCompute团队基于开发者社区和其他渠道总结归纳出相关功能点的常见问题,联合阿里云开发者社区共同打造了《阿里云MaxCompute百问百答》电子手册,希望可以给正在学习和使用MaxCompute产品的用户提供一些帮助
11769 1
独家下载|《阿里云MaxCompute百问百答》 解锁SaaS模式云数据仓库尽在本电子手册!
|
安全 小程序 物联网
手机即钥匙 阿里云IoT联合爱玛推出“真无感解锁”智能电动车
5月17日,阿里云IoT联合爱玛打造的首款轻智能电动车悦秀Q166正式在天猫商城“爱玛官方旗舰店”售卖,让用户实现手机即钥匙“真无感解锁,离车即上锁”等全新骑行体验。
411 0
手机即钥匙 阿里云IoT联合爱玛推出“真无感解锁”智能电动车
|
边缘计算 人工智能 运维
行业场景智能应用 解锁边缘计算时代新机遇 阿里云混合云一体机重磅升级
阿里云混合云(Apsara Stack)首个全自研原生混合云,与阿里云公共云同宗同源、经过大规模商用验证、历经多年双11考验,是阿里云建管用一体化的全栈混合云平台,助力企业级客户全栈建云、智能管云、极致用云。未来,阿里云混合云将持续技术创新和优化服务能力,帮助客户更高效、更安全的上云,是政企数智创新的同行者。
282 0
行业场景智能应用 解锁边缘计算时代新机遇 阿里云混合云一体机重磅升级
|
弹性计算 Windows
MAC远程连接阿里云Windows系统服务器解锁快捷键
阿里云Windows系统的云服务器远程连接需要按Ctrl+Alt+Delete解锁,云服务器吧使用的是MAC,找了半天终于知道MAC下的快捷键了,分享一下吧: MAC远程连接Windows云服务器解锁快捷键 如果本地是Windows系统,直接按快捷键Ctrl+Alt+Delete解锁即可,如果本机是MAC需要按什么快捷键呢?云服务器吧测试了一会,发现MAC使用快捷键:fn+control+option(alt)+delete,即可登录。
1647 0
相关产品
容器服务Kubernetes版
推荐文章
更多