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

简介: 本文将Kubernetes比如主题公园,用类比的手法,将Kubernetes相关的一些核心概念比作主题公园的类似功能的设备,包括Kubernetes container,Kubernetes pod,Kubernetes containerPort,Kubernetes resources,Kubernetes labels,Kubernetes memory,Kubernetes probes,Kubernetes node pool,Kubernetes CPU,Kubernetes nodes等一些概念。
本文将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:类比做主题公园

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
canal SQL JSON
Elastic: canal数据同步到ES配置常见报错
所有报错均为博主在实操过程中遇到的错误和解决办法,如果有其他报错或者不同的解决办法,请留言告诉我 安装canal过程中遇到问题,先在本文中查询是否有相同报错,将会为你节约大量排错时间
1545 0
Elastic: canal数据同步到ES配置常见报错
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
500 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
1507 2
|
SQL 存储 Oracle
大厂面试高频:聊下分库分表与读写分离的实现原理
本文详解了分库分表和读写分离的原理与实现,帮助解决大数据量下的性能瓶颈问题,大厂面试高频,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:聊下分库分表与读写分离的实现原理
|
存储 负载均衡 数据管理
分区和分片
分区和分片
862 5
|
关系型数据库 MySQL 数据库
测试部署PolarDB-X 分布式与集中式
在本文中,作者详述了在CentOS 7.9上部署测试PolarDB-X分布式与集中式数据库的过程。PolarDB-X作为阿里云优化的分布式数据库,提供高稳定性和与MySQL的兼容性,是应对单体数据库扩展性和性能瓶颈的解决方案,同时也符合国产化需求。文章介绍了部署环境准备,包括关闭防火墙和SELinux,设置系统参数,安装Python3和Docker,以及配置MySQL客户端。接着,通过PXD工具部署了PolarDB-X的集中式和分布式版,遇到的问题包括阿里云镜像源异常导致的部署失败以及指定版本安装的困扰。最后,作者进行了初步的压力测试,并对文档完善、生态工具建设以及提供更多使用案例提出了建议。
48964 10
测试部署PolarDB-X 分布式与集中式
|
人工智能 运维 安全
阿里云容器服务ACK:高效管理云上应用的容器化解决方案
阿里云容器服务ACK(Alibaba Cloud Container Service for Kubernetes)为开发者提供了一套全面的容器化管理解决方案,旨在简化云上应用的部署、运维和管理。本文将深入探讨ACK的功能、优势及应用场景,为开发者展现容器化技术在云环境下的强大能力。
1228 0
|
存储 Kubernetes 关系型数据库
使用开源ProxySQL构建PolarDB-X标准版高可用路由服务
本文将指导如何快速搭建和配置PolarDB-X标准版与ProxySQL,并提供验证高可用路由服务验证测试。
|
Java Spring
Spring Boot Admin 授权配置
Spring Boot Admin 授权配置
333 0
|
SQL 关系型数据库 MySQL
基于proxysql实现MySQL读写分离
基于proxysql实现MySQL读写分离
700 0