这是来自Portworx的解决方案架构师Jeff Silberman的客座文章。

没有人想要管理存储,但是高价值的应用程序没有它是无法运行的。在理想的情况下,存储“就在那里”,而不需要考虑它——或者提供和管理它,对吗?

Portworx是一个针对容器工作负载的软件定义的持久存储解决方案,它提供了一个高度可用的弹性数据结构。Portworx云原生存储允许作业无缝运行超级融合的存储层,以获得最佳性能——同时也为数据可用性提供了丰富的选项。

最重要的是,Portworx非常适合DevOps——它易于部署和使用。

按需存储

有多容易?那么,如果您的HashiCorp Nomad作业可以按需存储,并在运行时提供呢?就像这样:

[...]task "mysql-server" {driver = "docker"config {image = "mysql/mysql-server:8.0"port_map {db = 3306}volumes = ["name=mysqlvol,size=10,repl=3/:/var/lib/mysql",]volume_driver = "pxd"}[...]

让我们看看这意味着什么。当mysql任务启动时,mysqlvol将以10GB的size和3倍的复制因子动态创建,确保数据将在3个不同的节点上复制。

不需要单独的存储供应周期,因为容器粒度虚拟卷是按需创建的。

什么是Portworx ?它是如何工作的?

在底层,Portworx是一个分布式块设备驱动程序,作为容器交付,安装在运行有状态应用程序的Nomad客户机上。Portworx并不仅仅充当现有存储的连接器,而是与您现有的节点运行高度聚合的关系,为在容器中运行的应用程序提供稀疏的、容器粒度的虚拟卷(和快照)。将块数据复制到多个节点可以保证高可用性。

Portworx使用kvdb,类似Consul,用于集群/节点拓扑发现和控制路径操作——但不用于任何数据路径操作,因此可以解决围绕可伸缩性和I/O性能的主要问题。

对于Nomad来说,Portworx运行在system调度器之下,这意味着如果将新的Nomad客户端添加到集群中,那么Portworx也会自动在这些客户机上运行。system调度器与弹性自动缩放组(ASGs)的概念非常一致,允许Portworx在新的客户端节点上自动旋转,无需手动安装。

Portworx在Nomad客户端(不是服务器)上运行。以下是Nomad客户端需要的相关选项:

client {enabled = trueoptions {"driver.raw_exec.enable" = "1""docker.privileged.enabled" = "true"}
}

如果你想深入了解,这很简单。Portworx doc站点已经被更新,包括详细的(和简单的)说明如何在Nomad下安装Portworx。

基础设施代码

“按需存储”功能与编写基础设施的HashiCorp道一致。存储需求是计算工作负载的一个基本元素,对于持久工作负载更是如此。到目前为止,提供存储一直是提交“票据”的带外过程——这是自动化的一个诅咒。现在有了Portworx内联卷规格——或者“随需存储”,“存储供应周期”就过时了。Jobs根据需要按需存储。

促进高效的工作流程

容器粒度卷快照是Portworx免费提供的一个有价值的企业特性。快照是即时创建的、在写入时复制的元数据标记,在创建时不消耗任何空间。更好的是,快照是可读/可写的。例如,假设您想要为CICD主构建周期的输出创建一个副本,以便将其传递给多个Jenkins slave以进行并行处理。使用Portworx,您可以通过创建多个卷快照,并让每个Jenkins slave在它自己的副本上并行操作来实现这一点。计算和存储效率的提高是显著的。

自己试试

DevOps的简单性已经成为一个产品基础——以内联体创建功能为例。没有人想要一个陡峭/复杂的学习曲线,这就是为什么Portworx让试验变得尽可能简单和无摩擦:该产品附带一个免费的30天试用许可证,所有功能都启用了。

自己尝试这个只有两个小需求:访问外部的“kvdb”,比如Consul。主机上的一个或多个未挂载/未格式化的原始设备(分区或磁盘)。

如果您已经有一个工作的Nomad集群满足这些需求,那么您可以立即尝试一下。这里有一个用于启动Portworx的参考Nomad作业文件。

如果您没有多余的Nomad集群可以尝试,您也可以轻松地玩转。Hashi-Porx AWS存储库提供了一个完整的集群,其中包含AWS中的Portworx/Nomad/Consul。在Hashi-Porx Vagrant 库中,Nomad和Consul都运行在-dev模式下的一个小小的Portworx集群上。

少即是多

没有比这更真实的了,尤其是在DevOps的世界里。你管理的东西越少,你的生活就会越好。Portworx特别设计来支持DevOps自动化,并允许容器的持久存储,以便高价值的有状态应用程序(比如数据库)能够在容器中运行。

我们很高兴能够为HashiCorp Nomad生态系统做出贡献,以更好地实现有意义的自动化工作流——减少实际工作。

使用HashiCorp Nomad按需分配容器存储相关推荐

  1. HashiCorp Nomad和遗留系统

    容器看起来似乎无处不在.的确,它们使得将应用程序部署到开发.测试和生产环境中更加容易.然而,当容器不能工作时怎么办?为了充分利用目前可用的容器编排平台,必须对应用程序和部署流程进行大量更改.对于绿色领 ...

  2. 云原生存储详解:容器存储与 K8s 存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  3. k8s挂载目录_云原生存储详解:容器存储与 K8s 存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  4. docker修改镜像的存储位置_云原生存储详解:容器存储与 K8s 存储卷(内含赠书福利)...

    作者 | 阚俊宝  阿里巴巴技术专家 参与文末留言互动,即有机会获得赠书福利! 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新 ...

  5. 云原生存储详解:容器存储与K8s存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  6. Docker 容器技术 — 容器存储

    目录 文章目录 目录 容器存储 数据卷管理 挂载时创建卷 创建卷后挂载 数据容器管理 容器存储 数据卷管理 核心选项: -v 宿主机目录:指定挂载到容器内的目录. 映射多个宿主机目录,只需要多写几个 ...

  7. HashiCorp Nomad中的高级节点排干

    HashiCorp Nomad 0.8引入了高级节点排干,以简化Nomad客户端节点的集群范围升级.本文探讨了如何使用HashiCorp Nomad改进的排干特性在不需要停机的情况下将现有的工作负载从 ...

  8. ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储

    // 留言点赞赠书我有书,你有故事么?留言说出你的存储故事留言点赞前两名,免费送此书截止日期12.27号12.30号公布名单 // 内容简介 本书致力于帮助读者形成有关Linux开源存储世界的细致的拓 ...

  9. 基因行业容器存储解决方案

    1.基因行业背景 1.1. 中国基因市场分析 基因组学是未来精准医疗的"基石".70%的基因企业选择使用云计算来处理基因组相关业务.过去一年内,阿里云为基因医学影像数据提供了安全可 ...

最新文章

  1. 算法工程师养成记(附精选面试题)
  2. linux运维脚本编写,Linux运维常用shell脚本实例 (转)
  3. Python内置函数(63)——super
  4. 【android】错误集锦及解决办法
  5. mysql decs倒叙查询_mysql按照日期方式查询
  6. python docx 合并文档 图片_Python+pymupdf处理PDF文档案例6则
  7. UVa140 Bandwidth 【最优性剪枝】
  8. 【BZOJ】【2049】【SDOI2008】洞穴勘测 Cave
  9. 64位WIN7系统下无法安装驱动/ 有黄色感叹号怎么办?
  10. c语言实验——G-鞍点计算
  11. m4a录音文件损坏修复_m4a音频文件损坏修复!
  12. OpenModelica模型导入Simulink运行的方法
  13. 2020 dns排名_2020年新版全球/全国各地ISP的DNS服务器地址表
  14. Fishermen Gym - 101964E(二分+前缀数组)
  15. 大数据-Flume(二)
  16. 30天自制操作系统第8天harib05d
  17. Reactor构架模式
  18. 制作coco数据集,并在mmdetection上实验
  19. 25则“验尸报告”— 创业失败者启示录
  20. PHP中iconv函数来转换编码,如UTF-8转GB2312

热门文章

  1. 说说WordPress的主查询函数-query_posts()
  2. parted--大于2T的分区工具
  3. Sublime Text Package Control错误另解
  4. EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射
  5. rtorrent - 强大的命令行BT客户端
  6. oracle 内存结构 share pool sql解析的过程
  7. TeeChart.Direct2D.dll的使用
  8. AI算法工程师必备技术,快快积累!
  9. pthread_join和pthread_detach详解
  10. 使用深度学习解决拍照文档复杂背景二值化问题