轻松一下~

源自:GKE漫画
别名:一个996程序员被同事折磨摸鱼时间做白日梦神游四海最后长出头发抵达人生巅峰的神奇故事

使用kubernetes丝滑航行,学习k8s以及怎么样使用它来进行持续集成(CI)和持续部署(CD)。没什么好说的,开门见山。

古代,人们和鬼神作战;而现在主人公小J的工作比对抗天神更难。。(手里的咖啡、浓密的胡子、杂乱的桌子上散落的指尖陀螺以及不知到为了遮盖什么而戴着的帽子,泪目。)

主人公小J就职于一家游戏公司,公司的MMO(大型多人在线游戏)很受欢迎,但是运维人员正在随着业务量的增长而痛不欲生!其中一名同事身残志坚,拖着受伤的腿还奋斗在一线。其中有一台服务器(贝茜)已经烧了,更是令他悲痛欲绝。主人公让他继续增加服务器来扩容。
P.S.
①服务器不是应该放在郊区机房里吗。
②这公司剥削劳动人民。

开发、测试、产品对他轮番轰炸。现在小J脑子里边只有一个想法,那就是报复社会(不是

此时,一个coser从80层楼的窗户翻进来了。并告诉小J,k8s能够解决他的问题。

他给小J说自己cos的是雅典娜,是容器之神,还说:“人生苦短,快用容器”!

然而小J说自己已经在用容器来部署应用了,但是管理容器还是很慢、效率低并且漏洞百出。。
coser说:“很好,使用容器是很成功的一步,但是你需要去编排那些小家伙,这就是k8s存在的意义”
此时漫画点题了,因为如果此时打开k8s官网,首先看见的就是
生产级别的容器编排,这就是k8s。


幻影移形之后,就来到了大概权力的游戏第二季的时候(能不能重拍第八季??),此时单体应用正在统治着开发者,开发者们苦不堪言。(谁看见大屎球不得躲得远远的

单体应用有许多优点,但是各个模块紧密耦合(紧耦合是软件工程设计中要避免的),所以CI/CD的时候简直就是噩梦。将单体应用切割成各个小块,就构成了微服务架构。

微服务可以被单独的调试、升级和部署。部署的时候不需要停掉之前的服务(下线服务用户就无法访问,就不是高可用的系统,这也就是单体应用的弊端)。

coser对小J娓娓道来:“各个微服务之间是松耦合,仅仅用轻量级的协议使他们能够彼此通信,构成有一个系统即可”。


接下来coser向小J展示了后端部署的演变,总共分为三个阶段,裸机–>虚拟机–>容器。
P.S.
轻量和隔离就是容器的最大优势,这个演变过程也可以在Docker的官网找到。






此时coser化身容器技术布道者,滔滔不绝地对小J布道:模块化、互连性、可移植性、再生性和可扩展性。简直所有的好都被容器技术占了。
P.S.
事实也的确如此,容器发展到今天为止已经有将近二十年的历史,早已家喻户晓。而拥有谷歌背书的k8s也在击败swarm和mesos之后成为容器云的事实标准。

但是小J慌了,想想自己的猪队友,管理现在正在运行的容器尚且这么困难,怎么去随时随地的管理那么多容器across the world啊。此时coser说:使用k8s就好了。就这么简单。
P.S.
①k8s的logo的意思就是希腊语中的舵手,寓意着带领集装箱(容器)在海洋中航行。
②我接下来可能会写一篇k8s网络部分的分析,就叫《天空中的大海–我脑海中的k8s网络模型》。


由于k8s是谷歌研发的,小J怀疑coser是不是恰饭的。但coser连忙解(搪)释(塞)道:“k8s是开源的,你在全球最大的同性交友网站上也能看到”。


k8s有几个重要特征:
①最大化资源利用率
②弹性伸缩
③永远运行直到世界末日
并且最重要的是:“运维人员不用24小时待命,可以双休!!”

k8s添加了一个新的抽象层pod,就是用来抽象容器的,因为k8s根本不管你用的是什么容器运行时,是docker也好,是CRI.O也好,还是containerd也好,k8s不关心,因为k8s只认识pod,而pod就是用来隔离docker运行时的。(前一段时间k8s已经抛弃了docker,转向containerd,因为docker中有大量资源k8s用不到,造成资源浪费,也引入不稳定因素)。
P.S.
这个k8s的logo上长了个眼睛属实看的我SAN值狂掉。

大多数pod仅仅包含一个容器(因为pod就是对容器的一层抽象嘛),但是有些紧耦合的容器会共享一个pod,他们通过pause(也是一个容器)共享网络栈和数据卷。并且说明了node的概念,node有时也成为worker,其实就是一台物理server。
P.S.
YZ容器过于紧密,以至于C容器让他们get a room。。

这些node都被master掌控。

管理这些容器只需要把容器运行的期望填写进deployment(一个YAML格式的文件,只是controller-manager其中的一种)就可以了。

填写完成之后k8s就会调度机器、拉取镜像、部署容器。这一切操作,就只需要填写自己需要什么就可以完成了。(真的精妙)

此时coser问小J:你想选择哪种主板型号?哪种Linux发行版?Ubuntu?CoreOS?Debian?在犹他州部署吗?你的IP地址想要设置成多少?小J愤怒了:我tm的根本就不在意,随你的便,我只要get things done就OK了。coser:就是这样。

这就是k8s设计优美的地方,他将许多基础设施都抽象出来(cpu、ram),一视同仁。

所有由同一个镜像运行出来的容器都是相同的可以替换的,可以在任何机器上被拉起,被杀死。

k8s会将容器调度至对的地方(通过调度策略:默认调度规则、亲和性、污点、容忍)。

即使有pod死亡,也不至于导致单点故障,k8s会检测到实际运行的情况与期望不符而重新将pod拉起,保证系统的高可用。

这既是k8s的自愈功能,k8s会上了发条般地疯狂地一刻不停地比对真实情况和期望情况。

一旦有pod状态不对,k8s会将pod杀死并重新拉起,零容忍。

小J问道:那更新呢??(。太真实了,听说服务上线的时候大家都沐浴、更衣、上香。。不知道是不是真的

启航吧~水手!kubernetes漫画时间!相关推荐

  1. 苹果x漫画脸_《名侦探柯南》漫画时间线索整理简化重置版(6)(总FILE.311~FILE.360)...

    贝克街的猫:<名侦探柯南>按照主线时间线来讲,现在距离新一变成柯南过了多久? 以上是我之前的关于柯南漫画时间线索的回答,同时也逐话回忆了柯南漫画的剧情,感兴趣的话可以看看. 往前篇链接: ...

  2. 没时间看电影追剧,AI 一键让影视变漫画

    点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 如今,电影.电视剧以及各类视频,已经成为我们生活中不可缺少的一部分.据报告,每天上传到 YouTube 的视频总时长,就需要一个人花 ...

  3. 看过漫改,但你看过「改漫」吗?AI 一键让影视变漫画

    作者 | 神经小兮 来源 | HyperAI超神经 头图 | 下载于视觉中国 把影视剧变成漫画,是怎样的一种神操作?来自大连理工大学和香港城市大学的团队,最新提出的 AI 框架,可自动将影视剧转换为漫 ...

  4. 网易云容器服务基于Kubernetes的实践探索

    Kubernetes的特点 近年来Docker容器作为一种轻量级虚拟化技术革新了整个IT领域软件开发部署流程,如何高效自动管理容器和相关的计算.存储等资源,将容器技术真正落地上线,则需要一套强大容器编 ...

  5. 如何使用 Jenkins Pipeline 流水线优雅的部署 Kubernetes 应用

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 背景 虽然云原生时代有了 JenkinsX[1].Drone[2].Tekton[3] 这样的后起之秀,但 Jen ...

  6. 我们如何全面转向 Kubernetes?

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Always remember two things: Don't ...

  7. Kubernetes VS Mesos

    随着容器技术的快速发展,目前已形成了"容器生态圈",如下图所示. Kubernetes和Mesos作为重要的容器集群管理系统,会使企业和用户在选择时有所犹豫,下面就对这两种系统做简 ...

  8. 运维手册——Kubernetes容器时区不同步

    声明:这是我在大学毕业后进入第一家互联网公司学习的内容 背景 Kubernetes容器时间不同步,最近开发反应说容器里的时间不对,差了8个小时,我寻思不是应该时区不对吗,开始了排错之旅 现象 [roo ...

  9. 分享:个人是怎么学习新知识的

    为什么80%的码农都做不了架构师?>>>    挺多童鞋问我是怎么学习新知识的,干脆写篇文章总结一下,希望对大家有所帮助.对照书.技术博客.极客时间等学习的方式我就不说了. 一.早期 ...

最新文章

  1. 服务器扩充后问题总结:Value too large for defined data type
  2. 近世代数--整环上的唯一分解问题--唯一分解整环上有算术分解定理
  3. 网络编程应用:基于UDP协议【实现文件下载】--练习
  4. 快速排序--Python实现
  5. hdu 2454 Degree Sequence of Graph G(可简单图化判定)
  6. 关于SVN 目录结构
  7. 查询范围_企二哥:查询企业经营范围的三种方法
  8. 舒适的路线(codevs 1001)
  9. OpenShift 4 - 获取能访问API服务的用户认证Token
  10. 水晶报表-推拉模式实例
  11. <<游戏设计艺术>>笔记
  12. 汽车软件通信中间件iceoryx和它的零拷贝技术
  13. 断电后重启后报XFS文件系统错误 XFS (dm-0): Metadata I/O error
  14. Testbench的激励添加和书写技巧
  15. vue遇到ie兼容问题如何处理_Vue 2.0 解决IE浏览器的兼容性
  16. 010 面向对象编程
  17. 其实大多数人没必要关注iPhone5
  18. 中国移动号码手机开机以及注册gprs流程(转载)
  19. C语言怎么消除最后的回车键,多样例输出,如何去掉最后一个回车
  20. [ESP32][esp-idf] AP+STA实现无线桥接 中转wifi信号 路由器

热门文章

  1. SQL Server 数据库性能优化
  2. 可能导致Android手机死机的原因
  3. Win10下的Linux子系统使用——充当Gerrit服务器
  4. 【来自passover的博客】技术人创业至今的反思
  5. 实用的思维导图软件推荐:Focusplan Pro for Mac中文版
  6. 帝国CMS7.5仿薄荷健康网源码
  7. 终于可以把两个合旋连在一起弹了
  8. Day06 JavaSE面向对象OOP(上) (Object-Oriented Programming)
  9. 环境搭建(windows): 1.rabbitmq安装 2.web GUI管理插件安装 3.erlang版本和rabbitmq版本之间对应关系
  10. Java编程之路相关书籍(三个维度)