- 什么是Kubernetes?
- Kubernetes产生的背景
- Kubernetes的发展历程和应用现状
什么是Kubernetes?
- 生产级别的容器编排系统
- 自动化的容器部署、扩展和管理
- Kubernetes是用于自动部署,扩展和管理容器化应用程序的开源系统
- 借鉴Google内部的群集管理系统“Borg”(2014 EuroSys)和“Omega”(15年的生产环境应用经验)
- Google于2014年开源,捐献给云原生计算基金会(CNCF,Cloud Native Computing Foundation)
- Kubernetes意思
- 希腊语
- 驾驶员(Pivlot)或舵手(Helmsman)
- 一般简称k8s(Kubernetes)
Kubernetes产生背景
我认为是两方面的流行
- 微服务
- 容器
容器
- 什么是容器?
- 一系列隔离运行的进程,提供了一种轻量操作系统层面的虚拟化技术
- 每个容器拥有自己的PID,Uscr,UTS,Network栈命名空间等
- 与传统VM比具有启动块、性能损耗小,更轻量等优点
- Docker是目前使用最广,最成熟的容器技术
- K8s默认使用Docker引擎
- 也可使用Rkt(CoreOS),或其他遵循CRI(continer runtime interface)的容器引擎,例如Containerd等
容器化系统面临的挑战
- 容器解决了应用打包、部署、运行的问题
- 一次构建,随处运行(Build,Ship and Run Any APP,Anywhere)
- 容器的挑战
- 跨机器部署
- 资源调度
- 负载均衡
- 自动伸缩
- 容错处理
- 服务发现
容器编排
- 容器编排(Container Orchestration)
- 以容器为基本对象进行管理
- 协同容器共同实现应用功能
- 容器编排系统主要功能
- 容器调度(Placement,health checking…)
- 资源管理(CPU、GPU、Memory)
- 服务管理(Service Discovery、Load Balance…)
容器编排大战
Docker Swarm Docker lnc
Mesos Mesosphere
Kubernetes Google
Kubernetes发展历史
- 基于Google‘s内部的“Borg”和“Omega”系统
- 2014年10月由Google正式开源。
- 2015年7月22日发布1.0版本,在OSCON(开源大会)上发布了1.0版本。
- 目前最新版为1.14版
- 不但开源,还自由开放组织(CNCF)负责管理
- 受到众多厂商的积极支持,社区十分活跃
- Google,RedHat,CoreOS,Microsoft(Deis),IBM,Huawei
Kubernetes背景总结
- Kubernetes是Google开源的生产容器编排系统,是Google多年大规模容器管理技术Borg的开源版本
- 基于容器的应用部署、维护和滚动升级
- 负载均衡和服务发现
- 跨机器和跨地区的集群调度
- 自动伸缩
- 无状态服务和有状态服务
- 广泛的Volume支持
- 插件机制保证扩展性
- Kubernetes发展非常迅速,已经成为容器编排领域的领导者
来源:oschina
链接:https://my.oschina.net/Ultralinux/blog/4951903