前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云存储硬核技术内幕——(25) 送你一朵小红花

云存储硬核技术内幕——(25) 送你一朵小红花

作者头像
用户8289326
发布2022-08-04 15:57:00
1920
发布2022-08-04 15:57:00
举报
文章被收录于专栏:帅云霓的技术小屋

同学们好,方老师又与大家见面了。

从今天起,我们开始探索一个新的领域——云原生存储。

云原生(Cloud Native)指的是从应用设计、开发、构建、部署、运行到迭代的一整套体系框架。云原生基金会CNCF(Cloud Native Computing Foundation)认为,云原生需要三大要素:微服务、DevOps和容器。因此,在云原生时代,云存储需要解决的问题,就是存储与容器适配。

使用过容器的同学会发现,容器与其所在的服务器Host OS,实际上是不同的平行世界。

让我们做一个实验:

首先,我们启动一个CentOS 8.1的HostOS (实际上是虚拟机),并且从docker hub拉取一个docker镜像,如busybox:

然后,执行命令:

#docker run -it busybox

果然,计算机进入了容器的平行世界。

我们发现,在docker的平行世界中,可以像HostOS的现实世界一样,用ls命令查看目录结构,还可以对文件系统进行读写操作:

我们把/bin目录下的find(实际上是一个可执行文件)拷贝到/var目录,

然后在/var目录下执行ls命令,果然,拷贝成功了。

我们在《容器网络硬核技术内幕 (17) 生命的火花》中提到过,容器的生命周期是短暂的,与虚拟机不同,容器实际上并不会迁移,而是被销毁后重新建立。那么,在容器被销毁后,容器对文件系统做的改动能够保留吗?

让我们再做一个实验。

让我们退出刚才建立的busybox容器,再重新拉起一个busybox容器:

我们发现,在/var目录下,没有了刚才我们复制过来的find文件。也就是说,在容器的平行世界中发生的事情,不是持久化的。

正如电影《送你一朵小红花》中,男主角在平行世界里,终于和女主角一起到了茶卡盐湖,但在现实世界中,男主角却不可能和平行世界中的女主角在一起。

我们希望,电影里相爱的男女主角都能最后在一起,也希望容器能够实现持久化的存储。实际上,由于在云原生的理念中,基于容器的应用应当是无状态的,容器的拉起和销毁,是容器编排平台(如Kubernetes)基于监控到的系统性能,对CPU/RAM资源进行调配的常规手段,因此,只有实现了容器的持久化存储,才能真正让大家放心地部署云原生应用,而不需要担心容器销毁以后,应用的工作状态毁于一旦。

那么,为什么基于docker的容器,对文件系统做的修改是不能持久化的呢?

请看下回分解。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档