如何攻破容器持久化存储挑战?

阿里云云栖号 阿里云云栖号     2023-01-02     299

关键词:

背景

云原生趋势下,应用容器化比例正在快速增长,Kubernetes 也已成为云原生时代新的基础设施。

观察今天的容器和 Kubernetes 的应用现状,可以看到两个普遍的现象:

  • 首先,在云上托管 Kubernetes 已经成为企业上云及运行容器的优先选择;
  • 另外,用户使用容器的方式也在发生改变,从“无状态应用”到“核心企业应用到数据智能应用”,越来越多的企业使用容器来部署生产级别、复杂度高和高性能计算的有状态应用。比如 Web 服务、内容资料库、数据库,甚至 DevOps、AI/大数据应用等。

应用迭代快、服务更新频繁是云原生应用的重要特征,也是云原生应用场景中绕不开的强需求。对容器和 Kubernetes 技术有所了解的同学都知道,虽然 Kubernetes 在许多方面非常有用,例如可伸缩性、可移植性和管理能力,但受限于其架构设计思想,原生 Kubernetes 对存储状态的支持缺乏,因此持久化存储一直以来都是容器技术的一大挑战。

当然,原生 Kubernetes 自身也提供了一些管理存储的解决方案,比如临时选项、持久化存储卷、持久化存储卷声明、存储类和有状态副本集等,但这可能非常容易带来混乱。如果你想了解 Kubernetes 存储的相关知识,可以通过阿里云开发者社区发布的“云原生人才培养计划之 Kubernetes 知识图谱”的相关章节学习。

K8s 知识图谱地址:云原生人才计划之Kubernetes图谱-阿里云开发者社区

围绕云原生技术的工具和项目大幅增加。作为生产环境中最突出的问题之一,有相当多的开源项目致力于解决云原生架构上的存储问题。不久前,阿里云容器服务 ACK 也推出了“容器网络文件系统 CNFS”,通过将阿里云的文件存储抽象为一个 K8s 对象(CRD)的方式来进行独立管理,包括创建、删除、描述、挂载,监控及扩容等运维操作,破解企业提供容器环境中应用持久化存储的困境。感兴趣的同学欢迎通过《剑指企业级云原生,阿里云 CNFS 如何破局容器持久化存储困境》这篇文章了解。

为了帮助更多开发者了解为什么容器需要持久化存储、Kubernetes 容器服务编排的基本概念、持久化存储的架构和实现方式,并通过实战掌握容器持久化存储的最佳实践,阿里云容器服务团队与开发者社区共同打造了“Kubernetes 难点攻破训练营系列”,和开发者们一起应对学习和使用 Kubernetes 的挑战。

「Kubernetes 难点攻破系列:容器持久化存储训练营」启动倒计时!

9 月 22-24 日,我们将和 ACK CNFS 及 NAS 的开发团队一起,利用 3 天时间集中突破,从容器持久化存储开始,打开 Kubernetes 难点攻破之旅。完成全部打卡任务,还有小米耳机、阿里云定制帽衫、精美周边等丰富的训练营奖品等你来拿!

还等什么?我在“容器持久化存储训练营”等你!钉钉扫描下方二维码或点击下方链接,即可了解训练营报名参加方式:

Kubernetes 难点攻破——持久化存储训练营

原文链接
本文为阿里云原创内容,未经允许不得转载。

容器持久化存储训练营”启动倒计时!3天攻破k8s难点

简介:为解决容器数据持久化存储问题,快速帮助开发者攻克Kubernetes技术难题,我们和ACKCNFS及NAS的开发团队一起准备了一场“硬核”训练营,为大家带来干货满满的直播课程,不仅提供技术难点的深度解读、... 查看详情

如何在我的无处不在的容器中获取所有可用的持久存储?

】如何在我的无处不在的容器中获取所有可用的持久存储?【英文标题】:HowtogetallavailablepersistentStoresinmyubiquityContainer?【发布时间】:2013-11-2511:05:14【问题描述】:在我的应用程序中,我有几个持久存储,用户可以删除和添加... 查看详情

剑指企业级云原生,阿里云cnfs如何破局容器持久化存储困境

简介: 云原生趋势下,应用容器化比例正在快速增长,Kubernetes也已成为云原生时代新的基础设施。据Forrester预测,到2022年,全球企业及组织在生产环境运行容器化应用。观察今天的容器和Kubernetes的应用现状... 查看详情

揭秘longhorn如何为3.5万个kubernetes节点提供持久存储?(代码片段)

...标”,和你一起掌握更多数据库知识持久存储的挑战容器可以很好地与无状态应用程序一起使用,因为不需要保存数据。Kubernetes可以快速创建和删除容器,因为容器中的应用程序与其所有依赖项打包在一起。但是ÿ... 查看详情

如何在 Docker 中处理持久存储(例如数据库)

】如何在Docker中处理持久存储(例如数据库)【英文标题】:Howtodealwithpersistentstorage(e.g.databases)inDocker【发布时间】:2013-09-0101:26:42【问题描述】:人们如何处理Docker容器的持久存储?我目前正在使用这种方法:构建图像,例如... 查看详情

006.openshift持久性存储(代码片段)

一 持久存储1.1 持久存储概述默认情况下,运行容器使用容器内的临时存储。Pods由一个或多个容器组成,这些容器一起部署,共享相同的存储和其他资源,可以在任何时候创建、启动、停止或销毁。使用临时存储意味着,当容器... 查看详情

docker实现数据持久化(代码片段)

...来说的话,数据是重要的!如何做到对docker容器中的数据持久化就是运维人员需要考虑的问题了!本篇博文将了解如何对容器中的数据进行持久化!在了解Docker数据持久化之前,需要对Docker的存储类型有一个简单的了解,执行以... 查看详情

如何修改已有docker容器的dns

...的方式进行更改:dockerexec-it<容器id>这样的更改是无法持久化保存的,当容器重启后,更改就丢失了,正确的做法是将需要持久化保存的数据放在挂载的存储卷中,当配置需要改变时直接删除重建。 查看详情

kubernetes持久化存储(podvolumes,pv和pvc)

一、Volumes介绍PodVolumes首先来看一下PodVolumes的使用场景:场景一:如果pod中的某一个容器在运行时异常退出,被kubelet重新拉起之后,如何保证之前容器产生的重要数据没有丢失?场景二:如果同一个pod中... 查看详情

如何检查托管对象存储在哪个持久存储中?

】如何检查托管对象存储在哪个持久存储中?【英文标题】:Howtocheckinwhichpersistentstoreamanagedobjectstored?【发布时间】:2021-10-1117:59:06【问题描述】:我的应用使用核心数据来存储数据,它有多种配置:一种用于与iCloud同步,另一... 查看详情

ibmbluemix体验:containers持久存储

...使用dockerhub镜像和container的高可用配置。接下来我们尝试如何在容器中使用持久存储。在Bluemix的Containers服务中,文件共享(FileShare)是持久的共享存储区域,每个docker容器的Volume都保存在FileShare中。借用官网的一张图来说明Orga... 查看详情

kubernetes存储

...部的数据将会全部丢失,但实际上很多容器化应用是需要持久化保存的数据,这就需要使用Docker数据卷挂载宿主机上的文件或者目录到容器中以保证数据的持久化存储。在Kubernetes中Pod重建如同Docker销毁一样,数据就会丢失,Kuber... 查看详情

k8s之volumes持久化存储(代码片段)

k8s之数据持久化kubernetes存储卷:我们知道默认情况下容器的数据都是非持久化的,在容器销毁以后数据也跟着丢失,所以docker提供了volume机制以便将数据持久化存储。类似的,k8s提供了更强大的volume机制和丰富的插件,解决了... 查看详情

如何修改docker的nginx容器的配置

...入容器内部的方式进行更改:dockerexec-it这样的更改是无法持久化保存的,当容器重启后,更改就丢失了,正确的做法是将需要持久化保存的数据放在挂载的存储卷中,当配置需要改变时直接删除重建。 参考技术Bdockerrun有个-v参数... 查看详情

在哪里存储持久容器(或任何全局对象)? AppDelegate 还是场景委托?

】在哪里存储持久容器(或任何全局对象)?AppDelegate还是场景委托?【英文标题】:wheretostorethepersistentcontainer(oranyglobalobject)?AppDelegateorsceneDelegate?【发布时间】:2019-07-2110:58:28【问题描述】:我有一个用于核心数据的全局持久... 查看详情

docker容器数据持久化(系统学习docker05)(代码片段)

...。大体上来说,一般只要使用Docker都会将重要的数据进行持久化。本文有任何问题,欢迎留言指正~Docker持久化存储技术默认仅在ContainerLayer(层)保存的文件数据,删除容器就没有了DataVolume(卷):数据卷,数据挂载相关,外挂一个... 查看详情

从零开始入门k8s|应用存储和持久化数据卷:核心知识

作者|至天 阿里巴巴高级研发工程师一、Volumes介绍PodVolumes首先来看一下PodVolumes的使用场景:场景一:如果pod中的某一个容器在运行时异常退出,被kubelet重新拉起之后,如何保证之前容器产生的重要数据没有丢失?场景二:... 查看详情

docker--持久化存储(代码片段)

...卷,这部分的功能是基于本地文件系统的volume管理。数据持久化 Data Volume如果你看过mysql的Dockerfile,里面有一行是这样的VOLUME[/var/lib/mysql],意思就是启动一个mysql的容器时,会将容器里面的/var/lib/mysql里的文件挂载到宿主... 查看详情