说起看一本书,了解一个新词汇,掌握一门新技术,总是要有契机的。毕竟新的事物的接收和消化对于我们很多人而言不是那么平滑,尽管我们对外宣称年轻的我们乐于接受新鲜事物。我当时去看这本书的原因是因为我看了另一本书——《Kubernetes 权威指南》,这本书我现在只看了前面一点点,具体到我只看到了Kubernetes的发展历史,或者说是发家历史。这一点我非常喜欢这本书中描述的故事,将清楚了Kubernetes的“恩怨情仇”,像小说一样的开局还是很吸引人的。而且我一直喜欢别人讲技术的时候,提一提它的历史。但是我当时没有看下去的原因是接下来的很多文字和源码的原因,最主要的是源码,我不喜欢一直看,毕竟只看不写点东西是不容易入门一种新技术的,所以我转向了这本书——《Kubernetes In Action》.
这本书到现在,我除了4个副录没有看,基本上看完了,包括后记。总体来说是一本写得很好的书,首先整本书看下来会对作者组织能力很欣赏,他把Kubernetes由基础到高级知识,或者说是内部实现细节娓娓道来。这本书也是围绕着一个“简单”的例子Kubia展开。从最开始的总览到到核心概念:Pod,Replication Controller,Service,Volume,ConfigMap,Secrets,Deployment,StatefulSet. 第三部分讲到“高级”的概念Service Account, Pod的资源管理,自动化伸缩Pod和节点,高级调度,最佳实践及Kubernetes扩展.作为一名java开发者最受益的地方估计是Kubernetes的最佳实践,毕竟时下微服务很火。在最佳实践章节中,我印象很深的有2点:(1)一个就是关于并发编程中经常取cpu的核数作为并发线程数,在这里我们学了一课,并不是所有的情况都是这样的,在Kubernetes中cpu的核数还受到资源限制的约束,不然你所取到的cpu核数不是真正的cpu核数。(2)另一点就是关于docker镜像打标签问题,尤其是打latest标签,有可能在Replicas中运行的是几个不同版本的代码。
最后可以提及的是后记,这本书很适合有一定基础的Docker用户看,我在看这本书的时候,脑海里也是时常想起Docker中的一些概念,比如在本书中讲到容器启动依赖的时候,我就会想起docker-compose中是如何实现这一点的。如果说Docker带领我们进入了容器时代,k8s可以说是容器时代的“掌舵人”,它在引领着前进方向。当你看了Docker的相关书籍,你或许可以尝试一下这本书,它不会让你失望。毕竟曾经你或许有过迷惑——怎么发布你的应用,green blue部署还是滚动升级Rollout Upgrate,还有就是声明式部署,不是一行行shell命令敲下去。如果你有这样的疑惑,我想再次向你推荐这本书。
小小福利:kubernetes 正确的发音是[kubə’netis],重音在第三个音节 。
链接:https://pan.baidu.com/s/1zgaUMOVQj0qxA5jLE7qtkw
提取码:sfzy
补充一点:如果你使用的是windows 10 ,也是尝试使用Minikube作为实验环境,但是就是建不好环境,我希望你可以尝试一下kind