前言
部署演进路线
- 传统部署时代: 传统方式将多个应有程序部署在物理服务器上。这种方式的缺点是无法为物理服务器中的应用程序定义资源边界,这会导致资源分配问题。
- 虚拟化部署时代: 虚拟化功能允许在单个物理服务器上运行多个虚拟机(VM)。虚拟化功能允许应用程序在VM之间隔离,并提供安全级别,这样一个应用程序的信息不能被另一应用程序自由地访问。
- 容器部署时代: 容器类似于 VM,但是它们具有轻量级的隔离属性,可以在应用程序之间共享操作系统(OS)。因此,容器被认为是轻量级的。容器与VM类似,具有自己的文件系统、CPU、内存、进程空间等。由于它们与基础架构分离,因此可以跨云和OS分发进行移植。
Kubernetes是什么?(what)
Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。
Kubernetes(希腊语:舵手、飞行员 )是一个生产级别的开源平台,可协调在计算机集群内和跨计算机集群的应用容器的部署(调度)和执行。它具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建的智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制,以及多粒度的资源配额管理能力。
Kubernetes是一个开放的开发平台。不局限于任何一种语言, 没有限定任何编程接口, 所以不论是用Java、 Go、C++还是用Python编写的服务, 都可以被映射为Kubernetes的Service(服务),并通过标准的TCP通信协议进行交互。此外,Kubernetes平台对现有的编程语言、 编程框架、中间件没有任何侵入性,因此现有的系统也很容易改造升级并迁移到Kubernetes平台上。
Kubernetes可以做什么?(why)
使用Web服务,用户希望应用程序能够724小时全天运行,开发人员希望每天多次部署新的应用版本。通过应用容器化可以实现这些目标,使应用简单、快捷的方式更新和发布,也能实现热更新、迁移等操作。_*使用Kubernetes能确保程序在任何时间、任何地方运行,还能扩展更多有需求的工具和资源。_Kubernetes积累了Google在容器化应用业务方面的经验,以及社区成员的实践,是能在生产环境使用的开源平台。
Kubernetes给我们带来什么?.xlsx