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

Docker

有了上述的一些感性体会之后,你就可以阅读Docker官方文档 Docker Documentation 了,这是学习Docker最好的方式。

如果你想了解一下Docker的底层技术细节,你可以参看我的文章。

还有一些不错的与Docker网络有关的文章你需要阅读及实践一下。

Docker有下面几种网络解决方案:CalicoFlannelWeave ,你需要学习一下。另外,还需要学习一下 netshoot ,这是一个很不错的用来诊断Docker网络问题的工具集。

关于这几个容器网络解决方案的性能对比,你可以看一下下面这几篇文章或报告。

如果你对Docker的性能有什么问题的话,你可以看一下下面这些文章。

下面是一些和存储相关的文章。

然后是跟运维相关的文章。

最后,推荐看看 Valuable Docker Links ,其中收集并罗列了一系列非常不错的 Docker 文章。

最佳实践

下面分享一些与Docker相关的最佳实践。

Kubernetes

Kubernetes 是Google开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,也是CNCF最重要的项目之一,主要功能包括:

Kubernetes发展非常迅速,已经成为容器编排领域的领导者。

首先,我推荐你阅读Kubernetes前世今生的一篇论文。

学习Kubernetes,有两个免费的开源电子书。

这两本电子书都不错,前者更像是一本学习教程,而且面明显广一些,还包括Cloud Natvie、Service Mesh以及微服务相关的东西。而后者聚焦于Kubernetes本身,更像一本参考书。

另外,我这两天也读完了《Kubernetes in Action》一书,感觉写的非常好,一本很完美的教科书,抽丝剥茧,图文并茂。如果你只想读一本有关Kubernetes的书来学习Kubernetes,那么我推荐你就选这本。

但是也别忘了Kubernetes的官方网站:Kubernetes.io,上面不但有全面的文档 ,也包括一个很不错的 官方教程

此外,还有一些交互式教程,帮助你理解掌握,以及一些很不错的文章推荐你阅读。

一些交互式教程

一些文章

这里还有一些不错的文档,你应该去读一下。

网络相关的文章

要学习Kubernetes,你只需要读一下,下面这个Kubernetes 101系列的文章。

CI/CD相关的文章

最佳实践

Docker和Kubernetes资源汇总

下面是 GitHub 上和 Docker & Kubernetes相关的Awesome系列。

虽然上面的这些系列非常全的罗列了很多资源,但是我觉得很不系统。对于系统的说明Docker和Kubernetes生态圈,我非常推荐大家看一下 The New Stack 为Kubernetes出的一系列的电子书或报告。

小结

总结一下今天的内容。Docker 和 Kubernetes已经成为分布式架构和自动化运维方面的不可或缺的两大基本构成,是你必需要学习的。虽然它们的玩法跟传统运维不一样,但技术方面并不算复杂,只要你花上一点时间,一定会学好的。

在这篇文章中,我推荐了Docker和Kubernetes基础技术方面的学习资料,并给出了存储、运维、网络、CI/CD等多方面的资料,同时列出了与之相关的最佳实践。相信认真学习和消化这些知识,你一定可以掌握Docker和Kubernetes两大利器。

下篇文章,我们将学习机器学习和人工智能方面的内容。敬请期待。

下面是《程序员练级攻略》系列文章的目录。

评论