解释图片中的Kubernetes:类比做主题公园
Kubernetes(下文简称k8s)有它自身的一些抽象概念和术语。但我们只要稍加想象,就可以将那些抽象的事物和很熟悉的概念联系起来。
我希望将它类比做香肠工厂,但不幸的是k8s不仅仅是香肠,所以我们不得不将它类比做主题公园。
下面的描述基于
Google Kubernetes Engine
,如果你运行在其他的供应商或者运行在自己的k8s上,一些概念可能会有少许不同。 你是谁
你是Kubenelius Fizzbuzz,一个刚毕业于MBA的学生,拥有Boxes Of All Sizes 的专长,你要去实践你最伟大的想法:KubePark主题世界(KubePark Theme World)。
有趣的旅行计划
为了启动KubePark计划,你需要去计划这场有趣的旅行。你决定,对于每一个景点,你需要填写类似这样的一个模板(k8s部署):
一个1909年的旋转木马由两部分组成:一个经典的旋转木马加上一个棉花糖的摊位。每个部分(k8s容器)将由无人机在一个巨大的盒子里传送,完整的组装好,并准备好一旦打开就可以转动。
每一个景点将被栅栏包围,以将它与其他景点隔离,这样一个景点的问题就不能蔓延到其他景点。但是景点的各部分组成了不可分隔的一个整体(k8s pod),所以在它们之间没有任何障碍或防火墙,它们可以毫无困难的在各部分之间交流或移动,这可能会破坏游客的感受(k8s,除非你想要共享文件会需要一点配置)。
有一个栅栏意味着你需要计划一下游客的访问的门(k8s 容器端口)开在哪里。在1909年的旋转木马中,游客将经过棉花糖的摊位;在享受一个蓬松的的棉花糖的同时,旋转木马旅行将变得更加有趣。
这个模板还指定了大小(k8s内存)和电源(k8s CPU)需求(k8s资源),标记(k8s 标签)1909年的旋转木马为一个对小孩友好的、经典的的景点的旋转木马。接下来我们将看你将如何使用这些信息。
模板的另一面,并没有被展示在上面,你将写下每一部分的维护说明(k8s probes)。你的工作人员将会定期按照那些说明查看是否有某个部分需要替换。如果有的话,维护人员会将有缺陷的部件拿走,无人机将会带来另一个巨大的盒子来替换它。所以不要再试图去修复任何东西,只是简单的替换整个摊位或者旋转木马。在替换期间景点将对游客关闭,即使某些部分依然处于工作状态:1909年的旋转木马体验必须有棉花糖和旋转木马设备,两者是不可分离的。
土地
按照有趣的旅行计划,是时候建立这个公园了。
你和房东签署了一个租赁合同(k8s node pool)。
房东通过给每块(土地)安装带刺的金属网来保护每块(土地)的安全。
你获得了免费的灾害保险(k8s自动装载)箱:如果一块(土地)变得不可用了,房东将会用一块有完全相同的特质的土地去替换它。找到并确定这块(土地)不可用的时候替换它是房东的唯一责任。
最后,合同提供的任何一块(土地)都将被贴上标签(k8s标签),并作为地中海气候的平原地带。接下来我们将看到如何去使用这些信息。
建立KubePark
你已经工作足够努力,所以你将公园的建设的细节委托给你的控制人员。那些人员将确保你在计划中指定的确切数量和类型的景点一直在工作。
意料之外的慷慨,你的房东给你的控制人员提供了一个空中交通管制塔(k8s集群master),并由他去关注管制塔所需要的任何维护和提升工作。少关心一件事情!
从管制塔的特权地位和你的有趣的旅行计划考虑,控制人员将决定哪块土地建设哪个景点,确保每块(土地)的可利用空间和备用电源可以承载一个景点所必须的那些东西(k8s的服务质量)。
一个景点总是会得到所必须的最小功率(k8s CPU),从来不会超过它的最大功率(因为它会造成短路和燃烧),并且如果有多余的空间(超过最小值)就会得到额外的功率。如果没有多余的空间,景点的设备移动就变得更加的缓慢。
康茄舞会路线有最小和最大尺寸(k8s内存)。它总是会得到特定的最小尺寸,但是如果超过最大的尺寸,它将会关闭。大家都知道太长时间的康茄舞总是以野蛮的暴乱告终。如果那块(土地)里有多余的空间,它将获得额外的空间(超过最小空间),但如果没有,超过最小空间的景点将被关闭。由交通管制塔来决定哪条路线以是康茄舞会路线。
由于有足够的空间和电源,团队可以毫无问题地创建您计划的所有景点。公园快准备好了!
开启KuberPark
为了帮助游客到达他们要去的景点,你决定去使用最简单的类似下图的彩色的路径查询器(k8s nodePort service):
这个道路查询器不仅仅是针对游客的,你的内部人员也可以使用他,甚至于你可以创建只有你们团队(k8s clusterIP service)可见的路径,例如找到员工食堂。
因为这块(土地)被铁丝网完全包围着,你需要以某种方式让游客进入公园。一种选择是,从一条彩色的小路一直走到铁丝网,在上面挖个洞(k8s loadBalancer service),但是这意味着你需要以某种方式保护每一条有颜色的道路。
所以你选择设置一些入场的门(k8s ingress).你的房东提供了一些标准的大门,从而让你的团队不需要去维护他们,他们也不需要你这块(土地)的空间或能量。房东还会负责修建一个从大门到这块(土地)的立交桥。也许将来你会选择更专业的入场门(k8s就像Traefik)。
你给准入门的工作人员一些简单的指示:
1. 带着6岁以下儿童的游客应使用红色通道。
2. 带着青少年的游客应使用绿色通达。
3. ...
启动和运行!
有了这个,你的公园准备好了:
你可以阅读更多的关于Kubernetes缩放,污染和亲和性,状态集,持久卷和无领导服务。
本文转自DockOne-解释图片中的Kubernetes:类比做主题公园
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深度剖析Kubernetes API Server三部曲 - part 1
欢迎来到深入学习Kubernetes API Server的系列文章,在本系列文章中我们将深入的探究Kubernetes API Server的相关实现。如果你对Kubernetes 的内部实现机制比较感兴趣或者正在进行Kubernetes 项目的相关开发工作,那么本系列文章能够为你提供一些帮助。了解学习过go语言,会在某些方面帮助你更好的理解本系列文章。 在本期文章中,我们首先会对Kubernetes API Server进行一个总体的大致说明,然后对API的技术术语及请求流作说明。在下几期的文章中则主要对API Server与etcd存储的交互以及对API Server进行相关扩展进行探讨,说明。 API Server的总体说明 从理论上来说,Kubernetes 是由一些具有不同角色的节点组成的。作为控制面的主节点主要部署有API Server, Controller Manager 和 Scheduler(s)等组件。API Server作为Kubernetes 中的管理中心,是唯一能够与存储etcd交互通信的组件。它主要能够提供如下服务: 1. 作为 Kubernetes A...
- 下一篇
Kubernetes NodePort、LoadBalancer和Ingress介绍
最近,有人问我NodePorts,LoadBalancers和Ingress之间有什么区别。 它们都是将外部流量引入群集的方式,但是分别以不同的方式完成。 让我们来具体看看它们是如何工作的,以及何时使用它们。 注意:此处的所有内容均适用于Google Kubernetes Engine。 如果您在另一个云上运行,使用minikube或其他东西,这些将略有不同。 我也没有深入了解技术细节。 如果您有兴趣了解更多信息, 官方文档 是一个很好的资源! ClusterIP ClusterIP服务是默认的Kubernetes服务。 它为您提供集群内的其他应用程序可以访问的服务。 没有外部访问权限。 ClusterIP服务的YAML如下所示: apiVersion: v1 kind: Service metadata: name: my-internal-service spec: selector: app: my-app type: ClusterIP ports: - name: http port: 80 targetPort: 80 protocol: TCP 如果您无法从互联网访问Cl...
相关文章
文章评论
共有0条评论来说两句吧...