https://mp.weixin.qq.com/s/vshU845WMnoBdrYnPMV49A


很久很久以前,有一个叫 Phippy 的应用程序。她是一个简单的应用程序,由 PHP 编写且只有一个页面。

住在一个需要和其他可怕的应用程序分享环境的主机中,她不认识这些应用程序并且不愿意和他们来往。

她希望她能拥有一个属于自己的环境:只有她自己和她可以称之为家的 Web 服务器。

每个应用程序都有个运行所依赖的环境。对于 PHP 应用程序来说,这个环境可能包括 Web 服务器,一个可读文件系统和 PHP 引擎本身。

有一天,一只善良的鲸鱼出现了。他建议小 Phippy 住在容器里,这样可能会更快乐。所以应用程序 Phippy 迁移到了容器中。这个容器很棒,但是……它有点像一个漂浮在大海中央的豪华起居室。

容器提供了一个独立的环境,应用程序可以在这个环境中运行。但是这些孤立的容器常常需要被管理并与外面的世界连接。

对于孤立的容器而言,共享文件系统、网络通信、调度、负载均衡和分发都是要面对的挑战。

鲸鱼耸了耸肩。“对不起,孩子。”他说着,消失在海面下。

就在 Phippy 甚至开始绝望时,一位驾驶着巨轮的船长出现在海平线上。这艘船由几十个绑在一起的木筏组成,但从外面来看,它就像一艘巨轮。

“你好呀,这位 PHP 应用程序朋友。我是 Kube 船长。”睿智的老船长说。

“Kubernetes” 在希腊语中是船长的意思。我们可以从这个单词中得到 Cybernetic 和 Gubernatorial 这两个词组。Kubernetes 项目专注于构建一个健壮的平台,用于在生产环境中运行数千个容器。

“我是 Phippy。”小应用程序说。

“很高兴认识你。”船长一边说,一边在她身上贴上了一张标有姓名的标签。

Kubernetes 使用标签作为“名牌”来标识事物。它可以根据这些标签进行查询。标签是开放性的:你可以用他们来表示角色、稳定性或其他重要的属性。

船长建议应用程序把她的容器搬到船上的一个船舱中。Phippy 很高兴地把她的容器搬到 Kube 船长巨轮的船舱内。Phippy 觉得这里像家一样。

在 Kubernetes 中,Pod 代表一个可运行的工作单元。通常,你会在 Pod 中运行一个容器。

但是对于一些容器紧密耦合的情况,你可以选择在同一个 Pod 中运行多个容器。

Kubernetes 负责将你的 Pod 和网络以及 Kubernetes 的其余环境相连。

Phippy 有一些不同寻常的兴趣,她很喜欢遗传学和绵羊。所以她问船长:“如果我想克隆我自己,是否可以根据需求克隆任意次数呢?

“这很容易。”船长说。船长把 Phippy 介绍给了 Replication Controller。

Replication Controller 提供一种管理任意数量 Pod 的方法。一个 Replication Controller 包含一个 Pod 模板,该模板可以被复制任意次数。

通过 Replication Controller,Kubernetes 将管理 Pod 的生命周期,包括伸缩、滚动更新和监控。

无数个日夜,小应用程序在她的船舱中与她的复制品相处十分愉快。但与自己为伍并没有所说的那么好……即使你拥有 N 个自己的克隆体。

Kube 船长慈祥地笑了笑:“我正好有一样东西。”

他刚开口,在 Phippy 的 Replication Controller 和船的其他部分之间打开了一条隧道。Kube 船长笑着说:“即使你的复制品来了又去,这条隧道始终会留在这里,你可以通过它发现其他 Pod,其他 Pod 也可以发现你!

服务告知 Kubernetes 环境的其余部分(包括其他 Pod 和 Replication Controller)你的应用程序包含了哪些服务,当 Pod 来来往往,服务的 IP 地址和端口始终保持不变。

其他应用程序可以通过 Kurbenetes 服务发现找到你的服务。

多亏了这些服务,Phippy 开始探索船的其他部分。不久之后,Phippy 遇到了 Goldie。他们成了最好的朋友。

有一天,Goldie 做了一件不同寻常的事。她送给 Phippy 一件礼物。Phippy 看了礼物一眼,悲伤的泪水夺眶而出。

“你为什么这么伤心呢?”Goldie 问道。

“我喜欢这个礼物,但我没有地方可以放它!”Phippy 抽噎道。

但 Goldie 知道该怎么做。“为什么不把它放入卷中呢?”

卷表示容器可以访问和存储信息的位置。对于应用程序,卷显示为本地文件系统的一部分。但卷可以由本地存储、Ceph、Gluster、持久性块存储,以及其他存储后端支持。

Phippy 喜欢在 Kube 船长的船上生活,她很享受来自新朋友的陪伴(Goldie 和每个克隆人都同样令人愉悦)。但是,当她回想起在可怕的主机度过的日子,她想知道她是否也可以拥有一点自己的隐私。

“这听起来像是你所需要的,”Kube 船长说,“这是一个命名空间。”

命名空间是 Kubernetes 内部的分组机制。服务、Pod、Replication Controller 和卷可以在命名空间内部轻松协作,但命名空间提供了与集群其他部分一定程度的隔离。

Phippy 与她的新朋友一起乘坐 Kube 船长的巨轮航行于大海之上。她经历了许多伟大的冒险,但最重要的是,Phippy 找到了自己的家。

所以 Phippy 从此过上了幸福的生活。

献给所有试图向孩子们解释软件工程的家长。

  • 原文地址:The Illustrated Children’s Guide to Kubernetes

  • 原文作者:CLOUD NATIVE COMPUTING FOUNDATION

  • 译文出自:掘金翻译计划

  • 本文永久链接:github.com/xitu/gold-m…

  • 译者:江五渣

  • 校对者:mymmon,csming1995

51CTO技术交流群-北京微信群招新啦!快长按识别下方二维码,加51CTO官方社群微信,备注【北京】进群吧!

阅读 7159

在看68

写下你的留言

精选留言

  • 5

    曾武斌 佳洋软件

18张儿童插画让你秒懂Kubernetes相关推荐

  1. 19张插画让你秒懂Kubernetes

    下面内容是根据一个视频翻译过来的,比较形象 某一天 有一天,女儿走进书房问我:『爸爸,什么是 Kubernetes 呢?』 我回答她:『Kubernetes 是一个开源的 Docker 容器编排系统, ...

  2. mysql8.0.18用什么jdk_为什么拍的图要用PS做后期,这18张图回复你!

    许多人都对后期PS有偏见,看到好看的照片就会用轻蔑的语调脱口而出"这肯定是P的". 其实后期也是摄影创作的部分,我们应该一视同仁. 通过下面这18张图,希望你能意识到后期对作品创作 ...

  3. 【终结扩散模型】Consistency Models.OpenAI开源新模型代码,一步成图,1秒18张

    [终结扩散模型]Consistency Models.OpenAI开源新模型代码,一步成图,1秒18张 0.前言 Abstract 1. Introduction 2. Diffusion Model ...

  4. 升级扩散模型!一步成图,1秒18张,OpenAI开源

    本文来源  机器之心编辑部 在 AI 画图的领域,人们一直在尝试不断改进扩散模型,推出了 Stable Diffusion.Midjourney.DALL-E 等技术,并在其基础上构建应用.不过最近, ...

  5. 超棒的18张美女纹身肖像摄影

    日期:2013-3-21  来源:GBin1.com 这是一套创意感十足的美女纹身摄影作品,希望这套超棒的摄影和纹身设计可以带给大家更多的设计灵感,希望大家喜欢! 相关阅读: 40个使用HDR的超棒夜 ...

  6. 13 张图带你学懂 Kubernetes Service(转载)

    在 Kubernetes 中 Service 主要有4种不同的类型,其中的 ClusterIP 是最基础的,如下图所示: 当我们创建一个 NodePort 的 Service 时,它也会创建一个 Cl ...

  7. 6.18张朝阳再次直播带货    现拌现吃凉拌槐花上演“回忆杀”

    6月18日下午,搜狐公司董事局主席兼首席执行官张朝阳在搜狐视频APP关注流中再次直播带货."Charles的好物分享"第二期以"品质生活,在于细节"为主题,在直 ...

  8. 翻遍100个网站,为你找到了2019年最好看的18张数据可视化

    2019 年刚过,全球不少数据新闻栏目就推出了年度作品盘点,我浏览了国内外大大小小100多个网站和节目,在这基础上挑选出了 18 篇大众比较喜欢的可视化作品,同时还附上了各家的 2019 年年度合集, ...

  9. 爆料! 18张图、55个链接, 证据都在这了, 你还说自己是中本聪?

    作者 | 佩奇 出品 | 区块链大本营(blockchain_camp) 中本聪是谁? 这是一个在区块链业内经久不衰的争议话题. 很多人都对外宣称自己是中本聪,但最有话题性的"中本聪&quo ...

最新文章

  1. python概率密度函数_Python中概率密度函数的快速卷积
  2. 下载keep运动软件_我把私教带回了家,Keep智能动感单车体验|钛极客
  3. UltraIso-写入硬盘映像
  4. hdu 1404/zoj 2725 Digital Deletions 博弈论
  5. dns服务器在电脑上有什么作用,DNS服务器是什么 DNS服务器的作用有哪些【详解】...
  6. vue中如何在地图中标点…
  7. 【Python学习】 - sklearn学习 - KNN
  8. LeetCode - Partition List
  9. pygame和python的区别_用Python和Pygame写游戏-从入门到精通(22)
  10. python接口自动化测试(五)-其它(认证代理超时配置)
  11. opencv历史代码下载
  12. mac使用php-version切换PHP版本
  13. 如何调试Hola Studio
  14. 【Leetcode】[190] 颠倒二进制位
  15. Parsec测试基准程序在zynq板上测试
  16. error setting certificate verify locations: CAfile: F:/gitt/Git/mingw64/ssl/certs/ca-bundle.crt
  17. php gpc,【php】请问PHP中$_GPC[ ]怎么用?
  18. 怎样找对还有一半---第四章认识彼此 完全接纳
  19. 嵌入式 知识点 积累 (一)
  20. ios迅雷beta_我的iOS 14 Beta月

热门文章

  1. 2021-CVPR-图像修复论文导读《Image Inpainting Guided by Coherence Priors of Semantics and Textures》
  2. android存储pdf文件怎么打开,android打开pdf文件
  3. Android 一个TextView中设置文字不同字体大小和颜色的最完整方法
  4. android手机传文件,Android手机间如何高速互传文件?
  5. application.yaml配置详解
  6. 数据库子查询-select后面语句
  7. Graph Embedding模型【Node2Vec】学习笔记
  8. 斗地主(按照顺序给玩家发牌)
  9. 情感天地——《不能牵手就握手吧》
  10. git操作生成ssh公钥