写点什么

通俗易懂图解 Kubernetes

  • 2018-08-21
  • 本文字数:2743 字

    阅读完需:约 9 分钟

本文最初发表于 Daniel Lebrero 的个人站点,经原作者授权由 InfoQ 中文站翻译并分享。

Kubernetes(后文简称为 k8s)有自己的一套抽象机制和术语,但是借助一些想象力,可以将这些抽象与我们更加熟悉的概念联系起来。

我本来希望将其类比为香肠工厂,但令人遗憾的是,k8s 要比香肠更复杂,所以我只好将其类比为主题公园。

如下的内容都是基于谷歌 Kubernetes 引擎的,在其他的供应商中或者如果你自行运行 k8s 的话,有些概念可能会略有差异。

你是谁?

我们假设你是 Kubenelius Fizzbuzz,一位刚刚毕业的 MBA,擅长打包各种东西,你信心满满地要实现自己的想法:KubePark 主题公园。

计划有趣的游乐设施

为了启动 KubePark 这个工程,你需要为其规划有趣的游乐设施。于是,你决定每个吸引游客的景点都只需要填写一个如下图所示的模板(k8s deployment )即可。

这张图片表明 KubePark 有三个 1909 旋转木马。

1909 旋转木马是由两部分组成的:一个经典的旋转木马再加上一个棉花糖摊位。每个组成部分(k8s container )将会通过一个大箱子由无人机实现交付,一旦开箱就能立即组装好并运行起来。

每个景点都会使用栅栏包围起来,将其与其他景点隔离,这样某个景点的问题就不会传播到其他景点之中。但是景点各个组成部分则是不可分割的整体(k8s pod ),所以不会有障碍物或防火墙阻碍组件之间的交流和移动,避免破坏游客的体验(在 k8s 中,如果你想要共享文件的话,还是需要一点配置的)。

具有栅栏就意味着我们需要为游客规划入口(k8s containerPort )。在 1909 旋转木马中,将会首先经过一个棉花糖的摊位:在体验旋转木马的时候,如果还有一个蓬松的棉花糖,那将会带来更有趣的体验。

模板还会指定大小(k8s 内存)和电力(k8sCPU)的需求(k8s resources ),并将 1909 旋转木马标记(k8s labels )为旋转木马(carousel)、适宜儿童(kid friendly)和经典(classic)的景点。稍后我们将会看到如何使用这些信息。

在模板背后,有些东西我们在图片上没有标注出来,你还需要为每个组成部分编写维护指令(k8s probes )。你的员工会定期按照这些指令判断是否有某些组成部分需要替换。如果需要替换的话,维护人员会将有问题的组成部分直接化为灰烬,无人机将会运来另外一个新的大箱子作为替换。所以,不要花费力气试图修复它们,我们只需要替换整个棉花糖摊点或旋转木马就可以。在替换期间,景点会对游客关闭,即便景点中某些组成部分对用户可用也会如此:1909 旋转木马的体验包括必备的棉花糖和旋转木马,二者是不可分割的。

寻找地块将计划落地

有趣的游乐设施规划完成之后,接下来就该开工建设这个公园了。

你需要与土地的拥有者签订一个租赁合同(k8s node pool ):

这个包含了两个地块(k8s nodes ),每个地块有其大小(k8s memory)和发电机(k8s CPU)。需要注意该协议并不是针对两个特定的地块的,而是多个具备该特征的地块,土地拥有者要负责寻找这些地块。借助现代的运输机制,这些地块并不一定要相邻。

土地拥有者还需要保护对地块的访问,这是通过在每个地块周围安装带刺的铁丝网来实现的。

你还可以勾选“free disaster insurance”(k8s auto repair ))复选框:如果某个地块不可用的话,土地拥有者会将其替换为具有完全相同特质的另外一个地块。土地拥有者要负责查找并确定地块是否可用,并进行替换。

最后,协议提供的地块是带有标签的(同样是 k8s label ),这里的标签是“plains”和“Mediterranean weather”,即平整的地区并且是地中海气候。稍后我们将会看到如何使用该信息。

建造 KubePark

你的工作已经非常辛苦了,所以你会将公园建造的具体工作委托给一位控制人员。该员工会确保你在计划中规划的景点数量和类型始终都能无误地运转。

出乎意料的是,慷慨的土地拥有者还为你提供了控制交通管制塔(k8s cluster master ),以便于让控制人员容身并且还会负责控制塔所需的维护和改善工作。这样我们要关心的事情就又少了一件!

现在有了控制塔,再加上建造游乐设施的计划,你的员工就可以决定在哪个地块上构建每个景点了,需要确保地块上有足够的空间和电力满足景点的运转所需(k8s resource quality of service )。

每个景点始终都能得到所需的最少电力(k8s CPU),并且拥有的电力量不会超过规定的最大值(否则的话,将会造成短路并烧坏线路),如果地块上还有空闲电力的话,它能够得到额外的电力(超过最小值,但是不会大于最大值)。如果没有空闲的话,该景点的运行会变得更加缓慢。

康茄舞会(Conga Dancing Party Line)有一个最小和最大的规模(k8s memory)。它始终能保证达到指定的最小值,但是如果大于最大值的话,它就会关闭。我们大家都知道,太长的康茄舞通常都会以骚乱收场。如果地块有空闲的话,它会得到额外的空间(超过最小值),但是如果没有空间的话,超过最小空间的某个景点将会关闭。交通管制塔会决定要将哪个景点关闭,它可能是康茄舞会景点,也有可能是其他的。

现在有了足够的空间和电力,团队在创建你规划的景点方面已经没有任何问题了。主题公园已经准备就绪了。

KubePark 开业

为了帮助游客到达每个景点,你发现最简单的方式就是使用带不同颜色的路标(k8s nodePort 服务),如下所示:

图片来源:来自 Cmglee 伦敦维多利亚车站地面线

在这里,我们想要使用蓝色标线将游客导引至带有“classic”标签的景点,绿色标线将用户导引至带有“roller coaster”标签的景点。按照你的需要,可以进行具体化或泛化,如果必要的话,还可以将多个标签组合起来。

路标不仅仅是给游客用的,你的内部员工也可以使用它,你还可以创建仅仅对内部员工可见的路径(k8s clusterIP 服务),例如到员工食堂的路径。

由于地块都被带刺的铁丝网围着,所以你需要想办法让游客进入公园。有种方案是在铁丝网上打个洞,带颜色的路径一直延伸到这个洞上(k8s loadBalancer 服务),但是这意味你要以某种方式保护每个带颜色的路径。

所以,作为替代方案,你会选择带有准入的大门(k8s ingress )。土地的拥有者提供一些标准的大门,所以你的员工无需维护它们,它们也不会使用地块上的空间和电力。土地的拥有者还会负责构建从大门到地块的立交桥。未来,你可能还会需要更加专业化的准入大门(k8s Traefik )。

现在,你可以给准入大门的员工一些指令:

  1. 带有六岁以下儿童的游客要使用红色标线;
  2. 带有青少年的游客要使用绿色标线;
  3. ……

启动并让它运转起来

一切就绪之后,你的公园就可以运行起来了:

到此为止吗?

如你所愿!

关于 Kubernetes 的扩展性、污染(Taints)和亲密关系(affinities)以及 StatefulSets、持久化卷(Persistent Volumes)和无头服务(Headless Service)的内容可以阅读后续文章的详细介绍。

感谢张婵对本文的审校。

2018-08-21 18:244781

评论 1 条评论

发布
暂无评论
发现更多内容

我终于学会的前端技能——代码调试、打断点

小白Coding日志

Vue 前端 vscode JavaScrip debugger

大模型在数据分析场景下的能力评测|进阶篇

Kyligence

数据分析 指标平台

五大场景,助力煤炭行业设备资产数智化管理

用友BIP

资产管理

飞码LowCode前端技术系列:如何便捷快速验证实现投产及飞码探索 | 京东云技术团队

京东科技开发者

Vue 前端 低代码 企业号11月PK榜

云服务器一年低至81元!2023双十一云服务器降价大盘点

学IT的小树叶

服务器 云服务器 阿里云服务器 海外云服务器

TechTool Pro 18 for mac硬件监测和系统诊断工具

展初云

Mac 系统维护软件

Microsoft 365 for Mac(原Office 365) v16.79正式版

展初云

Mac Office Microsoft 365 办公软件

神秘的SQL AST抽象语法树

张磊

sql AST 语法树

图像和文档透明显示软件 Overlay激活版最新

胖墩儿不胖y

Mac软件

【专家观点】社会化架构支撑产业链服务

用友BIP

产业链

电脑网站支付报错“验签出错,建议检查签名字符串或私钥与应用公钥是否匹配”问题解决记录

盐焗代码虾

Java 支付宝报错 排查思路

语言与图像预训练的强大模型

百度开发者中心

人工智能 深度学习 nlp

阿里云宕机带来的稳定性思考

老张

混沌工程 全链路压测 稳定性保障

基于 Amazon EKS 搭建开源向量数据库 Milvus

亚马逊云科技 (Amazon Web Services)

向量数据库 大语言模型

【云栖2023】姜伟华:Hologres Serverless之路——揭秘弹性计算组

阿里云大数据AI技术

大数据

文心生物计算大模型重磅升级,构象预测准确度全面提升!

飞桨PaddlePaddle

大模型 文心 文心生物计算大模型

添添闺蜜机销量超12000台,市场领先优势进一步凸显

新消费日报

用友力量!三峡、中粮、云投等众多央国企成功上线数智化领先实践项目

用友BIP

企业数智化

「智造」第7期:浅谈工业生产设备采集方式

用友BIP

智能制造

光纤接入网的方式有哪几种?

小魏写代码

大模型训练:量化策略与优质数据集的重要性

百度开发者中心

人工智能 大模型

大模型训练中的学习率设定与warm up策略

百度开发者中心

深度学习 大模型

冰点还原精灵Deep Freeze for mac

展初云

Mac 系统恢复 冰点还原精灵

从 MLOps 到 LMOps 的关键技术嬗变

Baidu AICLOUD

大模型 LLMOps 千帆大模型平台 LMops

数据查询慢?别着急,读个执行计划定位优化下

NebulaGraph

性能优化 图数据库 NebulaGraph

从“用数据说话”到“让数据说话”,全面数据服务焕发酒店生意新生

用友BIP

数据资产

通俗易懂图解Kubernetes_DevOps & 平台工程_Daniel Lebrero_InfoQ精选文章