以可视化的方式理解 Kubernetes - 幕后

2025-05-24

以可视化的方式理解 Kubernetes - 幕后

理解 Kubernetes 可能很困难,甚至很耗时。为了传播云技术知识,我开始创建关于 Kubernetes 的速写笔记。我认为这可能是一种更直观、更有效地解释 Kubernetes(以及其他技术)的方式。

我从4月4日开始记录第一个 Kubernetes 速写笔记。
经过近两个月的时间,我把所有 Kubernetes 速写笔记(以及新的!)都整理成了一本120页的书:《以可视化的方式理解 Kubernetes》

替代文本

书的封面:

  • Kubernetes 组件(etcd、API 服务器、调度程序、kubelet、控制器管理器、代理……)

  • 资源(Pod、Jobs、CronJobs、ConfigMaps、Secrets、Deployments、ReplicaSet、DaemonSet、Services、Ingress、PV、PVC……)

  • QoS、水平 PodAutoScaler、Pod 和节点亲和性、网络策略……

  • 还有在节点上可以执行的操作的具体示例

  • Kubernetes 调试/故障排除

  • 尖端

  • 有用的工具

以下是目录:

替代文本替代文本

整本书包括“如何做”,其中有所有概念的具体例子和插图,可以帮助理解抽象概念。

工作快两个月了。

这很酷,但是,让我们来谈谈这些速写笔记以及这本书是如何创作的。

幕后

从一开始我就收到了几个有关该材料的问题。

材料

我目前使用的是三星 Galaxy S4 10.5 英寸平板电脑,配有铅笔和 Samsung Notes 软件。
我手绘草图和绘画。

这不是最有效的材料,但我使用了我所拥有的材料;-)。

替代文本替代文本

这种材料有很多我已经达到的局限性:

  • 三星铅笔:铅笔不太准确
  • 三星 Pencil:铅笔上的那个切换笔触的按钮位置不太好。很多时候我点击了它,但又不想删除刚画的线 :-D。
  • Samsung Pencil:如果我想画一个小圆圈,软件十有八九不会画,因为如果缺乏准确性
  • 三星笔记:当我绘制草图时,我没有 jpg/pdf 页面未来结束的信息,因此我绘制草图,然后导出为 pdf,我观看将我的绘图分成几页的 pdf,并且我需要花费大量时间编辑我的草图,以免绘图在中间分成两部分...知道页面从哪里开始以及在哪里结束很有用,而我没有这些信息。
  • Samsung Notes:JPG 格式的导出质量很差
  • ...

我想继续我的速写笔记和书籍系列,因此,
将来我计划将我的材料升级到:

  • 一台 iPad Pro 11 英寸
  • 铅笔2
  • 和 ProCreate 软件

Apple Pencil 的第二版精度更高,这在绘画或素描时非常重要。所以我推荐用第二版而不是我的。

速写笔记

对于一个速写笔记,我可能要花几个小时甚至几天的时间,这取决于概念的复杂性以及我想要表达的内容。

我画的每个速写笔记都导出为PDF格式,即使允许导出为JPG格式。为什么?因为三星笔记导出的JPG质量很差:'(。
所以我先导出为PDF,然后再将PDF转换为JPG格式,以便发表在文章中,以保持最低质量。

每个草图笔记都导出为 PDF 文件,我将其存储在 Google Drive 文件夹中。

1.kubernetes-pod.pdf
2.kubernetes-cronjob.pdf
...
Enter fullscreen mode Exit fullscreen mode

然后我在 dev.to 平台上写完文章,用我最喜欢的 PDF 工具ILovePDF网站把 PDF 转成 JPG。我会裁剪每个 JPG 文件,去掉空白部分,然后上传,确保文件顺序正确。

我为该系列的每一个速写笔记都做了这项工作。

书籍准备

好吧,我有 30 多个关于 Kubernetes 的系列文章,但是我发布速写笔记的顺序并不是我想要的书中的顺序,所以我花了几个小时来思考一个更连贯的顺序。

我画了一些新的速写笔记和新页面:

  • 封面
  • 感谢和更新日志
  • 目录
  • 封底

我在 Google Drive 中创建了另一个文件夹,将所有 pdf 文件复制粘贴到其中,并用它们将在书中出现的页数重命名它们:

p0.cover.pdf
p1.thanks.pdf
p2.table-of-contents.pdf
p4.kubernetes-components.pdf
...
Enter fullscreen mode Exit fullscreen mode

然后,我使用 ILovePDF 工具创建了一个大的 PDF 文件并对其进行了整理,由于免费帐户有一些限制,所以整理了好几次。

审查

在我看来,如果没有书评,我就没法出版一本书,也没法发表一篇长文,也没法推出一个新功能。所以我请Gaelle帮我写书评。
我分享了PDF文件,她也加了几条评论。

经过一整天的时间,我编辑了几乎所有的草图笔记,重新创建了 PDF,更改了目录,然后这本书就可以出版了!

最终,我在不到两个月的时间里创作了一本包含120页草图和绘画的书,内容是关于一项云技术:Kubernetes。
这不是一本传统的书。这是一系列的速写笔记,我希望它能以直观的方式,用简洁的文字,帮助你更好地理解复杂的概念。

出版

我比较了几个发布平台,其中两个是我最喜欢的:

使用 LeanPub,您可以直接在平台上使用 MarkDown 撰写书籍。
使用 GumRoad,您可以直接上传 PDF。

这两个平台允许您免费出版几本书,但他们收取佣金;-)。

我更喜欢 PC、平板电脑和手机上的 GumRoad 网站人体工程学,我选择它的主要原因是您可以以“免费价格:0 欧元”出版您的书,人们可以支付他们想要的费用。

因此,自 5 月 31 日起,我的第一本书《以可视化的方式理解 Kubernetes》在 GumRoad 上线

后期制作

我忘记直接在 PDF 中创建目录了,所以我在书出版几个小时后通过 PDFEditor 工具手动创建了它,并将其上传到 v1.0.1 中。

前:
替代文本

后:
替代文本

更新(2020-06-27)

自从 Kubernetes 书籍 1.0.2 版本发布以来,我不再使用 PDF 编辑器(因为试用版已经过期 ^^),但现在我使用 Python 工具,它更好!:-)

1. 安装 PDFBookmarker

工具:https://github.com/RussellLuo/pdfbookmarker

$ pip install pdfbookmarker
Enter fullscreen mode Exit fullscreen mode

2. 创建一个文本文件,定义书签列表和相关页面

$ vi bookmarks-v1.0.2.txt
+"Cover"|1
+"Thanks"|2
+"Table of contents"|3
+"Kubernetes components"|5
+"Kubectl tips"|10
+"Namespaces"|13
+"Resource Quotas"|15
+"Pod"|16
+"Pod lifecycle"|18
+"Container lifecycle events"|20
+"Liveness & Readiness"|25
+"Job"|30
+"CronJob"|35
+"Configmap"|38
+"Secrets"|41
+"Deployment"|43
+"Deployment rolling update"|45
+"Pull images configuration"|49
+"ReplicaSet"|52
+"DaemonSet"|53
+"Service"|57
+"Ingress"|60
+"PV, PCV & StorageClass"|64
+"Horizontal Pod Autoscaler"|71
+"LimitRange"|73
+"Resource's requests & limits"|76
+"QoS"|79
+"Network Policies"|83
+"Pod (Anti) Affinity & Node (Anti) Affinity)"|88
+"Node operations"|95
+"Debugging/Troubleshooting Kubernetes"|99
+"Tools"|106
++"Kubectx"|106
++"Kubens"|107
++"Stern"|108
++"Krew"|109
++"K9s"|110
++"K3s"|110
++"Skaffold"|111
++"Kustomize"|112
++"Kustomize tips"|115
++"Trivy"|118
++"Velero"|119
+"Kubernetes 1.18"|121
+"Back cover"|125%
Enter fullscreen mode Exit fullscreen mode

3. 生成带有目录/PDF 书签的新 PDF

$ pdfbm understanding-kubernetes-in-a-visual-way-aurelie-vache-1.0.2.pdf bookmarks-v1.0.2.txt
In processing, please wait...
New PDF generated: understanding-kubernetes-in-a-visual-way-aurelie-vache-1.0.2-new.pdf
Enter fullscreen mode Exit fullscreen mode

就是这样!

结论

我手动完成了几项任务,对于期货书籍,我想将它们自动化:

  • 将 PDF 文件合并为一个大 PDF
  • 在 PDF 中创建目录(我通过 PDFEditor 工具创建)
  • ...

如果您喜欢我的系列文章,并且愿意为材料升级做出贡献,本书可以“免费/按需付费”的方式购买。

我喜欢分享我的知识并帮助他人,所以如果你钱不多,可以免费下载。我唯一的要求是分享给你的社交网络。
如果你喜欢我的作品并想贡献一份力量,你也可以。这将有助于我改进我的资料,以便继续我关于 Istio(系列进行中)、DevOps、微服务、Golang 等一系列速写笔记的所有想法 :-)。

我希望这本书和有关 Kubernetes 的速写笔记系列能够对您的 Kubernetes 之旅有所帮助。

文章来源:https://dev.to/aurelievache/understanding-kubernetes-in-a-visual-way-behind-the-scenes-5941
PREV
我如何记住我所学的一切
NEXT
理解 Docker:第一部分 – 检索和拉取镜像