[置顶] kubernetes1.7新特性:新增StorageOS卷插件和Local持久存储
背景介绍
在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种卷插件,其中在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中是一个α特性。
通过上面的这个新特性可以看出来,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的支持。
[置顶] kubernetes1.7新特性:新增StorageOS卷插件和Local持久存储的更多相关文章
- [置顶]
Kubernetes1.7新特性:新增自动伸缩条件和参数
一.核心概念 Horizontal Pod Autoscaling,简称HPA,是Kubernetes中实现POD水平自动伸缩的功能.云计算具有水平弹性的特性,这个是云计算区别于传统IT技术架构的主要 ...
- [置顶]
kubernetes1.7新特性:日志审计变化
背景概念 出于安全方面的考虑,Kubernetes提供了日志审计记录,用来记录不同普通用户.管理员和系统中各个组件的日志信息. Kubernetes日志审计是Kube-apiserver组件的一部分功 ...
- [置顶]
Kubernetes1.7新特性:支持绕过docker,直接通过containerd管理容器
背景情况 从Docker1.11版本开始,Docker依赖于containerd和runC来管理容器,containerd是控制runC的后台程序,runC是Docker公司按照OCI标准规范编写的一 ...
- [置顶]
kubernetes1.7新特性:PodDisruptionBudget控制器变化
背景概念 在Kubernetes中,为了保证业务不中断或业务SLA不降级,需要将应用进行集群化部署.通过PodDisruptionBudget控制器可以设置应用POD集群处于运行状态最低个数,也可以设 ...
- kubernetes1.4新特性:支持两种新的卷插件
背景介绍 在Kubernetes中卷的作用在于提供给POD持久化存储,这些持久化存储可以挂载到POD中的容器上,进而给容器提供持久化存储. 从图中可以看到结构体PodSpec有个属性是Volumes, ...
- kubernetes1.5新特性(二):支持Photon卷插件
在Kubernetes中卷的作用在于提供给POD持久化存储,这些持久化存储可以挂载到POD中的容器上,进而给容器提供持久化存储. 从图中可以看到结构体PodSpec有个属性是Volumes,通过这个V ...
- kubernetes1.5新特性跟踪(续)
Kubernetes发布历史回顾 Kubernetes 1.0 - 2015年7月发布 Kubernetes 1.1 - 2015年11月发布 Kubernetes 1.2 - 2016年3月发布 K ...
- kubernetes1.5新特性跟踪
Kubernetes发布历史回顾 Kubernetes 1.0 - 2015年7月发布 Kubernetes 1.1 - 2015年11月发布 Kubernetes 1.2 - 2016年3月发布 K ...
- kubernetes1.4新特性:增加新的节点健康状况类型DiskPressure
背景资料 在Kubernetes架构图中可以看到,节点(Node)是一个由管理节点委托运行任务的worker. 它能运行一个或多个Pods,节点(Node)提供了运行容器环境所需要的所有必要条件,在K ...
随机推荐
- Part1.2 、RabbitMQ -- Publish/Subscribe 【发布和订阅】
python 目录 (一).交换 (Exchanges) -- 1.1 武sir 经典 Exchanges 案例展示. (二).临时队列( Temporary queues ) (三).绑定(Bind ...
- python16_day16【Django_ORM、模板】
一.ORM 1.MySQL配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你 ...
- 再谈WinIO初始化异常
再谈WinIO初始化异常 前段时间WinIO在我的新项目中总是初始化失败,有时候又是好好的,很让人费解.修改了源代码显示了很多调试信息后,也没有什么太多的收获.由于我们的工控卡必须要用这个库, ...
- HDU - 1151 Air Raid (最小路径覆盖)
题意:给定一个有向无环图,求最少划分几条路径,使之能够覆盖所有点. 分析:这可以转化为DAG上的最小路径覆盖问题. 路径覆盖的定义:有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且 ...
- flume hdfs配置详解
flume采集中HDFS参数解析 就是个备忘录,方便以后直接查阅,不用再网上找了!!!! 配置解析 Flume中的HDFS Sink应该是非常常用的,其中的配置参数也比较多,在这里记录备忘一下. ch ...
- HTML5世界地图
在线演示 本地下载
- javascript-实现小抽奖程序
直接上代码 <style> *{ margin: 0; padding:0;} .prize_wrap{ width: 300px; height: 150px; } .prize_wra ...
- cocoa中获得root权限的几种方法
目前我所知道的,在cocoa中获得root权限的方法有3种: 1. 通过AuthorizationCopyRights函数 2. 在UI上添加一个锁的样子的控件,然后通过开关这个锁来获取root权限 ...
- centos7 -lvm卷组
老忘,记一下 基本的逻辑卷管理概念: PV(Physical Volume)- 物理卷 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备. ...
- fabric查看本地与远程主机信息
#!/usr/bin/pythonfrom fabric.api import *env.user='root'env.hosts=['172.10.224.183','172.10.224.132' ...