[置顶] 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 ...
随机推荐
- PageObjects 设计模式
什么是Page Objects(翻译为:页面对象?)… 简单的说,Page Objects是指UI界面上用于与用户进行交互的对象.它可以指整个页面,也可以指Page上的某个区域.Page Object ...
- maven项目,去除jar包中的不想要的依赖关系
解释:就是说项目中要用到某一个a.jar包,通过maven引入了之后,也自动的导入了该jar包所依赖的包,这里就会存在一个问题,如果a.jar包依赖b.jar这个项目的1.0版本,可是我的项目中已经有 ...
- centos7 firewall开放查看关闭端口
查看所有打开的端口: firewall-cmd --zone=public --list-ports 添加 firewall-cmd --zone=public --add-port=80/tcp - ...
- 使用阿里的maven库
快使用阿里云的maven仓库 自从开源中国的maven仓库挂了之后就一直在用国外的仓库,慢得想要砸电脑的心都有了.如果你和我一样受够了国外maven仓库的龟速下载?快试试阿里云提供的maven仓库,从 ...
- LeetCode: Find Largest Value in Each Tree Row
BFS /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...
- Linux mount/unmount命令(6/16)
linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用.现在 ...
- Dispose 与 close 方法 的区别
Dispose : 释放 托管 与 非托管资源. Finalize : 释放 非托管资源. Close: 关闭资源后,可以再次使用资源.
- jQuery垂直手风琴菜单 菜单项带小图标
在线演示 本地下载
- maven项目在eclipse的library中没有Maven Dependencies
今天使用maven创建了一个多模块的项目,在分别创建完父项目和各个子模块后,编译父项目的时候,父项目工程目录上出现了一堆红叉叉,点进去一看,是找不到依赖的类,但是pom文件中相应jar的depende ...
- React-Navigation与Redux整合详解
本文转自:文章地址:http://blog.csdn.net/u013718120/article/details/72357698 继react-navigation发布已经过去半年的时间,想必Re ...