Kubernetes 简介
Kubernetes 是 Google 2014 年创建管理的,是 Google 10 多年大规模容器管理技术 Borg 的开源版本。
Kubernetes(k8s)是一个开源容器集群管理系统,实现容器集群的自动化部署、自动扩缩容、维护等功能。它可以实现快速部署、快速扩展、无缝对接新的应用功能并且可以节约资源,优化硬件资源的使用。
Kubernetes 的目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担。
容器化部署的优势
传统的应用服务部署方式是通过插件或脚本来安装应用。这样做的缺点是应用服务的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用服务的升级更新/回滚等操作,当然也可以通过创建虚机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。因此,容器化部署开始被大量的应用。相比传统的应用服务部署方式,容器化部署有以下优势:
- 快速创建/部署应用: 与虚拟机相比,容器镜像的创建更加容易。
- 持续开发、集成(CI)和部署(DI): 提供可靠且频繁的容器镜像构建/部署,并使用快速和简单的回滚(由于镜像不可变性)。
- 开发和运行分离: 在 build 或者 release 阶段创建容器镜像,使得应用和基础设施解耦。
- 开发,测试和生产环境一致性: 在本地或外网(生产环境)运行的一致性。
- 云平台或其他操作系统: 可以在 Ubuntu、RHEL、CoreOS、on-prem、Google Container Engine 或其它任何环境中运行。
- 分布式,弹性,微服务化: 应用程序分为更小的、独立的部件,可以动态部署和管理。
- 资源隔离
- 资源利用更高效
Kubernetes应用范围
Kubernetes提供了一个以容器为中心的基础架构。它可以满足如下的应用需求:
- 多进程协同
- 存储系统挂载
- 自动伸缩、扩展
- 注册与发现
- 负载均衡
- 资源监控
- 日志访问
- 应用程序调试、实例复制、健康检查
- 提供认证和授权