极客时间已完结课程限时免费阅读

85 | 程序员练级攻略:容器化和自动化运维

85 | 程序员练级攻略:容器化和自动化运维-极客时间

85 | 程序员练级攻略:容器化和自动化运维

讲述:杨超

时长06:46大小6.18M

你好,我是陈皓,网名左耳朵耗子。
这篇文章我们来重点学习 Docker 和 Kubernetes,它们已经是分布式架构和自动化运维的必备工具了。对于这两个东西,你千万不要害怕,因为技术方面都不算复杂,只是它们的玩法和传统运维不一样,所以你不用担心,只要你花上一点时间,一定可以学好的。

Docker

你可以先看一下 Docker 的官方介绍 Docker Overview
然后再去一个 Web 在线的 Playground 上体验一下, Katacoda Docker Playground 或者是 Play With Docker
接下来,跟着 Learn Docker 这个文档中的教程自己安装一个 Docker 的环境,实操一把。
然后跟着 Docker Curriculum 这个超详细的教程玩一下 Docker。
有了上述的一些感性体会之后,你就可以阅读 Docker 官方文档 Docker Documentation 了,这是学习 Docker 最好的方式。
如果你想了解一下 Docker 的底层技术细节,你可以参看我的文章。
还有一些不错的与 Docker 网络有关的文章你需要阅读及实践一下。
Docker 有下面几种网络解决方案:CalicoFlannelWeave ,你需要学习一下。另外,还需要学习一下 netshoot ,这是一个很不错的用来诊断 Docker 网络问题的工具集。
关于这几个容器网络解决方案的性能对比,你可以看一下下面这几篇文章或报告。
如果你对 Docker 的性能有什么问题的话,你可以看一下下面这些文章。
下面是一些和存储相关的文章。
然后是跟运维相关的文章。
最后,推荐看看 Valuable Docker Links ,其中收集并罗列了一系列非常不错的 Docker 文章。
最佳实践
下面分享一些与 Docker 相关的最佳实践。
Best Practices for Dockerfile ,Docker 官方文档里的 Dockerfile 的最佳实践。
Docker Best Practices ,这里收集汇总了存在于各个地方的使用 Docker 的建议和实践。
Container Best Practices ,来自 Atomic 项目,是一个介绍容器化应用程序的架构、创建和管理的协作型文档项目。
Eight Docker Development Patterns ,八个 Docker 的开发模式:共享基础容器、共享同一个卷的多个开发容器、开发工具专用容器、测试环境容器、编译构建容器、防手误的安装容器、默认服务容器、胶黏容器(如英文链接不能访问,可阅读中文版本)。

Kubernetes

Kubernetes 是 Google 开源的容器集群管理系统,是 Google 多年大规模容器管理技术 Borg 的开源版本,也是 CNCF 最重要的项目之一,主要功能包括:
基于容器的应用部署、维护和滚动升级;
负载均衡和服务发现;
跨机器和跨地区的集群调度;
自动伸缩;
无状态服务和有状态服务;
广泛的 Volume 支持;
插件机制保证扩展性。
Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。
首先,我推荐你阅读 Kubernetes 前世今生的一篇论文。
Borg, Omega, and Kubernetes ,看看 Google 这十几年来从这三个容器管理系统中得到的经验教训。
学习 Kubernetes,有两个免费的开源电子书。
Kubernetes Handbook》,这本书记录了作者从零开始学习和使用 Kubernetes 的心路历程,着重于经验分享和总结,同时也会有相关的概念解析。希望能够帮助你少踩坑,少走弯路,还会指引你关注 kubernetes 生态周边,如微服务构建、DevOps、大数据应用、Service Mesh、Cloud Native 等领域。
Kubernetes 指南》,这本书旨在整理平时在开发和使用 Kubernetes 时的参考指南和实践总结,形成一个系统化的参考指南以方便查阅。
这两本电子书都不错,前者更像是一本学习教程,而且面明显广一些,还包括 Cloud Natvie、Service Mesh 以及微服务相关的东西。而后者聚焦于 Kubernetes 本身,更像一本参考书。
另外,我这两天也读完了《Kubernetes in Action》一书,感觉写的非常好,一本很完美的教科书,抽丝剥茧,图文并茂。如果你只想读一本有关 Kubernetes 的书来学习 Kubernetes,那么我推荐你就选这本。
但是也别忘了 Kubernetes 的官方网站:Kubernetes.io,上面不但有全面的文档 ,也包括一个很不错的 官方教程
此外,还有一些交互式教程,帮助你理解掌握,以及一些很不错的文章推荐你阅读。
一些交互式教程
一些文章
这里还有一些不错的文档,你应该去读一下。
网络相关的文章
要学习 Kubernetes,你只需要读一下,下面这个 Kubernetes 101 系列的文章。
CI/CD 相关的文章
最佳实践
Kubernetes Best Practices by Sachin Arote ,AWS 工程师总结的最佳实践。
Kubernetes Best Practices by Sandeep Dinesh ,Google 云平台工程师总结的最佳实践。
Docker 和 Kubernetes 资源汇总
下面是 GitHub 上和 Docker & Kubernetes 相关的 Awesome 系列。
虽然上面的这些系列非常全的罗列了很多资源,但是我觉得很不系统。对于系统的说明 Docker 和 Kubernetes 生态圈,我非常推荐大家看一下 The New Stack 为 Kubernetes 出的一系列的电子书或报告。

小结

总结一下今天的内容。Docker 和 Kubernetes 已经成为分布式架构和自动化运维方面的不可或缺的两大基本构成,是你必需要学习的。虽然它们的玩法跟传统运维不一样,但技术方面并不算复杂,只要你花上一点时间,一定会学好的。
在这篇文章中,我推荐了 Docker 和 Kubernetes 基础技术方面的学习资料,并给出了存储、运维、网络、CI/CD 等多方面的资料,同时列出了与之相关的最佳实践。相信认真学习和消化这些知识,你一定可以掌握 Docker 和 Kubernetes 两大利器。
下篇文章,我们将学习机器学习和人工智能方面的内容。敬请期待。
下面是《程序员练级攻略》系列文章的目录。
分享给需要的人,Ta购买本课程,你将得29
生成海报并分享

赞 17

提建议

上一篇
84 | 程序员练级攻略:微服务
下一篇
86 | 程序员练级攻略:机器学习和人工智能
unpreview
 写留言

精选留言(33)

  • 微leng
    2018-07-24
    耗子叔 这几期感觉像是在贴链接,能不能找一两个重点细细解读下,还是想听听你的东西。

    作者回复: 我是想授人以渔,我给的这些文章,讲的比我讲的好。如果你想听我讲,我无非也就是把这些东西消化一遍然后接合自己的经历讲述一下。并于重点,我还是那句话,我已经过滤了七成以上的资料了,留下的已经是重点了。我这样做就是想培养一下学习者的自己的学习和总结能力。 这里真的没有速成,不要觉得通过我,你就可以不用思考,我是不会把饭喂到你嘴里的,我更希望你能自己总结知识,自己找人讨论,自己找到重点。 我这里只是给大家画了一张地图。

    80
  • 啦啦啦将比
    2018-07-29
    这么多抱怨的,你知道我自学,为找这些东西费了多大得劲吗
    共 5 条评论
    56
  • 左耳朵
    2019-03-20
    近期读完了《Kubernetes in Action》一书,5星好评。如果你只想读一本有关K8s的书来学习K8s,那么我推荐你就选这本。
    共 1 条评论
    38
  • 刘強
    2018-07-24
    在二叉树视频里,看到耗子的一头白发,顿生感动和佩服。没有人能随随便便成功,耗子的几百行代码值20万,背后付出了多少。
    共 3 条评论
    20
  • 打奥特曼的小怪兽
    2018-08-01
    最近在学习docker k8s 很需要指导方案。耗子叔的专栏就是巨大宝藏。网络上自己搜索的文档良莠不齐!
    8
  • Joran
    2018-07-24
    耗子叔你的知识广度和深度,我十分敬佩,但是这么多我感觉够我学一辈子了
    共 1 条评论
    7
  • 冰糕不冰
    2018-08-02
    学习编程没有捷径,这些资料自己要找全很不容易。路已经铺好了,还要人推着你走么?
    4
  • FuriousEric
    2020-10-14
    推荐本k8s的书,cloudman写的《每天5分钟玩转kubernetes》,非常的通俗易懂,快速入门。如果你本来就会docker,那么马上就能上手k8s入门。
    4
  • 章洁
    2018-07-29
    一、世界上真没有太多的捷径,有些好的经验方法,但仍需要自己消化。 二、除了望洋兴叹外,不如跨步向前,每一步都让你与目标更近。 这是除了技术本身之外读到的两点。
    3
  • manx00
    2018-07-24
    看到目录最后的三个点,感觉路还长…
    3
  • 简言
    2018-12-10
    给出方向就够了,路还是要自己走的。
    2
  • 36194998
    2018-08-10
    感谢耗子叔的归纳,非常珍贵的资料
    2
  • 别人家的孩子
    2018-07-25
    谢谢,正需要。
    2
  • 机械师种太阳
    2018-07-24
    非常期待人下一期人工智能~~
    2
  • 许光伟
    2020-04-28
    之前一直有在说35岁危机,看了老师的专栏,心情好了很多,加油学习吧
    共 1 条评论
    1
  • 冰糕不冰
    2019-08-29
    说贴链接的,你们有没有真的点进去学习过?当你点进去学习后你就会发现,这些才是知识宝库!
    1
  • NonStatic
    2018-07-24
    推荐新入坑的也顺手了解一下Moby,开源版的Docker。两者大部分地方都是同一套代码,不过Moby能够帮你绕过产品中的法律问题。
    1
  • 小薛薛
    2018-07-24
    做个标记,看几年后能不能走到这里。
    共 1 条评论
    1
  • 李志博
    2018-07-24
    非常喜欢,太感谢分享这些宝贵的资源
    1
  • haha
    2018-07-24
    感谢皓叔!
    1