mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1346 字
4 分钟
Kubernetes 云原生系列导读
2024-05-20

一、系列简介#

本系列从基础概念出发,逐步深入实践操作底层剖析进阶扩展,最终到达生产实践——循序渐进地构建 Kubernetes 的完整知识体系。

系列内容融合了 Google Borg 的设计理念与生产环境实战经验,每篇文章包含代码示例和 Mermaid 架构图,确保理论可验证、概念可动手。

Note

本系列假设你已了解 Docker 基本操作(docker run/build/pull)。如果你需要补课容器底层原理,推荐先阅读姊妹系列「容器运行时深入」中的 容器全景 章节。

二、场景驱动阅读路线#

不想按部就班从第 1 章读到第 20 章?以下 4 条路线从你日常遇到的真实问题出发,按”问题在哪→底层原理→如何解决”的顺序串联章节。

路线总览#

flowchart TB subgraph 路线A["路线A:我的 Pod 为什么起不来"] A1[Ch01 前世今生] --> A2[Ch02 核心概念] A2 --> A3[Ch03 工作负载] A3 --> A4[Ch09 创建 Deployment 底层剖析] end subgraph 路线B["路线B:请求为什么到不了 Pod"] B1[Ch04 服务发现] --> B2[Ch08 请求完整路径] B2 --> B3[Ch10 网络深度解析] B3 --> B4[Ch11 CNI 深度解析] end subgraph 路线C["路线C:集群安全加固"] C1[Ch02 核心概念] --> C2[Ch06 配置与存储] C2 --> C3[Ch15 RBAC 与安全] C3 --> C4[Ch18 故障排查] end subgraph 路线D["路线D:全栈 K8s 工程师"] D1[Ch01 前世今生] --> D2[Ch02 核心概念] D2 --> D3[Ch03 工作负载] D3 --> D4[Ch04 服务发现] D4 --> D5[Ch09 创建 Deployment 剖析] D5 --> D6[Ch13 扩展机制] D6 --> D7[Ch16 可观测性] end style 路线A fill:#e3f2fd,stroke:#1565c0 style 路线B fill:#e8f5e9,stroke:#2e7d32 style 路线C fill:#fff3e0,stroke:#e65100 style 路线D fill:#f3e5f5,stroke:#6a1b9a

路线A:我的 Pod 为什么起不来#

场景:你写了一个 Deployment YAML,kubectl apply 后 Pod 一直 Pending 或 CrashLoopBackOff。到底哪一步出了问题?

顺序章节为什么读这章
1Ch01 认识 Kubernetes建立全景认知
2Ch02 核心概念理解 Pod、Node、控制面组件
3Ch03 工作负载Deployment、探针、重启策略
4Ch09 创建 Deployment 底层剖析核心:追踪 Pod 创建的每一步

路线B:请求为什么到不了 Pod#

场景:前端调用后端 API 返回 503,Service 配置看起来没问题,但流量始终到不了 Pod。

顺序章节为什么读这章
1Ch04 服务发现与网络基础Service、Ingress、kube-proxy
2Ch08 请求完整路径剖析核心:追踪请求从客户端到 Pod 的 7 层跳转
3Ch10 网络深度解析Pod/Service/Node 三层网络
4Ch11 CNI 深度解析CNI 插件选型与实现

路线C:集群安全加固#

场景:你的集群暴露在公网,Pod 可以互相通信,Secret 以明文存储在 etcd——如何加固?

顺序章节为什么读这章
1Ch02 核心概念理解 Namespace 隔离边界
2Ch06 配置与存储Secret 安全管理
3Ch15 RBAC 与安全核心:RBAC、Pod 安全、NetworkPolicy
4Ch18 故障排查安全问题排查

路线D:全栈 K8s 工程师#

场景:你要成为 Kubernetes 领域的专家,从基础概念到底层原理到生产运维,全面掌握。

顺序章节为什么读这章
1Ch01 前世今生全景认知
2Ch02 核心概念Pod、Node、声明式 API
3Ch03 工作负载Deployment/StatefulSet/DaemonSet
4Ch04 服务发现Service/Ingress/kube-proxy
5Ch09 创建 Deployment 剖析控制器协作全流程
6Ch13 扩展机制CRD/Operator/Webhook
7Ch16 可观测性Prometheus/Grafana

三、系列大纲#

按章节编号排列的完整目录,共 21 篇。

阶段一:基础概念#

章节标题核心内容
01认识 Kubernetes:前世今生K8s 起源、Borg 影响、云计算演进
02核心概念:Pod、Node 与控制面控制面组件、Pod 设计哲学、声明式 API
03工作负载:从 Pod 到 DeploymentDeployment/StatefulSet/DaemonSet/Job/HPA
04服务发现与网络基础Service 四种类型、Ingress、kube-proxy

阶段二:实践操作#

章节标题核心内容
05应用管理:Helm 与 Operator 模式OAM、Helm Chart、Operator 模式
06配置与存储:ConfigMap、Secret 与 PV/PVC配置管理、持久化存储、StorageClass
07调度框架与自定义调度器开发调度扩展点、自定义 Filter/Score 插件

阶段三:底层剖析#

章节标题核心内容
08深度剖析:请求从客户端到 Pod 的完整路径Ingress→Service→kube-proxy→Pod 的 7 层跳转
09深度剖析:创建 Deployment 时底层发生了什么API Server→Controller→Scheduler→kubelet 全流程
10网络深度解析Pod/Service/Node 三层网络、overlay/underlay

阶段四:进阶扩展#

章节标题核心内容
11CNI 深度解析CNI 规范、Flannel/Calico/Cilium 对比
12CSI 存储插件开发PV/PVC、动态供给、自定义 CSI
13扩展机制:CRD、Operator 与 WebhookCRD、Operator、准入 Webhook
14client-go 编程Informer、WorkQueue、Controller 开发
15安全:RBAC、Pod 安全与网络策略RBAC、Pod Security、NetworkPolicy

阶段五:生产实践#

章节标题核心内容
16监控与可观测性Prometheus、Grafana、告警规则
17运维实践深度解析集群管理、升级策略、灾备方案
18故障排查与性能优化诊断工具、性能调优、案例分析

附录#

章节标题核心内容
19云原生 BuildpacksCNB 规范、Paketo 实现
20编写 Paketo Buildpack自定义构建包开发

四、Kubernetes 架构图#

graph TB subgraph 控制面["控制面 Control Plane"] API["API Server<br/>集群统一入口"] ETCD["etcd<br/>分布式状态存储"] SCHED["Scheduler<br/>Pod 调度"] CM["Controller Manager<br/>控制器集合"] end subgraph 节点A["Worker Node 1"] KLET1["kubelet"] KPROXY1["kube-proxy"] CRI1["容器运行时"] POD1["Pod"] POD2["Pod"] end subgraph 节点B["Worker Node 2"] KLET2["kubelet"] KPROXY2["kube-proxy"] CRI2["容器运行时"] POD3["Pod"] end API --> ETCD API --> SCHED API --> CM SCHED --> API CM --> API API --> KLET1 API --> KLET2 KLET1 --> CRI1 KLET2 --> CRI2 CRI1 --> POD1 CRI1 --> POD2 CRI2 --> POD3 KLET1 --> KPROXY1 KLET2 --> KPROXY2 style 控制面 fill:#e3f2fd,stroke:#1565c0 style 节点A fill:#e8f5e9,stroke:#2e7d32 style 节点B fill:#e8f5e9,stroke:#2e7d32

五、Google Borg 遗产#

Kubernetes 传承自 Google 内部容器管理系统 Borg,理解 Borg 的设计理念有助于深入掌握 K8s:

Borg 特性Kubernetes 实现
BorgletKubelet
BorgmasterAPI Server + Controller
PacemakerScheduler
OmegaCRD + Operator

推荐阅读Large-Scale Cluster Management at Google with Borg

六、参考资源#

官方文档

经典论文

社区资源


参考#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

Kubernetes 云原生系列导读
https://blog.souloss.com/posts/kubernetes/k8s-series-guide/
作者
Souloss
发布于
2024-05-20
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时