Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用CSI和Kubernetes动态扩展存储卷

使用CSI和Kubernetes动态扩展存储卷

作者头像
CNCF
发布于 2019-12-05 07:25:58
发布于 2019-12-05 07:25:58
1.1K0
举报
文章被收录于专栏:CNCFCNCF

作者:熊中哲(沃趣科技联合创始人)

Kubernetes本身有一个非常强大的存储子系统,涵盖了相当广泛的用例。然而,当计划使用Kubernetes构建产品级关系型数据库平台时,我们面临一个巨大的挑战:存储。 本文介绍如何扩展最新的Container Storage Interface 0.2.0并与Kubernetes集成,演示动态扩展存储卷容量的基本。

介绍

随着我们关注客户,特别是在金融领域,采用容器编排技术有很大的发展空间。

客户期待开源解决方案来重新设计现有的单体应用程序,这些应用程序已经在虚拟化基础架构或裸机上运行了数年。

考虑到可扩展性和技术成熟程度,Kubernetes和Docker位居榜首。但是,将单体应用程序迁移到像Kubernetes这样的分布式编排很有挑战性,而关系型数据库对于迁移至关重要。

关于关系型数据库,我们应该注意存储。Kubernetes本身有一个非常强大的存储子系统。它非常有用,涵盖了相当广泛的用例。当计划在生产中使用Kubernetes运行关系型数型据库时,我们面临一个巨大的挑战:存储。仍然欠缺一些基本功能。具体来说,动态扩展存储量。听起来很无聊但是非常需要,除了create和delete,以及mount和unmount之类的操作。

目前,扩展存储卷仅适用于那些存储供应商:

- gcePersistentDisk

- awsElasticBlockStore

- OpenStack Cinder

- glusterfs

- rbd

为了启用此功能,我们应该设置功能门ExpandPersistentVolumes为true,并打开PersistentVolumeClaimResize允许插件。启用PersistentVolumeClaimResize后,allowVolumeExpansion字段设置为true的存储类将允许调整大小。

遗憾的是,即使底层存储提供商具有此功能,也无法通过容器存储接口(CSI)和Kubernetes动态扩展存储卷。

本文将简要介绍CSI,然后详细介绍如何在现有CSI和Kubernetes上引入新的扩展存储卷功能。最后,本文将演示如何动态扩展存储卷容量。

链接以了解更多。

https://kubernetes.cn/blog/2018/08/02/dynamically-expand-volume-with-csi-and-kubernetes/

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

本文分享自 CNCF 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
容器化 RDS:借助 CSI 扩展 Kubernetes 存储能力
RDS 并不是新生事物,新鲜的是通过容器技术和容器编排技术构建 RDS。对金融客户而言,他们有强烈拥抱 Docker 和 Kubernetes 的愿望,但可用性是尝试新技术的前提。存储是持久化应用的关键资源,它并不性感,却是 Monolithic 应用走向 Cloud-Native 架构的关键。Kubernetes 存储子系统已经非常强大,但是还欠缺一些基础功能,譬如支持 Expand Volume(部分 Storage Vendor 支持)和 SnapShot。本文尝试从我们的实现分享如下几个内容:
沃趣科技
2018/07/02
1.7K0
容器化 RDS:借助 CSI 扩展 Kubernetes 存储能力
Kubernetes-持久化存储卷PersistentVolume
PersistentVolume(PV)用于为用户和管理员提供如何提供和消费存储的API,PV由管理员在集群中提供的存储。它就像Node一样是集群中的一种资源。PersistentVolume 也是和存储卷一样的一种插件,但其有着自己独立的生命周期。PersistentVolumeClaim (PVC)是用户对存储的请求,类似于Pod消费Node资源,PVC消费PV资源。Pod能够请求特定的资源(CPU和内存),声明请求特定的存储大小和访问模式。PV是一个系统的资源,因此没有所属的命名空间。
菲宇
2019/06/12
1.9K1
Kubernetes-持久化存储卷PersistentVolume
Kubernetes中的Volume介绍
Docker 中也有一个 volume 的概念,尽管它稍微宽松一些,管理也很少。在 Docker 中,卷就像是磁盘或是另一个容器中的一个目录。它的生命周期不受管理,直到最近才有了 local-disk-backed 卷。Docker 现在提供了卷驱动程序,但是功能还非常有限(例如Docker1.7只允许每个容器使用一个卷驱动,并且无法给卷传递参数)。
sunsky
2020/08/20
2.3K0
了解Kubernetes主体架构(二十八)
接下来还会逐步完善本教程,比如Helm、ELK、Windows Server容器等等。
心莱科技雪雁
2019/07/08
9720
(译)Kubernetes 中对持久卷进行扩容
Kubernetes v1.11 中,持久卷扩容能力升级为 Beta 阶段。这个功能让用户可以轻松的通过编辑 PVC 对象的方式修改现有卷的容量。没有这一功能之前,要对卷容量进行修改,需要要和存储后端进行手工交互,或者对 PV 以及 PVC 进行删除重建操作。持久卷不支持缩容操作。
崔秀龙
2019/07/23
2.2K0
Kubernetes-存储卷Volume
由于容器本身是非持久化的,因此需要解决在容器中运行应用程序遇到的一些问题。首先,当容器崩溃时,kubelet将重新启动容器,但是写入容器的文件将会丢失,容器将会以镜像的初始状态重新开始;第二,在通过一个Pod中一起运行的容器,通常需要共享容器之间一些文件。Kubernetes通过存储卷解决上述的两个问题。
菲宇
2019/06/12
4.9K1
Kubernetes系列学习文章 - 存储实现(九)
| 导语 数据,是无价的。了解清楚底层的存储实现方式对于数据的使用、保护以及IO性能的优化有很大的帮助。本篇文章从三个大点来讲讲K8S的存储实现机制。
宝哥@上云专家
2020/04/03
3.1K0
Kubernetes系列学习文章 - 存储实现(九)
Kubernetes-基于StorageClass的动态存储供应
Kubernetes集群管理员通过提供不同的存储类,可以满足用户不同的服务质量级别、备份策略和任意策略要求的存储需求。动态存储卷供应使用StorageClass进行实现,其允许存储卷按需被创建。如果没有动态存储供应,Kubernetes集群的管理员将不得不通过手工的方式类创建新的存储卷。通过动态存储卷,Kubernetes将能够按照用户的需要,自动创建其需要的存储。
菲宇
2019/06/12
2.2K0
Kubernetes-基于StorageClass的动态存储供应
Kubernetes | 存储 - Storage
ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象。
Zkeq
2023/05/13
8830
Kubernetes | 存储 - Storage
043.集群存储-共享存储
Kubernetes对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者emptyDir临时存储卷,而且需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后仍然可以使用之前的数据。
木二
2020/03/27
2.9K0
Kubernetes Top5 开源存储项目
当谈到云原生开源项目时,Kubernetes 受到了很多关注。这个容器编排平台彻底改变了应用程序的开发、部署和扩展。虽然快速向上和向下扩展服务的能力是 Kubernetes 的最大卖点之一,但在这种动态环境中管理持续存储可能非常具有挑战性。在本文中,我将向您介绍排名前五的开源云原生存储供应商。
我的小碗汤
2023/03/19
1.2K0
Kubernetes Top5 开源存储项目
kubernetes使用ceph存储卷
最近我在kubernetes中使用了ceph的rbd及cephfs存储卷,遇到了一些问题,并逐一解决了,在这里记录一下。
jeremyxu
2019/11/07
2K0
【K8s】Kubernetes 存储简介
在 Kubernetes 中,存储是实现集群数据持久化的关键,它允许用户在 Kubernetes 环境中存储、管理和访问数据。
行者Sun
2024/09/02
2070
【K8s】Kubernetes 存储简介
运维锅总详解Kubernetes之CSI
如何更好的用好Kubernetes CSI?本文尝试从CSI简介、CSI控制器实现原理、实现示例及最佳实践四个方面进行阐述。希望对您有所帮助!
锅总
2024/07/29
6160
运维锅总详解Kubernetes之CSI
Kubernetes的容器存储接口(CSI)GA了
Kubernetes实施的容器存储接口(CSI)已在Kubernetes v1.13版本中升级为GA。CSI的支持在Kubernetes v1.9版本中作为alpha引入,并在Kubernetes v1.10版本中升级为beta。
CNCF
2019/12/05
1.5K0
PV 与 PVC介绍
​PersistentVolume (PV) 是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 NFS、iSCSI 或特定于云供应商的存储系统。
星哥玩云
2022/09/15
3.6K0
(上)K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot
CSI snapshot是由华为在Kubernetes社区主导开发的存储特性,在K8S 1.12进入Alpha阶段。接下来,我们将分为上下两篇,分别介绍snapshot的创建删除等API以及从snapshot还原数据卷,同时,我们将使用CSI hostpath 插件来演示,如何使用这两种特性。
CNCF
2019/12/05
1.2K0
「深度解析」告诉你如何选择容器存储
随着容器技术在生产环境中越来越多被使用,实际用户应用正在从无状态应用程序扩展到需要持久化存储支持的有状态应用程序。IT技术专业人员需要知道如何选择适合在容器中运行有状态应用程序的存储。我们深度解读Gartner报告,就存储类型及应用类型两个维度来帮技术专业人员分析容器存储的选择。
焱融科技
2020/10/26
1.2K0
「深度解析」告诉你如何选择容器存储
k8s之PV、PVC、StorageClass详解
PV是对底层网络共享存储的抽象,将共享存储定义为一种“资源”,比如Node也是容器应用可以消费的资源。PV由管理员创建和配置,与共享存储的具体实现直接相关。
Liusy
2020/12/02
13.8K0
k8s之PV、PVC、StorageClass详解
Kubernetes 1.24:卷扩展现在是个稳定特性
卷扩展(Volume expansion)是在 Kubernetes 1.8 中作为 alpha 功能引入,在 1.11 中成为 beta,而在 Kubernetes 1.24 中,我们很高兴地宣布卷扩展的全面可用性(GA)。
CNCF
2022/06/10
6430
相关推荐
容器化 RDS:借助 CSI 扩展 Kubernetes 存储能力
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档