『中级篇』Kubenetes简介(60)
2018-10-14 00:07:59
李明
  • 访问次数: 379
  • 注册日期: 2018-07-09
  • 最后登录: 2020-03-30

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『中级篇』Kubenetes简介(60)

Kubernetes单词起源于希腊语, 是「舵手」或者「领航员」的意思,是“管理者”和“控制论”的根源。 K8s是把用8代替8个字符“ubernete”而成的缩写。

Docker Swarm 和 k8s的前世今生

可以很明确的说 先有的k8s,后有的docker swarm。

  1. 容器编排工具Kubernetes诞生,并迅速得到Google和RedHat的支持。2014年7月,Docker收购Orchard Labs,由此Docker公司开始涉足容器编排领域,Orchard Labs这家2013年由两位牛逼的年轻人创建的公司,有一个当时非常著名的容器编排工具fig,而这个fig就是docker-compose的前身。Docker Compose虽然能编排多容器的APP,但是却不能实现在多个机器上进行容器的创建和管理。所以此时Docker公司和Kubernetes并未开始正面竞争和冲突。

  2. 10月17日,Docker公司在其丹麦哥本哈根举行的 DockerCon 大会上宣布,将扩大其Docker平台并拥抱支持Kubernetes。显然,在容器编排领域的战火已然分出结果,尘埃落定,Kubernetes得到了包括Google、Huawei、Microsoft、IBM、AWS、Rancher、Redhat、CoreOS等容器玩家的一致认可。

  3. Docker容器不关心用户使用哪种编排框架,它的工作是让用户轻松地选择最喜欢的编排框架,无论Kubernetes、Mesos、Docker Swarm还是其他。这个选择在价值上无关紧要,真正的价值在于平台,那才是钱。因此,将Kubernetes与Docker容器进行比较是没有意义的,Docker的真正的竞争对手是VMWare、CloudFoundry等平台。

没有对比没有伤害

docker swarm 和 k8s 都是容器的排版工具但是他们的热度看看google的热度如何告诉我们的。

1666e2e7a83426e9?w=1240&h=695&f=png&s=98

1666e2e7a9750a12?w=1240&h=512&f=png&s=10

1666e2e7a850698e?w=1240&h=888&f=png&s=20

回顾下docker Swarm

docker Swarm分为Manager节点和Worker节点,Manager具备管理功能,维持这个cls的状态,提供对外的接口,可以通过manager部署我们的application,部署service,部署stack。

1666e2e7a36e074a?w=1240&h=700&f=png&s=52

Kubennetes介绍

相比docker Swarm来说Manage等于master,worker等于node节点

1666e2e7a9e748fd?w=796&h=494&f=png&s=130

  1. k8s的master节点

master节点主要是k8s的一个大脑,k8s集群的管理节点,负责管理集群,提供集群的资源数据访问入口。拥有Etcd存储服务(可选),运行Api Server进程,Controller Manager服务进程及Scheduler服务进程,关联工作节点Node。Kubernetes API server提供HTTP Rest接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口。也是集群控制的入口进程;Kubernetes Controller Manager是Kubernetes所有资源对象的自动化控制中心;Kubernetes Schedule是负责资源调度(Pod调度)的进程

1666e2e7afa75743?w=942&h=592&f=png&s=127

  1. k8s的node节点

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节点的资源使用情况,冰实现高效均衡的资源调度策略。

1666e2e7d8ce7c11?w=994&h=629&f=png&s=199

  1. 全局


    1666e2e7e05c2f02?w=912&h=647&f=png&s=118

PS:了解我的老铁都知道,概念讲的少,更多重在实践,通过实践更好的理解概念,从下次开始怼k8s的环境和集群。如果跟我一起学的老铁,应该可以感受的到,在学习docker的时候下载应用的时候都比较费劲各种问题,在一起学习k8s的时候更要注意,k8s是google的产品,google在国内的情况我就不详细说了,一起好好怼,不懂就百度搜:「科学上网」。

1666220af4526825