Kubernetes单词起源于希腊语, 是「舵手」或者「领航员」的意思,是“管理者”和“控制论”的根源。 K8s是把用8代替8个字符“ubernete”而成的缩写。
可以很明确的说 先有的k8s,后有的docker swarm。
docker swarm 和 k8s 都是容器的排版工具但是他们的热度看看google的热度如何告诉我们的。
docker Swarm分为Manager节点和Worker节点,Manager具备管理功能,维持这个cls的状态,提供对外的接口,可以通过manager部署我们的application,部署service,部署stack。
相比docker Swarm来说Manage等于master,worker等于node节点
master节点主要是k8s的一个大脑,k8s集群的管理节点,负责管理集群,提供集群的资源数据访问入口。拥有Etcd存储服务(可选),运行Api Server进程,Controller Manager服务进程及Scheduler服务进程,关联工作节点Node。Kubernetes API server提供HTTP Rest接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口。也是集群控制的入口进程;Kubernetes Controller Manager是Kubernetes所有资源对象的自动化控制中心;Kubernetes Schedule是负责资源调度(Pod调度)的进程
Node是Kubernetes集群架构中运行Pod的服务节点(亦叫agent或minion)。Node是Kubernetes集群操作的单元,用来承载被分配Pod的运行,是Pod运行的宿主机。关联Master管理节点,拥有名称和IP、系统资源信息。运行docker eninge服务,守护进程kunelet及负载均衡器kube-proxy. 每个Node节点都运行着以下一组关键进程 kubelet:负责对Pod对于的容器的创建、启停等任务 kube-proxy:实现Kubernetes Service的通信与负载均衡机制的重要组件 Docker Engine(Docker):Docker引擎,负责本机容器的创建和管理工作 Node节点可以在运行期间动态增加到Kubernetes集群中,默认情况下,kubelet会想master注册自己,这也是Kubernetes推荐的Node管理方式,kubelet进程会定时向Master汇报自身情报,如操作系统、Docker版本、CPU和内存,以及有哪些Pod在运行等等,这样Master可以获知每个Node节点的资源使用情况,冰实现高效均衡的资源调度策略。
PS:了解我的老铁都知道,概念讲的少,更多重在实践,通过实践更好的理解概念,从下次开始怼k8s的环境和集群。如果跟我一起学的老铁,应该可以感受的到,在学习docker的时候下载应用的时候都比较费劲各种问题,在一起学习k8s的时候更要注意,k8s是google的产品,google在国内的情况我就不详细说了,一起好好怼,不懂就百度搜:「访问外国网站」。