Kubernetes简称K8s,是一个全新的基于容器技术的分布式架构领先方案。Kubernetes是谷歌Borg系统的开源版本。Kubernetes基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。Kubernetes是一个完备的分布式系统支撑平台,它具有完备的集群管理能力、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力,以及多粒度的资源配额管理能力。与此同时,Kubernetes还提供了完善的管理工具,这些工具涵盖开发、部署测试、运维监控在内的各个环节。因此,Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
如图1-26所示,Kubernetes将集群中的机器划分为一个Master节点和多个工作节点(Node)。其中,在Master节点上运行着与集群管理相关的一组进程kube-apiserver、kube-controller-manager和kube-scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能,并且都是自动完成的。Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁,以及实现软件模式的负载均衡器。
图1-26 Kubernetes架构图