一 Kubernetes介绍
Kubenetes是一款由Google开发的开源的容器编排工具,它可以解决以下分布式环境下的问题:
调度
你已经得到了这个很棒的基于容器的应用程序? 太棒了!现在你需要确保它能够运行在它应该运行的地方。将应用运行在集群中正确的主机上对你的应用程序而言是很重要的一件事情,因为并不是集群中所有主机都是一样的。
负载均衡
你的应用程序已经启动并且成功运行起来了。 好样的! 现在你需要保证来自客户端的负载(请求)能够均匀的分布到集群的节点当中。这对于你的应用程序能够以最佳的方式利用每台主机的资源来处理客户端负载是非常重要的。你并不希望当中一些容器正在满负荷的工作,而另外一些却处在空闲的状态。
应用伸缩
这时你的容器已经运行起来了,并且客户端负载能够在这些容器当中很好的取得平衡。好极了!而现在你需要能够启动一些新的容器来处理负载(当请求高峰时),同时可以清理掉一些(容器)当不再需要这些容器的时候。这很重要,因为这样才能够有效的(按需的)处理客户端请求的峰值。
集群管理和监控
现在你的应用程序已经可以在这个庞大的集群中高效的运行,这时你必须要管理它。 你需要明确知道它们 (集群中的相关服务)都是正常运行的,如部署,弹性伸缩,负载均衡以及容器的健康状态。当然这并不是一个轻松的活儿。
/////////////////////////////////////////////////我是分割线////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
那么,Kubernetes不是什么?
平台即服务(PaaS)
尽管Kubernetes提供了很多与PaaS相似的功能,如存储管理,集群日志以及监控等。 但是Kubernetes并不是一个真正的PaaS,因为它并不提供诸如操作系统之类的组件,或者提供对Docker或者Java的支持工具,然而Kubernetes却可以和像Bluemix以及OpenShift这样的PaaS平台产品完美融合。
数据处理框架
Kubernetes毫无疑问是一个非常适合于运行大数据应用的框架,但是它并不能执行或者提供与数据处理的框架(如Apache Spark和Hadoop Map/Reduce)相同的功能。然而Kubernetes与Sprak以及Hadoop都能够很好的集成(这里仅举两个例子)。
持续集成
Kubernetes并不能像Jenkins或者其它CI工具一样去构建你的应用程序容器,但(令人惊喜的是)它可以与CI协同工作,以帮助管理应用程序在其生命周期中的更新升级。
/////////////////////////////////////////////////我是分割线////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kubernetes的核心技术和概念:
最新文章
- Sqlserver 函数
- PHP中获取当前页面的完整URL
- 3_STL算法
- PHP中文函数顺序排列一数组且其序数不变
- jstl的一些用法
- ExtJS学习之路第一步:对比jQuery,认识ExtJS
- .NET开源工作流RoadFlow-表单设计-新建表单(属性设置)
- 利用switch语句计算特定的年份的月份共有几天。
- ./filezilla: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
- Trident内核中取验证码图片的几种方法
- 兄弟连学Python-Mysql的操作应用
- Zynq启动流程
- HDU2255 奔小康赚大钱 (最大权完美匹配) 模板题【KM算法】
- IDEA 类图功能使用方法
- 4815: [Cqoi2017]小Q的表格 莫比乌斯反演 分块
- py-faster R-CNN 用于训练自己的数据(1)
- angular和vue双向数据绑定
- Fiddler拦截并修改移动端请求
- 安装vs2017后,RDLC 报表定义具有无法升级的无效目标命名空间
- java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher