- Kubernetes网络权威指南:基础、原理与实践
- 杜军
- 1568字
- 2020-08-27 19:36:57
自序
缘起
这些年来,我观察到每次Linux世界的重大技术创新都发源于内核,经过一层层面向用户的抽象和封装,演化出应用层的森罗万象。正所谓万变不离其宗!
我自认为是个“old school”(老派)的人,坚信维持这个世界运转的、最本质的那部分东西是不会轻易改变的。尽管新技术“乱花渐欲迷人眼”,但经历过时间锤炼的实用技术和工具总是历久弥新的。一个很好的例子便是传统的网络虚拟化和BGP,它们就是在容器这个新瓶子里焕发第二春的。因此,当有时髦的新技术出现时,我的第一反应是这些新技术底层是怎么实现的,对那些看起来酷炫的功能反倒没有兴趣。正如OpenStack兴起的那些年,当大家都在谈论nova、neutron这类调度虚拟机和网络的组件时,我默默地翻读了内核虚拟机(KVM)的源码。至今,我对那种奇妙的感觉记忆犹新,恰如一个发烧级摄影爱好者走进暗房,欣喜若狂地亲自手洗一张可触摸的胶片影像。当我读懂了KVM时,再回过头来看OpenStack便有了一种“会当凌绝顶,一览众山小”的豁然贯通之感。
工作之余让心静下来,细细品味,认真思考技术的本质——相信这是所有有激情、有梦想的工程师的共同追求。虽然在软件版本快速迭代的高压面前,这种良好的追求有时也会变成一种奢求,但是我坚信工程师不能只当一个使用者,而一定要理解当前正在使用的技术的底层实现机制。因此,在我的《云原生分布式存储基石:etcd深入解析》一书中,开篇只字未提全书主角etcd,而耗费将近80页的笔墨,从分布式系统的基本理论一直讲到一致性协议Raft。尽管内容看似与这个高速发展、追求快节奏的社会“格格不入”,但我仍希望能够通过出版技术书这种本身就慢节奏且带仪式感的行为沉淀自己的思考。如果能够跟有缘的读者碰撞出思想的火花,则将是我人生的一大幸事!
我为什么写这本书
云计算的世界里,计算最基础,存储最重要,网络最复杂。在Kubernetes已经成为云原生代名词的今天,市面上介绍Kubernetes的书籍已经很多,然而限于篇幅或术业有专攻等诸多主客观因素,不少书籍对Kubernetes网络部分的讲解只是蜻蜓点水,甚至有些还存在专业性的错误。我经常在一些学习Kubernetes的论坛和群里看到有用户抱怨:传统网络架构都还没搞明白,又要理解容器网络。容器网络领域不但存在大量的术语,而且理解具体的方案需要不少前置知识,这无形中增加了学习的难度。计算机网络是我在大学里最喜欢,也是最擅长的一门课程。在我看来,计算机网络趣味性强,而且对逻辑性和动手能力要求较高。看到整个云原生网络领域正发生着激动人心的技术变革,意义不亚于上一次SDN兴起带来的冲击,我感觉这对传统网络工程师来说会是一次自我升级转型的契机。于是,我萌生了专门为Docker、Kubernetes的用户,以及传统网络工程师撰写一本云原生网络书籍的想法,破除他们学习过程中“不识庐山真面目,只缘身在此山中”的无力感。
关于本书
虽然书名是《Kubernetes网络权威指南:基础、原理与实践》,但全书内容并不局限于Kubernetes。我对本书的定位是云原生领域的网络权威指南,企业落地方案的选型参考。按照我“old school”的思路,本书特别注重提供理解容器网络所必需的基础知识,会由浅入深地从架构、使用、实现原理等多方面展开,试图为读者呈现整个云原生网络的知识体系。
全书的脉络是:以Linux网络虚拟化基础作为“暖场嘉宾”,以Docker原生的容器网络“承前启后”,随后是主角Kubernetes网络“粉墨登场”,在各类CNI插件“沙场点兵”过后,以代表容器下半场的服务网格Istio“谢幕”。
王安石在登上飞来峰后曾吟下“不畏浮云遮望眼,自缘身在最高层”这样的千古佳句。希望本书能够成为云计算2.0时代的弄潮儿们叩开网络大门的敲门砖,在解决各类场景下错综复杂的问题时能够做到“口中有粮、心中不慌”。不论是定位疑难杂症,还是技术选型,抑或是定制化开发都能轻松驾驭!
“人生不止眼前的苟且,还有诗和远方的田野”,愿更多的同路人加入。
杜军
2019年8月于厦门鼓浪屿
【读者服务】
扫码回复:37339
·获取免费增值资源
·获取精选书单推荐
·加入读者交流群,与更多读者互动