Kubernetes(k8s)v1.7新特性 新增StorageOS卷插件与Local持久存储

简介: 背景介绍 在Kubernetes中卷的作用在于提供给POD存储,这些存储可以挂载到POD中的容器上,进而给容器提供存储。 从图中可以看到结构体PodSpec有个属性是Volumes,通过这个Volumes属性可以关联到结构体Volume和结构体VolumeSource,而且这个Volumes属性是一个数组类型,就是说POD可以关联到多个不同类型的卷上面。

背景介绍

在Kubernetes中卷的作用在于提供给POD存储,这些存储可以挂载到POD中的容器上,进而给容器提供存储。


从图中可以看到结构体PodSpec有个属性是Volumes,通过这个Volumes属性可以关联到结构体Volume和结构体VolumeSource,而且这个Volumes属性是一个数组类型,就是说POD可以关联到多个不同类型的卷上面。

结构体Container表示POD中的容器,这个结构体有一个属性VolumeMounts,通过这个属性让容器知道具体挂载的存储路径,这个VolumeMounts属性也是一个数组类型,就是说容器可以挂载多个存储路径。

在Kubernetes中还提供了一种持久化存储,持久化存储就是PersistentVolume,简称PV,PV是独立于Pod的生命周期单独存在的。

从图中可以看到kubernetes1.7中提供了两种新的PV插件,分别是StorageOS和Local。

新的卷插件

Kubernetes1.7现在一共支持27种卷插件,(1、kubernetes1.5新特性:支持Photon卷插件 2、 kubernetes1.4新特性:支持两种新的卷插件Quobyte和AzureDisk 3、 Kubernetes 中的 StorageClass 和动态卷供给)其中在Kubernetes1.7中又增加了一种新的卷插件StorageOS。

StorageOS

StorageOS是一家英国的初创公司,给无状态容器提供简单的自动块存储、状态来运行数据库和其他需要企业级存储功能,但避免随之而来的复杂性、刚性以及成本。

它在Linux系统中作为一个容器运行,为其他容器提供插件使用,使其轻松地对有状态的存储服务进行编程访问。它是无关于底层平台的裸机、容器化的服务、虚拟化的服务器或者云。该公司称,StorageOS这款产品是一款门槛极低、拥有完整的企业级功能的存储阵列,与VMware、Docker、AWS以及Google Cloud进行了集成。

StorageOS目前专注于容器是因为这是最大的机会所在。在容器领域,它有四个重点领域:

1、有状态的容器,用于数据库和高速数据库恢复

2、安全云移动性,降低成本

3、性能加速和卷管理

4、持续应用集成和交付

下图是StorageOS当前架构图:

新的PV卷插件

Kubernetes1.7现在一共支持20种PV卷插件,其中在Kubernetes1.7中又增加了两种新的卷插件:StorageOS和Local。

Local Storage

Local Storage就是Kubernetes集群中每个节点的本地存储,在Kubernetes1.7中kubelet可以支持对kube-reserved和system-reserved指定本地存储资源,这在1.7中是一个α特性。(参考:1、Kubernetes 1.6新特性系列 | 动态配置和存储 2、 Kubernetes存储机制的实现

通过上面的这个新特性可以看出来,Local Storage同HostPath的区别在于对Pod的调度上,使用Local Storage可以由Kubernetes自动的对Pod进行调度,而是用HostPath只能人工手动调度Pod,因为Kubernetes已经知道了每个节点上kube-reserved和system-reserved设置的本地存储限制。

下面是一个使用Local Storage的样例:

apiVersion: v1 

kind: PersistentVolume 

metadata: 

 name: example-pv 

 annotations: "volume.alpha.kubernetes.io/node-affinity": '{ 

 "requiredDuringSchedulingIgnoredDuringExecution": { 

 "nodeSelectorTerms":[ 

 {"matchExpressions": [ 

 { "key":"kubernetes.io/hostname", 

 "operator":"In", 

 "values":["example-node"] 

 } 

 ]} 

 ]} 

 }' 

spec: 

 capacity: 

 storage: 100Gi 

 accessModes: -ReadWriteOnce 

 persistentVolumeReclaimPolicy: Delete 

 storageClassName: local-storage 

 local: 

 path: /mnt/disks/ssd1

总结

Kubernetes1.7一共支持27种卷插件,如果算上PV中的LocalStorage类型,那么实际上就达到了28种类型。从这些卷插件就可以看出Kubernetes社区参与厂家越来越多了,这27种卷插件可以覆盖Google Compute Engine公有云、Amazon WebService公有云、Microsoft Azure公有云、基于OpenStack的公有云、基于VMware vSphere的私有云,可以看出来,Kubernetes的影响力在扩大,将来一定会有更多厂商提供对Kubernetes的支持。

本文转自中文社区-Kubernetes(k8s)v1.7新特性 新增StorageOS卷插件与Local持久存储

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
12天前
|
存储 Kubernetes Docker
Kubernetes(k8s)和Docker Compose本质区别
理解它们的区别和各自的优势,有助于选择合适的工具来满足特定的项目需求。
76 19
|
23天前
|
Kubernetes 应用服务中间件 nginx
二进制安装Kubernetes(k8s)v1.32.0
本指南提供了一个详细的步骤,用于在Linux系统上通过二进制文件安装Kubernetes(k8s)v1.32.0,支持IPv4+IPv6双栈。具体步骤包括环境准备、系统配置、组件安装和配置等。
223 10
|
27天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
2月前
|
Kubernetes Cloud Native API
深入理解Kubernetes——容器编排的王者之道
深入理解Kubernetes——容器编排的王者之道
55 1
|
2月前
|
Kubernetes Cloud Native 持续交付
深入理解Kubernetes:容器编排的基石
深入理解Kubernetes:容器编排的基石
|
2月前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
111 4
|
2月前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
79 3
|
3月前
|
Kubernetes API 调度
中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
75 3
|
3月前
|
运维 Kubernetes Cloud Native
云原生时代的容器编排:Kubernetes入门与实践
【10月更文挑战第4天】在云计算的浪潮中,云原生技术以其敏捷、可扩展和高效的特点引领着软件开发的新趋势。作为云原生生态中的关键组件,Kubernetes(通常被称为K8s)已成为容器编排的事实标准。本文将深入浅出地介绍Kubernetes的基本概念,并通过实际案例引导读者理解如何利用Kubernetes进行高效的容器管理和服务部署。无论你是初学者还是有一定经验的开发者,本文都将为你打开云原生世界的大门,并助你一臂之力在云原生时代乘风破浪。
|
13天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。

热门文章

最新文章