一、什么是Kubernetes

​它是一个全新的基于容器技术的分布式架构领先方案,确切地说,Kubernetes是谷歌严格保密十几年的秘密武器Borg的一个开源版本。Borg是谷歌内部使用的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。

​环境不一致使得应用部署出现了各种问题,从而产生了Docker容器来解决应用部署的问题。而大集群上容器的部署、伸缩和管理的各种问题,衍生出来了容器编排引擎,比较出名的有K8S(Kubernetes) 和 Docker Swarm。

​Kubernetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统。主要功能是生产环境的容器编排,Kubernetes名字太长了,叫起来有点麻烦,而Kubernetes首字母与结尾字母之间有8个字母,因此被称作K8S。

如果我们使用Kubernetes:

​1、与业务无关的底层代码或功能模块,都可以立刻从我们的视线中消失

​2、不必再费心于负载均衡器的选型和部署实施问题

​3、不必再考虑引入或自己开发一个复杂的服务治理框架

4、不必再头疼于服务监控和故障处理模块的开发

二、Kubernetes发展史

K8S是建立在谷歌内部有超过15年的历史,来源于谷歌内部的Borg系统,集结了Borg的精华。

2014年6月 谷歌云计算专家埃里克·布鲁尔(Eric Brewer)在旧金山的发布会为这款新的开源工具揭牌。

2015年7月22日K8S迭代到 v 1.0并正式对外公布
大约每100天更新一次,如今已是 V 1.18.1版本

三、Kubernetes架构图

​Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Borg是谷歌内部的大规模集群管理系统,负责对谷歌内部很多核心服务的调度和管理。Borg的目的是让用户不必操心资源管理的问题,让他们专注于自己的核心业务,并且做到跨多个数据中心的资源利用率最大化。

Kubernetes借鉴了Borg的设计理念,整体架构跟Borg非常像,如下图所示:

四、Kubernetes特点

Kubernetes是一个开放的开发平台,它不局限于任何一种语言,没有限定任何编程接口,所以不论是用Java、Go、C++还是用Python编写的服务,都可以被映射为Kubernetes的Service(服务),并通过标准的TCP通信协议进行交互。此外,Kubernetes平台对现有的编程语言、编程框架、中间件没有任何侵入性,因此现有的系统也很容易改造升级并迁移到Kubernetes平台上。

Kubernetes作用

Kubernetes提供了完善的管理工具(开发、部署、测试、运维、监控)因此,Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式完备的分布式系统开发和支撑平台。

Kubernetes同时具有完备的集群管理能力:

​1、故障自愈

2、服务发现与负载均衡

3、自动部署与回滚

4、自动伸缩(扩容与缩容)

 

最新文章

  1. asp.net实现图片在线上传并在线裁剪
  2. 转:linux coredump调试
  3. enmo_day_04
  4. FME之于规划CAD数据质量检测
  5. POC - ASP.NET & MYSQL部分
  6. C# 反射_基础
  7. 刚下载的几个开源的Android项目
  8. asp.net 的一个简单进度条功能
  9. 云计算---OpenStack Neutron详解
  10. FORTH运算符
  11. TCP/IP学习
  12. org.apache.commons.httpclient工具类
  13. [CSS] Scale on Hover with Transition
  14. python scapy的用法之ARP主机扫描和ARP欺骗
  15. Phpstorm 2018及2017.3.2激活码(DataGrip WebStorm 激活码)
  16. [转帖]浅析Servlet执行原理
  17. atom编辑器社区插件推荐
  18. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
  19. python+django+mysql配置步骤
  20. 修改php上传文件尺寸、响应时间、时区时间等设置

热门文章

  1. spring boot 中英文官方文档
  2. String vs StringBuffer vs StringBuilder
  3. 【manim】3b1b的"Almost" Fourier Transform复刻
  4. 【python】一些python用法规律笔记
  5. 在 C# CLR 中学习 C++ 之了解 namespace
  6. 用Python实现广度优先搜索
  7. Linux常用基础命令一
  8. pat乙级每日习题
  9. The 19th Zhejiang Provincial Collegiate Programming Contest
  10. 【设计模式】Java设计模式 - 外观模式