阿里云容器服务开发,专注Kubernetes、Docker、云存储;
如果您在阿里云容器服务部署了应用,并且使用云盘数据卷保存数据,您可以有数据迁移、数据回滚、磁盘类型变配等需求,本方案为您提供了Flexvolume、Disk-Controller所运行的集群中,云盘数据管理方案;
cpfs-client已经迭代多个版本,迭代的版本中fix了一些bug同时优化了cpfs的性能,举例说明:flexvolume支持如何对现有的cpfs-client进行升级。 当前版本: cpfs-client-2.10.8-202.el7.x86_64 cpfs-client-dkms-1.0.0-202.el7.noarch 升级后版本: cpfs-client-dkms-1.0.0-208.el7.noarch cpfs-client-2.10.8-202.el7.x86_64
在Kubernetes中部署应用时,如果使用了NAS、OSS这类存储卷,有时会出现Pod启动很慢的问题; 启动时间可能会是几分钟或者几十分钟;
ACK1.16集群升级到1.18版本时,CSI Block Volume出现一个不兼容的问题需要处理;
本文介绍如何将Flexvolume插件挂载的NAS、OSS类型存储转换到CSI插件类型;如果您使用了云盘数据卷,本文提供的方案还不适合这个场景,具体方案敬请期待。
在阿里云ACK集群中部署有状态服务通常使用云盘数据卷做数据存储,云盘本身提供了数据的备份(快照)恢复机制,但是如何将底层能力和K8S服务集成并灵活的提供给应用使用,是云原生存储服务需要解决的问题。K8S使用如下两个特性来实现备份恢复能力: 通过VolumeSnapshot对象实现云盘的备份(快照.
新创建的ACK集群都是默认安装最新的存储插件。在升级时,有些模板变化较大的版本需要参考下面升级步骤: CSI-Plugin升级: CSI-Plugin镜像版本信息:
阿里云基因计算服务(AGS)是一个依托于云计算平台,使用容器、工作流等云原生技术,针对生信行业基因数据处理的整体解决方案。您可以不用关心基因数据处理过程中的计算资源、处理逻辑、数据缓存等细节,只需要将您的源数据(Fastq文件)地址提供给ags,ags既可高效、快速完成整个数据分析流程,并将结果数据上传到您期望的存储空间。
介绍: CPFS(Cloud Paralleled File System)是一种并行文件系统。CPFS 的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型高性能计算机集群提供高IOPS、高吞吐、低时延的数据存储服务。
Flexvolume支持在线自动升级,您可以登陆控制台实现一键升级,参考:https://help.aliyun.com/document_detail/100605.html Flexvolume升级不会影响您的应用,但是建议您可以选择在业务低峰的时候进行升级。
云盘扩容方案文章列表: 基于Flexvolume插件的云盘动态存储卷扩容方案(本文); 基于CSI插件的云盘动态存储卷扩容方案:参考; 不适合动态扩容的场景,可以使用手动扩容云盘存储卷方案:参考; 数据卷扩容说明: 符合以下要求的集群环境可以进行动态扩容操作: Kubernetes从1.
Flexvolume数据卷采集Metric说明 Flexvolume插件采集Metric数据依赖于Kubernetes的支持,有以下注意事项: Kubernetes从1.13版本开始支持Flexvolume数据卷的监控数据采集;实现详情;阿里云ACK不支持Kubernetes 1.
多可用区集群 部署集群的时候使用多可用区方案来保证集群的高可用已得到大家的共识,这样集群在某个可用区出现异常时仍然可以保持集群对外提供正常服务,阿里云ACK服务提供了多可用区集群部署方案,可参考使用文档。
概要 LVM存储类型为本地存储,并非可随着Pod迁移的可插拔的分布式存储方案,如果Pod期望在多个节点上使用相同的lvm卷,则需要在每个节点上都创建相同名字的lvm卷,这样Pod调度的时候可以继续使用相同的lvm卷名进行挂载。
K8S中手动扩容云盘数据卷 介绍: 云盘数据卷扩容包括以下几个部分: 云盘物理空间扩容,需要在云盘控制台操作;文件系统扩容,需要挂载云盘到一个物理节点手动操作;PV、PVC Size更新,需要更新StorageClass、PVC; 注意:扩容云盘前需要为云盘打快照,以预防升级失败导致数据丢失; 云盘目前无法做到在线扩容,需要重启应用才可以实现,可以通过两种方法实现云盘扩容。
回收策略 典型的StorageClass模板如下所示,通过reclaimPolicy 字段定义生成PV的回收策略: apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-disk-efficiency...
介绍 K8S在应用中经常会用到nas共享存储卷,通常的使用方法是通过一个pv、pvc进行挂载,但当需要pv、pvc数量很大的时候,手动创建显得非常繁琐,这时动态数据卷的功能可以满足您的需求。 以下场景: 当为不同的用户提供不同的nas子目录进行挂载的时候,可以考虑使用nas动态存储卷; 当使用S.
数据卷扩容 使用云盘存储卷,往往在服务初始化的时候申请了一个适当容量的云盘,但是随着数据的增长,数据盘的容量不能满足需求,需要扩容。 传统应用的扩容场景中,往往是先手动停掉应用,再对数据盘进行备份,然后执行扩容操作,最后重新启动应用。
云盘在线扩容功能已经发布,本文介绍如何在Kubernetes集群中在不断服的情况下实现云盘扩容。下面以StatefulSet多实例应用为例,介绍应用持续运行中实现挂载的云盘扩容。 注意:扩容云盘前,请务必先给云盘打快照,以免操作中出现数据丢失; 创建多实例statefulset应用 kubectl create -f sts.
Topology Aware 对于云盘这种存储卷类型,只能在相同zone的ecs上进行挂载,在多可用区的集群环境中,就需要对pv、pvc和pod进行一致性zone调度; 1. 传统使用方式: 通过PV、PVC所在zoneid信息,把pod调度到相应zone; 即在PV中定义相应的zoneid信息,...
环境准备 集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解 创建OSS Bucket 到OSS控制台创建OSS Bucekt:参考文档 注意:相同region的OSS Bucket 可以使用内网地址进行挂载; 创建Secret、静态PV、PVC 本示例通过Secret来配置用户的AK信息...
环境准备 集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解 创建NAS卷 到NAS控制台创建NAS盘:参考文档 到NAS控制台创建NAS挂载点:参考文档 注意:NAS挂载点需要和集群节点在同一个vpc内; 创建静态PV、PVC 通过下面模板创建静态卷PV、PVC: apiVersion:...
环境准备 集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解 创建动态PV 通过下面模板创建动态卷PV: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: disk-pvc spec: accessModes: ...
环境准备 集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解 创建云盘 需要创建按量付费云盘:参考文档 创建静态PV、PVC 通过云盘控制台创建云盘后,记录其DiskId:d-bp1fqy1enb2rtymx5g5y; 通过下面模板创建静态卷PV、PVC: apiVersion: v1 k...
本文以阿里云ACK环境为例介绍如何在Kubernetes系统中部署CSI插件; CSI部署拓扑: 分为CSI Provisioner和CSI Plugin两部分: Provisioner:目前只支持云盘,提供云盘数据卷动态创建的功能; Plugin:云盘、NAS、OSS均需实现plugin;云盘...
StatefulSet是一种有状态服务,其存储卷的使用有多种方式: 使用共享存储,这时在模板中定义一个volume卷,可以给多个pod共享; 每个pod配置独立的存储卷,使用非共享存储(块存储)时需要这样配置,通过配置volumeClaimTemplates实现; 对于StatefulSet使...
通过K8S使用NAS卷,请区分以下场景: 静态存储卷: 使用阿里云ACK,PV、PVC方式,nfs驱动; 使用阿里云ACK,PV、PVC方式,Flexvolume驱动; 使用阿里云ACK,Volume方式,nfs驱动; 使用阿里云ACK,Volume方式,Flexvolume驱动;.
本文主要介绍如何在ACK上基于工作流引擎进行大规模基因测序工作。阿里云工作流引擎基于开源项目Argo实现,支持并发、循环、重试等多种执行策略。 1. 创建集群: 拿到集群测试域名;c84e9207b8f6b49968cb5570aff4e6581.
CSI 基础 CSI只支持PV、PVC方式,不支持Volume方式; 官方资料: https://kubernetes-csi.github.io/docs/ How to Write CSI Plugin: https://arslan.
CSI 规范 官方文档:https://github.com/container-storage-interface/spec/blob/master/spec.md CSI目标 定义API: 自动化创建/删除数据卷; 从一个节点挂载/卸载数据卷; 在一个节点上Mount/Umount一个卷设备; 使用可挂载/块 数据卷; 本地存储供应者 - LVM 创建、删除快照; 从一个快照恢复数据卷; 推荐细节: 容器部署意见:CAP_SYS_ADMIN,mnt命名空间; CSI介绍 CSI聚焦的中心是容器编排系统(CO)和Plugin之间的协议;插件应该是可以跨CO运行的。
CSI 介绍 我们知道Kubernetes中关于使用存储卷的机制有In-Tree、Flexvolume模式,那为何还要提出CSI方式呢? In-Tree Volume: 这种方式需要将后端存储的代码逻辑放到K8S的代码中运行,调用引擎与插件间属于强耦合。
如何通过StroageClass动态创建、使用ESSD盘 创建StorageClass: 参数说明: provisioner:配置为 alicloud/disk,标识StorageClass使用阿里云云盘 provisioner 插件创建。
修改应用NAS版本:从v4到v3 1. 修改nfs版本,需要重挂载nas卷,则pod需要重启; 2. 如果使用deploy部署应用,参考下面示例,如果使用pod部署应用,下面示例中改为pod的部署模板; 修改前应用: pv.
介绍 阿里云在部分ECS类型中提供了本地盘配置,本地盘具有低时延、高随机IOPS、高吞吐量和高性价比的优势,在一些对性能要求很高的应用中有很大优势。 在Kubernetes系统中使用本地盘可以通过HostPath、LocalVolume等类型的PV使用: HostPath: 卷本身不带有调度信息,如果想对每个pod固定在某个节点上,就需要对pod配置nodeSelector等调度信息; LocalVolume: 卷本身包含了调度信息,使用这个卷的pod会被固定在特定的节点上,这样可以很好的保证数据的连续性。
介绍: 本文介绍的动态生成NAS存储卷的方案:在一个已有文件系统上,自动生成一个目录,这个目录定义为目标存储卷; 镜像地址:registry.cn-hangzhou.aliyuncs.com/acs/alicloud-nas-controller:v1.11.5.4-433631d-aliyun 默认生成资源:生成的PV名字为:pvc-${pvc-uid}生成目录的名字:namespace-pvcname-pvname 可以再pvc的annotations中如下声明,自定义名字:生成的pv、目录名字为下面定义的名字。
使用NAS动态存储卷创建有状态应用
目前容器服务Kubernetes集群在创建的时候,可以让客户选择是否挂载Worker节点的数据盘,并配置其容量; 本文为您介绍在后续使用过程中扩容数据盘的方法。
阿里云对象存储服务(OSS)提供海量、安全、低成本、高可靠的云存储服务。适用于配置文件、图片、小视频等共享业务;
oss挂载失败 检查使用的ak是否正确; 待更新~~~
K8S存储卷常见问题
K8S存储卷常见问题集锦
阿里云K8S集群存储服务相关日志获取指南
使用云盘创建有状态服务时往往有一个痛点:开始申请云盘的时候不能准确估计服务能用多大存储空间,申请的云盘在服务运行一段时间后空间不够使用!!