什么是云原生利用?
下崽课程 ZY:
https://www.97yrbl.com/t-1389…
要了解云原生存储,咱们首先要理解云原生技术的概念,CNCF 对云原生定义如下:
云原生技术有利于各组织在私有云、公有云和混合云等新型动静环境中,构建和运行可弹性扩大的利用。云原生
的代表技术包含 容器、服务网格、微服务、不可变基础设施
和申明式 API。
这些技术可能构建容错性好、易于治理和便于察看的松耦合零碎。联合牢靠的自动化伎俩,云原生技术使工程师可能轻松地对系统作出频繁和可预测的重大变更。
简言之:云原生利用和传统利用并没有一个规范的划分界线,其形容的是一种技术偏向,即越合乎以下特色的利用越云原生:
- 利用容器化
- 服务网格化
- 申明式 API
- 运行可弹性扩大
- 自动化的 DevOps
- 故障容忍和自愈
- 平台无关,可移植的
云原生存储的概念来源于云原生利用,顾名思义:一个利用为了满足云原生个性的要求,其对存储所要求的个性是云原生存储的个性,而满足这些个性的存储计划,能够称其为云原生的存储。
为什么须要云原生存储?
云原生存储仍然是容器化面临的次要挑战之一
依据 CNCF 的调研报告:在应用 /部署容器 过程中遇到的挑战中,仍然有高达 29% 的人抉择存储。存储简直和平安问题一样,成为利用容器化过程中的次要难点。
file
目前,云原生存储遇到的挑战体现在以下几个方面:
易用性:存储服务部署、运维简单,云原生化水平低,短少与支流编排平台整合。
高性能:大量利用 IO 拜访,IOPS 需要高,低时延,性能成为利用运行效率瓶颈。
高可用:云原生存储曾经利用到生产环境,须要高牢靠 / 高可用,不能呈现单点故障。
敏捷性:PV 疾速创立、销毁、平滑的扩大 / 膨胀,PV 随 Pod 迁徙而疾速迁徙等。
有状态利用当初已成为容器存储的主体
随着 Kubernetes 的利用水平增强,并且随同着 IoT、5G、AI 等技术的成熟,越来越多的有状态利用被搬上容器平台。依据 CNCF 的调研报告,曾经有超过一半的用户曾经在容器中运行有状态利用,并且有 23% 的用户正在评估或打算在容器中部署有状态利用。
file
- 通常,有状态利用对存储的有如下三点需要:
- ① Volume 领有独立与 pod 的生命周期。
- ② Volume 中的数据是能够长久保留的。
- ③每个 pod 与其应用的存储关系是稳固的,不会因降级等因素而发生变化。
- 当然不同类型的利用具备不同的 IO 特点,对于存储有不同需要:
数据库
—— 交易型数据库(OLTP) MySQL
和 PostgreSQL
通常承载的都是外围交易类业务,对存储系统的数据可靠性、性能要求极高。
AI/ML —— ML 应用程序, TensorFlow
应用分布式计算解决不同过程中的图形局部,每个过程都能够在独自的容器中运行。 大数据分析
—— 剖析型数据库(OLAP),如 Spark,存储系统的可靠性以及提早的要求都不像 OLTP 数据库那么高,须要大容量存储。
HPC/ 渲染 —— 如图形绘制和视频转码工具,都能够应用应用程序实例集群化来解决大型批处理作业。Devops —— Jenkins/Gitlab
,通常 Jenkins
基于主从模型构建分布式集群,即会应用一个文件目录来保护其状态。因而,须要在不同主机上的容器之间共享该目录。
多云环境带来的云原生挑战
现在,越来越多的 IT 组织正在构建混合云和多云环境以撑持其业务运行。从容器的角度来看,咱们晓得在多个云平台上运行应用程序曾经成为了容器技术应用的次要驱动力,带来了远超以往的好处,如开发者效率的晋升以及反对微服务等。然而,多云以对立的形式治理、爱护和部署存储可能具备挑战性:
多个 API —— 云服务通过 API 进行通信。尽管 RESTful API
有一些标准化,但不同的提供者会创立不同的 API 构造。这能够包含不同的规定构造或不同的语言。这些差别须要应用程序自定义以实现跨服务通信。
兼容性问题 —— 为了顺利集成到繁多环境中,存储服务须要跨云兼容。这意味着服务须要适应雷同的数据结构并容许与雷同的工具集成。
简单的治理 —— 很难确保跨云服务和环境的可见性。它须要集中监控和联结服务,例如身份和访问控制。如果没有中心化,服务可能会呈现配置差别或谬误,并减少脆弱性。