解释图片中的Kubernetes:类比做主题公园

  1. 云栖社区>
  2. 博客>
  3. 正文

解释图片中的Kubernetes:类比做主题公园

店家小二 2018-12-18 21:26:00 浏览474
展开阅读全文
本文将Kubernetes比如主题公园,用类比的手法,将Kubernetes相关的一些核心概念比作主题公园的类似功能的设备,包括Kubernetes container,Kubernetes pod,Kubernetes containerPort,Kubernetes resources,Kubernetes labels,Kubernetes memory,Kubernetes probes,Kubernetes node pool,Kubernetes CPU,Kubernetes nodes等一些概念。

Kubernetes(下文简称k8s)有它自身的一些抽象概念和术语。但我们只要稍加想象,就可以将那些抽象的事物和很熟悉的概念联系起来。

我希望将它类比做香肠工厂,但不幸的是k8s不仅仅是香肠,所以我们不得不将它类比做主题公园。

下面的描述基于Google Kubernetes Engine,如果你运行在其他的供应商或者运行在自己的k8s上,一些概念可能会有少许不同。

你是谁

你是Kubenelius Fizzbuzz,一个刚毕业于MBA的学生,拥有Boxes Of All Sizes 的专长,你要去实践你最伟大的想法:KubePark主题世界(KubePark Theme World)。

有趣的旅行计划

为了启动KubePark计划,你需要去计划这场有趣的旅行。你决定,对于每一个景点,你需要填写类似这样的一个模板(k8s部署):
kubernetes-deployment.jpg

你可以说在这里KubePark将会拥有3个1909年的旋转木马。

一个1909年的旋转木马由两部分组成:一个经典的旋转木马加上一个棉花糖的摊位。每个部分(k8s容器)将由无人机在一个巨大的盒子里传送,完整的组装好,并准备好一旦打开就可以转动。


每一个景点将被栅栏包围,以将它与其他景点隔离,这样一个景点的问题就不能蔓延到其他景点。但是景点的各部分组成了不可分隔的一个整体(k8s pod),所以在它们之间没有任何障碍或防火墙,它们可以毫无困难的在各部分之间交流或移动,这可能会破坏游客的感受(k8s,除非你想要共享文件会需要一点配置)。


有一个栅栏意味着你需要计划一下游客的访问的门(k8s 容器端口)开在哪里。在1909年的旋转木马中,游客将经过棉花糖的摊位;在享受一个蓬松的的棉花糖的同时,旋转木马旅行将变得更加有趣。

这个模板还指定了大小(k8s内存)和电源(k8s CPU)需求(k8s资源),标记(k8s 标签)1909年的旋转木马为一个对小孩友好的、经典的的景点的旋转木马。接下来我们将看你将如何使用这些信息。

模板的另一面,并没有被展示在上面,你将写下每一部分的维护说明(k8s probes)。你的工作人员将会定期按照那些说明查看是否有某个部分需要替换。如果有的话,维护人员会将有缺陷的部件拿走,无人机将会带来另一个巨大的盒子来替换它。所以不要再试图去修复任何东西,只是简单的替换整个摊位或者旋转木马。在替换期间景点将对游客关闭,即使某些部分依然处于工作状态:1909年的旋转木马体验必须有棉花糖和旋转木马设备,两者是不可分离的。

土地

按照有趣的旅行计划,是时候建立这个公园了。

你和房东签署了一个租赁合同(k8s node pool)。
kubernetes-node-pool.jpg

这个合同包含两块土地(k8s nodes),每一块都有特定的大小(k8s内存)和发电机(k8s CPU)。请注意,这份合同并不是针对两块特定的土地,但对于具有这些特征的任何两个块土地,找到它们是房东的工作。凭借现代化的客运方式,它们甚至不需要相邻。

房东通过给每块(土地)安装带刺的金属网来保护每块(土地)的安全。

你获得了免费的灾害保险(k8s自动装载)箱:如果一块(土地)变得不可用了,房东将会用一块有完全相同的特质的土地去替换它。找到并确定这块(土地)不可用的时候替换它是房东的唯一责任。

最后,合同提供的任何一块(土地)都将被贴上标签(k8s标签),并作为地中海气候的平原地带。接下来我们将看到如何去使用这些信息。

建立KubePark

你已经工作足够努力,所以你将公园的建设的细节委托给你的控制人员。那些人员将确保你在计划中指定的确切数量和类型的景点一直在工作。

意料之外的慷慨,你的房东给你的控制人员提供了一个空中交通管制塔(k8s集群master),并由他去关注管制塔所需要的任何维护和提升工作。少关心一件事情!

从管制塔的特权地位和你的有趣的旅行计划考虑,控制人员将决定哪块土地建设哪个景点,确保每块(土地)的可利用空间和备用电源可以承载一个景点所必须的那些东西(k8s的服务质量)。

一个景点总是会得到所必须的最小功率(k8s CPU),从来不会超过它的最大功率(因为它会造成短路和燃烧),并且如果有多余的空间(超过最小值)就会得到额外的功率。如果没有多余的空间,景点的设备移动就变得更加的缓慢。

康茄舞会路线有最小和最大尺寸(k8s内存)。它总是会得到特定的最小尺寸,但是如果超过最大的尺寸,它将会关闭。大家都知道太长时间的康茄舞总是以野蛮的暴乱告终。如果那块(土地)里有多余的空间,它将获得额外的空间(超过最小空间),但如果没有,超过最小空间的景点将被关闭。由交通管制塔来决定哪条路线以是康茄舞会路线。

由于有足够的空间和电源,团队可以毫无问题地创建您计划的所有景点。公园快准备好了!

开启KuberPark

为了帮助游客到达他们要去的景点,你决定去使用最简单的类似下图的彩色的路径查询器(k8s nodePort service):
kubernetes-nodeport-service.jpg
该图片贡献者:London Victoria station floor lines by Cmglee.
在这里,你决定创建一条蓝线,带游客去你称之为“经典”的景点,一条绿线,带他们去你称之为“过山车”的景点。你可以根据需要使用特定的或通用的标记,如果需要,还可以组合多个标记。
这个道路查询器不仅仅是针对游客的,你的内部人员也可以使用他,甚至于你可以创建只有你们团队(k8s clusterIP service)可见的路径,例如找到员工食堂。
因为这块(土地)被铁丝网完全包围着,你需要以某种方式让游客进入公园。一种选择是,从一条彩色的小路一直走到铁丝网,在上面挖个洞(k8s loadBalancer service),但是这意味着你需要以某种方式保护每一条有颜色的道路。
所以你选择设置一些入场的门(k8s ingress).你的房东提供了一些标准的大门,从而让你的团队不需要去维护他们,他们也不需要你这块(土地)的空间或能量。房东还会负责修建一个从大门到这块(土地)的立交桥。也许将来你会选择更专业的入场门(k8s就像Traefik)。
你给准入门的工作人员一些简单的指示:
1. 带着6岁以下儿童的游客应使用红色通道。
2. 带着青少年的游客应使用绿色通达。
3. ...
启动和运行!
有了这个,你的公园准备好了:
kubernetes-explained-in-pictures.jpg
难道就这些吗?
如你所愿。

你可以阅读更多的关于Kubernetes缩放,污染和亲和性,状态集,持久卷和无领导服务。

本文转自DockOne-解释图片中的Kubernetes:类比做主题公园

网友评论

登录后评论
0/500
评论
店家小二
+ 关注