什么是云原生?如何解决容器原生存储问题?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: “云原生”是一个被人们经常使用但不是定义很清楚的一个术语。我们认为“云原生应用”应有以下特点:

什么是云原生?

“云原生”是一个被人们经常使用但不是定义很清楚的一个术语。我们认为“云原生应用”应有以下特点:

  1. 他们不是单独的,它们是离散的、在逻辑上可分离的几个部分,每个单独打包和部署。通常这些都是以容器为单元完成,在某些情况下就像普通的Linux软件包一样。
  2. 在同一台计算机上不应强制运行其全部软件堆栈。它们可以在任何地方、任何服务器或任何区域内计划运行。它们还应该能够在分布式部署系统中相互感知。
  3. 通过增加特定计算逻辑的并行实例,应用程序应能够根据需求快速扩展。
  4. 应用程序所依赖的、用于协调通信或状态保存的服务应该能够根据需要以编程和动态的方式进行探知和修改,且与其物理基础设施无关。

通过明确定义云原生的含义,我们可以更好地定义各种云原生技术组件的职责划分。这些云原生应用组件的实例包括调度软件、网络软件以及存储软件。

如何解决容器原生存储问题?

Portworx开发了一种新的存储体系结构—容器定义型存储。它基于高度分布式环境开始构建。调度软件将其作为容器进行部署和管理,并将存储作为本地卷插件扩展到Docker容器中。

Portworx提供了一种现代化的DevOps应用部署方式。我们可以让调度工具将存储基础设施部署为容器。因此,大规模部署存储将变得十分简单,不需要复杂的手动操作。

Portworx侧重于高负荷负载,及其在普通服务器上的容器粒度操作。Portworx的核心专为现代服务器构建,并利用了NVMe、SSD和更快速网络技术的最新进展。

Portworx体系结构使用户能够在混合云环境中扩展其服务,而不需要在数据路径中使用中央元数据服务器。这对于采用容器定义的工作流来说是至关重要的。为了方便与调度软件,如Kubernetes、Mesos、Swarm等进行本地集成,我们在设计Portworx部署时考虑了以容器为中心的DevOps工作流。Portworx架构还支持以DevOps为中心的内路存储服务,以及容器化的应用。

除了容器的本地存储,Portworx容器定义的存储的主要优势包括:

容器细粒度卷管理:类似数据库这样的有状态型容器化应用,需要在分布式节点上的永久数据。Portworx使用有状态的Stateful Fabric来管理数据卷,即container-SLA-aware,来做到这一点。复制卷数据确保其状态,同时满足容器化应用的性能和可用性。更重要的是,Portworx可在每个容器级别中管理其快照、克隆副本和复制操作,使DevOps能够单独管理微服务,而不是像LUNs那用做传统存储系统的绑定组。使用Portworx管理有态容器Stateful Containers很方便,每个容器级别的数据的可用性和管理也很简单,且高度自动化。

1.主机地址访问型存储: 主机地址访问型存储是在没有任何中央元数据服务器的情况下实现扩展存储。每个卷直接映射到宿主上(即不需要转译)。与当前的存储解决方案相比,Portworx的方法有三个优点:

• 消除了管理和维护中央数据库的需求,简化了存储管理和配置。

• 增加新的节点,使弹性扩展变得更便捷。

• 支持适用于跨数据中心跨云的存储集群云原生架构(私有或公有云)。

  1. 自动调整: Portworx根据每个服务器的配置参数自动调优最佳数据放置和分层算法。从而免除了手动干预、调优或配置RAID参数或驱动器组的工作。所有的驱动器都将作为一个大的全局池供Portworx使用,而Portworx软件将决定存储的最优配置。
  2. Lighthouse云监控管理: 您的数据可以保存在您的云中,也可以存储在本地环境,都可以通过Portworx的Lighthouse云监控服务和直观的用户界面来管理。
  3. 快速同步: 快速同步功能为在多节点环境中的应用性能加速提供同步支撑环境。它允许数据库以更高的IOPS速率运行,并通过减少本地驱动器上的争用来支持更大密度的部署。
  4. 全局命名空间: 卷可以在运行在不同服务器上的多个应用程序之间共享。
  5. 云原生扩展,包括:

•自动快照和备份到S3

•数据反馈,云中的虚拟卷可以访问来自不同云或数据中心的数据

•CoS与不同EBS卷类型配对

•Restful APIs可用于查询命名空间的修改情况——避免了在元数据管理中进行昂贵的命名空间操作,如is、find等

随着容器在企业中的部署越来越多,大多数存储供应商感到必须为容器提供支撑,比如Docker的卷插件。但是,连接到Docker的Array忽略了容器的分布式特性,以及需要将容器、调度器和存储作为一个无缝整体的精密架构和易用性。

一些新的用于容器的分布式软件项目可能会避免使用传统存储供应商的方法,但是我们发现分布式软件的尝试在存储数据路径实现方面存在缺陷,这可能会导致严重的性能问题和规模限制。

Portworx为企业客户提供了第一个真正的容器专用型基础设施。因此,它是部署具有严格的、可扩展的、自动化的、分布式存储层的有态容器应用的必要的部分,有助于完善容器的生态系统。

目录
相关文章
|
4月前
|
Kubernetes 安全 Cloud Native
云原生|kubernetes|pod或容器的安全上下文配置解析
云原生|kubernetes|pod或容器的安全上下文配置解析
110 0
|
3月前
|
Kubernetes Cloud Native 调度
云原生技术专题 | 云原生容器编排问题盘点,总结分享年度使用Kubernetes的坑和陷阱
随着云原生的兴起,越来越多的应用选择基于Kubernetes进行部署,可以说Kubernetes 是最流行的容器编排和部署平台。它的强大功能特性,可以保障在生产中可靠地运行容器化应用程序,相关的DevOps等工具也应运而生,下面就是小编简单化了一个Kubernetes的逻辑架构图。
325 9
云原生技术专题 | 云原生容器编排问题盘点,总结分享年度使用Kubernetes的坑和陷阱
|
1月前
|
Cloud Native Java Docker
【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用
【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用
|
2月前
|
Kubernetes 监控 Cloud Native
阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)考试大纲
介绍阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)所需具备的知识及学习方法等。
171 2
|
2月前
|
Java 测试技术 Maven
云效问题之构建docker镜像从容器仓库拉取镜像报错如何解决
云效镜像是指存储在阿里云效服务中的容器镜像,它们可以用于持续集成和持续部署(CI/CD)流程中;本合集将介绍如何在云效平台上管理和使用镜像资源,以及常见的镜像问题和解决办法。
66 0
|
3月前
|
缓存 Java Nacos
nacos服务注册问题之容器报错如何解决
Nacos是一个开源的、易于部署的动态服务发现、配置管理和服务管理平台,旨在帮助微服务架构下的应用进行快速配置更新和服务治理;在实际运用中,用户可能会遇到各种报错,本合集将常见的Nacos报错问题进行归纳和解答,以便使用者能够快速定位和解决这些问题。
|
3月前
|
人工智能 Cloud Native 算法
应用从云原生走向AI原生,软件可望“以天为单位”开发
【1月更文挑战第8天】应用从云原生走向AI原生,软件可望“以天为单位”开发
43 2
应用从云原生走向AI原生,软件可望“以天为单位”开发
|
3月前
|
Kubernetes Cloud Native 安全
云原生技术专题 | 云原生架构未来发展趋势,探索容器技术未来的发展趋势
云原生架构指的是基于云原生技术的一套架构原则和设计模式,目的是最大限度地去除云应用中的非业务代码部分。这样,云设施可以接管应用中大量原有的非功能性特性(如弹性、韧性、安全性、可观察性、灰度等),使非功能性业务中断不再成为难题,为业务提供轻量化、敏捷、高度自动化的优势。
561 6
云原生技术专题 | 云原生架构未来发展趋势,探索容器技术未来的发展趋势
|
3月前
|
存储 人工智能 运维
【云原生企业级数据湖:打破数据孤岛,优化存储成本】
【云原生企业级数据湖:打破数据孤岛,优化存储成本】 随着大数据时代的到来,企业对于数据的处理和存储需求日益增长。如何有效地存储和管理大量数据,同时降低运维成本,成为了企业面临的一大挑战。盛通教育的云原生企业级数据湖方案,正是为了解决这一问题而设计的。
162 1
|
4月前
|
运维 Cloud Native Linux
【云原生|Docker系列第4篇】Docker的容器的入门实践
【云原生|Docker系列第4篇】Docker的容器的入门实践