Please enable Javascript to view the contents

Istio 学习地图 - 玩 Istio,而不是被 Istio 玩(友情预览版)

 ·  ☕ 3 分钟

o

写在开头

读者对象

  • 本文的对象是想比较深入学习 Istio 机理的同学,但不清楚学习路线,想看看本文的一些所谓“经验”。
  • 对于未使用过 Istio 的同学,本文可能有点不好理解。

友情提醒

  • 本文未写完,只是个友情预览版本
  • 本文不是技术干货,很多个人色彩和水分。但有时喝喝鸡汤也不错的。

重要:风格、样式、本文的交互阅读方式 📖

可以这样说,我写作的大部时间不是花在文字上,是在图上,所以用电脑去读图,才是本文的正确打开方法。手机与微信号,只是个引流的阳谋。

虽然不是写书,不过还是说明一下吧,不然阅读体验不太好。:

  1. Istio 学习地图 - 玩 Istio,而不是被 Istio 玩(友情预览版) 的原文是 SVG 图片。如果你是在其它地方看到本文,大有可为图片都不会清晰,请转回原文。
  2. 正确浏览 SVG 图片的姿势是浏览器中图片处右键,选择 “新 Tab 中打开图片” 。大的 SVG 图片,按下鼠标中键,自由滚动/拖动。
  3. SVG 图片可以点击链接,直接跳转到相应源码网页(或相关文档),有时会精确到源码行。

起点

💬 你不需要很厲害才能開始,但你需要開始才會很厲害。

Don’t Fake It Till You Make It.

今天在看一篇旧文《透過 Istio 打造企業內的 SRE》时看到这句话。回想自己在 2018 年时,自以为比人家早学几年编程,故步自封。看到 Kubernetes 时,觉得这东西复杂难懂,甚至把简单问题复杂化。于是态度上就是追追潮流,学学一些架构大饼图式的简介就算了(心里是觉得这玩意大概是个花瓶)。

到了 2020 初年开始,工作上要解决一些 Istio 相关的故障问题和性能问题,才觉得自己技术上已经跟不上,这表现在:

  • 只知道问题病症,不知道问题相关的机理(机制和原理)。
  • 不懂机理,无法用二分法去定位问题
    • Kubernetes 的原始设计核心理念没搞清楚
  • 知识缺失,无法将全技术栈流程连接起来,怎么努力学习也只是建立起一个个知识孤岛
    • Linux 内核容器实现相关的知识缺失,如 namespace
    • Linux 网络层面知识缺失
    • CNI(Calico) 相关网络路由知识

当时,我第一反应是,年纪大了,看来要转行,程序员青春饭吃不下了。可能转什么?结果是,什么都不能转,也不想转。我问自己,40 岁就不能学?以前学的技术基础,真是一点用也没有了?难道经验和工龄在这个崇拜青春的时代,真是个负资产?

最后,一想到还欠银行半辈子的钱,马上有学习的动力了。

Faking it by posturing, pretending to be confident, and ignoring those nagging feelings of self-doubts can offer some temporary respite from those feelings of self-doubt, but once you’re done putting on a show, being inauthentic to yourself negatively impacts your perceptions of yourself. Don’t fake it till you make it, build genuine confidence through action.

图来自:https://www.techtello.com/fake-it-till-you-make-it/

原则与方法学

还记得,小时候什么电器都喜欢拆拆合合的,收音机、CD机、电脑。但总有一种神奇的能力把拆散的东西整合回来,然后,就了解它的结构了。话说到这里,再看看我家娃这代,好像完全没这个兴趣和机会了,想想,哪个小孩会去拆 pad。就算拆了,也因元件太小和精密,看不出什么机理来。很难找到自驱型学习的人了。

技术学习和学习收音机的机理一样,有两种方向:

  • 从大到小(或叫自顶向下)

    从整体上看功能、架构组件、组件关系、对外接口、数据流。一个 HTTP 请求在 Istio 体系中的旅行。

  • 从小到大(或叫自下向上,或叫从底层到高层)

    举几个栗子:

    • iptable/netfilter/conntrack 之于 Istio sidecar 流量拦截
    • Envoy HTTP Filter / Route 之于 Istio Destination Rule 与 Istio Virtual Service

自顶向下

// 以下为结构草稿和构思,只说明本文将有什么内容。

分享

Mark Zhu
作者
Mark Zhu
Old Developer