一、什么是Kubernetes
一、什么是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、自动伸缩(扩容与缩容)
最新文章
- asp.net实现图片在线上传并在线裁剪
- 转:linux coredump调试
- enmo_day_04
- FME之于规划CAD数据质量检测
- POC - ASP.NET &; MYSQL部分
- C# 反射_基础
- 刚下载的几个开源的Android项目
- asp.net 的一个简单进度条功能
- 云计算---OpenStack Neutron详解
- FORTH运算符
- TCP/IP学习
- org.apache.commons.httpclient工具类
- [CSS] Scale on Hover with Transition
- python scapy的用法之ARP主机扫描和ARP欺骗
- Phpstorm 2018及2017.3.2激活码(DataGrip WebStorm 激活码)
- [转帖]浅析Servlet执行原理
- atom编辑器社区插件推荐
- LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
- python+django+mysql配置步骤
- 修改php上传文件尺寸、响应时间、时区时间等设置
热门文章
- spring boot 中英文官方文档
- String vs StringBuffer vs StringBuilder
- 【manim】3b1b的";Almost"; Fourier Transform复刻
- 【python】一些python用法规律笔记
- 在 C# CLR 中学习 C++ 之了解 namespace
- 用Python实现广度优先搜索
- Linux常用基础命令一
- pat乙级每日习题
- The 19th Zhejiang Provincial Collegiate Programming Contest
- 【设计模式】Java设计模式 - 外观模式