前言
Kubernetes概述
背景
应用部署运行模式变迁
-
物理单机
2000年,部署新程序需要在新购买的物理机器上进行构建、部署
-
虚拟化
- 初期:2001~2009
- 基础计算单元变成VM,服务端应用的构建、部署和运行逐步迁移到虚拟机上
- 成熟期:2010~至今
- 部署形式:公有云、私有云、混合云
- 服务模式:IaaS、PasS、SaaS
- 初期:2001~2009
-
云原生
- 容器化:2013~至今
- 计算基本单元由虚拟机变为容器,越来越多应用的构建、部署与运行选择在容器中进行
- 云原生:2015~至今
- 随着容器技术的出现以及应用锁面临的外部环境的变化,云原生逐渐成为一种应用运化开发、部署和运行的主流方式
- 基础前提:应用的容器化和微服务化。
- 核心:借助容器管理自动化平台进行动态编排和资源优化利用
- 容器化:2013~至今
趋势
- 应用部署运行模式:单机-虚拟机-容器-云原生
- 应用部署运行:更敏捷、更自动化、更有效率、更低成本
- 开发者:更聚焦于应用本身
概述
面向云原生应用的新“云平台“
Kubernetes是以Google内部容器编排管理平台Borg为原型的开源实现
- 容器编排管理平台
- 微服务支撑平台
- 可移植的“云平台”
容器编排管理平台
Kubernetes提供
- 以Pod(容器组)为基本的编排和调度单元以及声明式的对象配置模型(控制器、configmap、secret等)
- 资源配额与分配管理
- 健康检查、自愈、伸缩与滚动升级
微服务支撑平台
Kubernetes提供
- 服务发现、服务编排与内部路由支持
- 服务快速部署和自动负载均衡
- 提供对“有状态”服务的支持等
可移植的“云平台”
Kubernetes提供
- 新一代应用云化的事实标准,成为面向云原生应用的新可移植层,即新“云平台”
- 为用户提供简单且一致的容器化应用部署、伸缩和管理机制,形成新的、通用的应用云化模型
- 云厂商锁定的问题得以解决,云应用支持跨云迁移
优点
- 容器管理、调度和编排的事实标准:摆脱锁定,支持跨云
- 先进的Workload管理之经验模型:Pod和Controllers
- 原生支持微服务抽象:服务注册、服务发现和自动负载均衡