张晋涛

张晋涛 | 成为容器技术专家,是一种选择

采访者 / 大胖

这次我们的采访对象是网易有道资深运维专家张晋涛。他是 Kubernetes SIG 组成员,多个 Docker 官方镜像贡献者。同时他个人也在维护着 Kubernetes 周报。

作为 GitChat 专栏和很多严选 Chat 的作者,张晋涛和我们聊了聊他在学习和职业选择上的重要经验,以及通过知识分享,他所得到的收获。


能否介绍一下你自己和你正在做的事?

我是张晋涛,现在在网易有道做容器化、CI/CD 和运维平台化相关工作,也参与 Docker 和 Kubernetes 上游及相关的开源项目的开发。在工作和写代码之外,我也有自己的公众号 MoeLove 和知乎专栏「K8S 生态」。

img

你是如何入行 IT 圈的?

除了因为我的专业是 CS 外,另一个原因是我对 Linux 有比较深入的了解。我在早期使用 Linux 的过程中,遇到了不少内核相关的问题,于是我产生了强烈的兴趣。

我刚开始工作时做的是 Web 开发,前后端都写,也做些关于性能调优的工作。我在 2014 年接触到 Docker,从此我认定容器技术将会成为主流,所以选择了现在的方向,并持续至今。

在你的学习或职业生涯中,遇到的最大挑战是什么?你是如何克服的?

说实话,挑战有很多,无论是在工作中,还是在社区遇到的问题。

整体而言,经常有很多问题需要花费大量时间去打断点调试,并且有一些问题也很难在本地复现。另外,我还遇到过一些内核 bug 导致的问题,这样的情况需要不停追踪调试,要追踪上游的变更才能完全解决。

举个例子吧,不算最大的挑战,算是个日常填坑。

很早之前有服务器用的是 CentOS 7.2,大家都知道 CentOS 的内核版本都偏低,虽然社区不断地在做反向移植,不过 CentOS 7.2 发布时默认的内核版本是 3.10.0-327。就是在这样的一台服务器上,跑着 Docker CE v17.06.0,并且使用的存储驱动是 Overlay 2。

我遇到的情况是在此机器上出现了层泄漏的情况。具体表现是:在清理掉 Docker 的镜像、容器及存储卷后,磁盘空间不会释放。问题的排查过程比较繁琐和耗时,也花费了不少时间来确认上游 Docker 和 Linux 内核是何时解决的。最终,我确认上游在 3.15 解决,同时把 CentOS 反向移植到了 3.10.0-693 中。因为这件事,Docker 社区也将在 CentOS 上使用 overlay2 存储驱动的内核的最低版本建议为了 3.10.0-514。

你在 GitChat 上创作了专栏《Docker 核心知识必知必会》,你希望通过这个专栏向读者传递什么?从你的角度看,你的收获是什么?

正如我在专栏介绍中写的:

Docker 上手很容易,但如果将其应用于生产环境,则需要对它有更深入的理解。只有这样,才能确保应用符合我们的预期,或在遇到问题时可及时解决。所以,要想真正掌握 Docker 的核心知识,只靠网络上零散的信息往往是不够的,必须系统性地学习。

img

Docker 如今已经 6 岁了。作为学习者,如果只从网络上搜索信息,就要花费大量时间去筛查很多过时的、甚至错误的内容。我希望能通过这个专栏,系统地为学习者们介绍 Docker 的核心知识。专栏中的所有的内容都基于 Docker 最新版本,并且我也会根据上游代码的变化,持续覆盖新的内容。

img

从作者的角度上看,写作这个专栏我主要有两个方面的收获:

  1. 通过这个专栏,我把多年在 Docker 方面积累的实践和开发经验整理了出来;
  2. 在与读者的交流讨论中,我也了解到了更多公司在推进容器化时,所面临挑战及关注点。

从社群的交流中,我收获了不少的问题场景,这些内容都可以补充到我的专栏中。

img

img

img订阅专栏,即可进群与作者交流

总之,我很享受这个过程。

结合你现在的工作,能否聊聊 2020 年的容器技术趋势会是怎样的?

有不少人说 2019 年是云原生技术普及的元年,我也持相同观点。2019 年,国内外各类公司都在逐步向 Kubernetes 迁移,而 Docker 作为 K8S 运行的基础,也正在被更广泛地使用。

作为云原生技术的基石,Kubernetes 在 2020 年的热度将会持续上升。而各个公司的集群规模,以及对容器技术的推进都将会持续加大。在经历了初步容器化后,更多的公司将面临的问题是稳定性和性能优化问题。与此同时,service mesh,serverless 等技术也都会逐步得到普遍应用。

从底层次技术的角度来看,cgroups v2 将逐步普及,进而取代 cgroups v1,但这个过程可能需要两三年左右。

整体而言,稳定性和性能优化将会是未来的主旋律。

你在大厂任职多年,作为面试官也有着丰富的经验,你在面试候选人的时候看重什么?

我最看重的当然是候选人的能力。我一般会选择候选人最擅长的技术领域来聊,看他/她在自己最擅长的技术领域中的能力。除此之外,候选人的自主学习的能力和意愿也是我考虑的一个方面。

对于面试者,我的建议是:要清楚地知道了解、熟悉、精通之间的差别。

对其他学习或奋斗中的人,你有什么建议?

技术的广度无限,更新迭代很快。我们需要先做好选择,再持之以恒深入探索。可以实践、创新,勇于尝试,但不必过度追新。

当然,也要平衡好工作、学习和生活。我目前也在努力学习中,与大家共勉。


点击关注 张晋涛

上一篇
下一篇