一句简述Kubernetes是什么:
Kubernetes是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。
一段描述Kubernetes
Kubernetes 一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过 Kubernetes, 你可以快速有效地响应用户需求; 快速而有预期地部署你的应用; 极速地扩展你的应用; 无缝对接新应用功能; 节省资源,优化硬件资源的使用。为容器编排管理提供了完整的开源方案。(下面介绍本段加粗的词)
容器
我们现在常说的容器一般是指 Docker容器,通过容器隔离的特性和宿主机进行解耦,使我们的服务不需要依赖于宿主机而运行,与宿主机互不影响,Docker 容器十分轻量。而 kubernetes 则负责管理服务中所有的 Docker 容器,创建、运行、重启与删除容器。
快速响应
个人理解为两个方面。一、新增或者修改需求时,可以快速进行部署测试 (CICD);二、kubernetes 可以根据不同条件进行动态扩缩容,举个栗子,用户访问量突然由 1000 人上升到 100000 人时,现有的服务已经无法支撑,kubernetes 会自动将用户服务模块增加更多实例以保证当前的系统访问量。
扩展
在快速响应的特点中已经有所提及,这里再补充一点: Kubernetes内部有完善的注册发现机制,当某个服务的实例增加时,kubernetes会自动将其加入服务列表中,免除在传统运维中需要人工维护服务列表的问题。
对接新应用
kubernetes 是一个通用的容器编排框架,支持不同类型的语言,或者是语言无关的,新增加的应用都会以一个新的对象进行接入。
硬件资源
这一点我觉得是 kubernetess 很基本但是非常重要的一个优点了,kubernetes 在部署应用时会自动检查各个服务器的 cpu 与内存使用量,同时会根据服务申请的 cpu 与内存资源,将服务部署到最合适的服务器。(其实这就是容器调度的核心功能了)
kubernetes相关连接:
官网 https://kubernetes.io/
中文社区 https://www.kubernetes.org.cn/
百度百科 https://baike.baidu.com/item/kubernetes/22864162?fr=aladdin
图文原理解析 http://www.dockone.io/article/932