29回答

0收藏

Kubernetes源码剖析 PDF 电子书

电子书 电子书 3455 人阅读 | 29 人回复 | 2023-09-01

Java电子书:Kubernetes源码剖析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com4 P6 v0 S& \/ R. o/ M

; z3 n1 d5 _" R$ b# N
& |$ [; ~5 ~; V+ A9 X( U% j' ~
编号:mudaima-P0267【Java吧 java8.com】3 c3 Y3 U! M+ V2 R% ~# d) i
' I  T' c1 o- ~
. I% [' V' K$ m: L

. P5 _: F: D) c% V" d5 vJava电子书目录:第1章 Kubernetes架构 1
0 m/ l3 }  l3 c7 q0 N  @" |1.1 Kubernetes的发展历史 1
7 s6 U6 f  r# V/ S) A1.2 Kubernetes架构图 2
/ v8 i& }5 U* j* W) W1.3 Kubernetes各组件的功能 4
$ H( j- ~! f$ {8 L2 a1.3.1 kubectl 5
0 K( F( G( }9 e& q1.3.2 client-go 5. E( p  `7 s& @" S5 Y/ r: K$ H
1.3.3 kube-apiserver 52 V$ t8 ~# j% G) ]: ~
1.3.4 kube-controller-manager 6; C9 b% j& n/ e, a6 m$ P. y- r
1.3.5 kube-scheduler 7
, J: @0 ^$ `# |% W  `1 X; ?1.3.6 kubelet 7
" n4 H6 U( h, x+ ?: A4 q& g" f1.3.7 kube-proxy 87 N0 C  f4 ~7 E7 ?2 l3 l8 b
1.4 Kubernetes Project Layout设计 95 R8 y( Y+ l2 I% a# P: _3 |3 j
第2章 Kubernetes构建过程 13' a9 }7 U, e" n( W% v
2.1 构建方式 13+ s. w/ e( F  @- \' n- Y" b4 u
2.2 本地环境构建 15
9 A7 C4 o( a  P+ A  m2 j$ _# p/ |2.2.1 一切都始于Makefile 16
8 O) m$ W& U: S4 F2.2.2 本地构建过程 17
( e# J3 H7 |! K$ S. F, m# }/ f2.3 容器环境构建 18
: P* U( j; p) w1 a; {# b3 r% c2.4 Bazel环境构建 22  ]8 F3 o- x& m$ j2 D
2.4.1 使用Bazel构建和测试Kubernetes源码 232 j" G+ ]; }8 `' k. J( A/ {
2.4.2 Bazel的工作原理 258 N8 _! |' _* Q$ w, V
2.5 代码生成器 26
+ }: Y. i: K! K! V6 O2.5.1 Tags 27" V; w. v+ b& r0 a" w: R; i, @
2.5.2 deepcopy-gen代码生成器 298 b8 V2 T$ q' V8 K
2.5.3 defaulter-gen代码生成器 30! C: T! ?+ V2 }) Q& i6 w' G0 O
2.5.4 conversion-gen代码生成器 32' _5 r/ O' K" U4 \) u: W$ U
2.5.5 openapi-gen代码生成器 34
0 @: M0 t1 W2 y1 [2 X; m7 b; k- q2.5.6 go-bindata代码生成器 36+ A7 ]* ]" s4 @6 a! V
2.6 代码生成过程 37) `$ ^# K; ~) ~1 T" Y! a. A6 I( V
2.7 gengo代码生成核心实现 40
3 W" K4 U3 B, R) E2.7.1 代码生成逻辑与编译器原理 41
0 n8 R2 ?9 S. H; j. {2.7.2 收集Go包信息 42, c. z& E+ d5 p8 i! [/ ^* l/ _
2.7.3 代码解析 45
- |4 @* ~( E0 C2.7.4 类型系统 48
' p$ p2 x- k+ _7 J* b# Z2.7.5 代码生成 51
( L% _& ~# D7 V# I" j第3章 Kubernetes核心数据结构 57; @% a/ B0 ^# R$ n  ]% Y, I
3.1 Group、Version、Resource核心数据结构 579 f" ^) P$ [4 z" c' c
3.2 ResourceList 59' a- {1 q# M  Q: c+ H$ b
3.3 Group 623 R) [0 Q; Y6 g0 ^
3.4 Version 63
, ~! c0 ^- f' \/ X, {3.5 Resource 65& ~/ u6 c- c' d9 W3 W/ t& T
3.5.1 资源外部版本与内部版本 66, B( n. x1 L) S1 Q" j3 t" o/ A$ j
3.5.2 资源代码定义 68- B0 ?0 k, @  O0 C
3.5.3 将资源注册到资源注册表中 71
) n- y" O$ w& l6 K& A7 Y3.5.4 资源版本 717 t: |/ q; B% ~
3.5.5 资源操作方法 72
0 P% W0 _, P3 [; V# c3.5.6 资源与命名空间 75
' n, N- k# @3 Q4 y3.5.7 自定义资源 777 R1 p2 l5 Z  |4 [
3.5.8 资源对象描述文件定义 78* R- c5 k+ A: f* P$ ^( `. X3 q
3.6 Kubernetes内置资源全图 79
; W' v+ e& A9 `9 g+ T% p7 r3.7 runtime.Object类型基石 83
: l7 w* b! y: M2 A2 C, ?3.8 Unstructured数据 85
  z# {4 W: t( \  p% h3.9 Scheme资源注册表 87( W( Q' I; Q$ H7 q, ]# r2 s1 C
3.9.1 Scheme资源注册表数据结构 87
" H6 V+ o6 ~1 h% H! P3.9.2 资源注册表注册方法 91
2 o, s0 D( C, J. Q' k. k/ S3.9.3 资源注册表查询方法 92
8 u' g! v$ e  W' X0 Z! T5 t: {8 K3.10 Codec编解码器 92
+ A  N! X  b, F) \, ]  p3.10.1 Codec编解码实例化 94
' K* [: [( v! o) [) s0 F3.10.2 jsonSerializer与yamlSerializer序列化器 95/ }1 b* |2 Y! E3 g
3.10.3 protobufSerializer序列化器 984 ~' p% j3 {+ P, [1 n: i
3.11 Converter资源版本转换器 100
; X7 m5 B. t) `% r$ K9 I; L3 C3.11.1 Converter转换器数据结构 101
" a! n$ M, Z% g3.11.2 Converter注册转换函数 102& ]0 r* `. I: [
3.11.3 Converter资源版本转换原理 1047 ^* A1 h0 W, I
第4章 kubectl命令行交互 111
9 X) y0 c! {7 @5 c0 J- V" j* v4.1 kubectl命令行参数详解 111
1 w% S# T. t: F5 V( z9 x. e& w- b4.2 Cobra命令行参数解析 114
- ?" |7 u2 f& k4.3 创建资源对象的过程 119: p' s$ A) P5 x9 r  C3 A
4.3.1 编写资源对象描述文件 120
) N5 y, c5 q* A! x* W* i4.3.2 实例化Factory接口 1202 ^. q; e  _% F0 Y+ z
4.3.3 Builder构建资源对象 121- ?9 B! P$ g; O7 ]. [1 n7 A) n
4.3.4 Visitor多层匿名函数嵌套 122) |, u& c7 C$ z  W5 [
第5章 client-go编程式交互 128. D; l4 d! J" H6 y) l
5.1 client-go源码结构 1281 Z3 r. j' E" z: H& m% o
5.2 Client客户端对象 1298 G" Y- [& G: p( n4 r3 @5 I
5.2.1 kubeconfig配置管理 130
3 p0 l, V  h. t' J- |4 I5.2.2 RESTClient客户端 134
$ L5 k. {+ x2 w5.2.3 ClientSet客户端 1379 n  G; q; {' Y0 p, Z2 v3 @* Z3 z
5.2.4 DynamicClient客户端 139% v3 M0 Q: @/ m4 H
5.2.5 DiscoveryClient客户端 141
" A% g* d+ x' p5.3 Informer机制 144; S- H0 W6 k. U. h9 [! v
5.3.1 Informer机制架构设计 145" v' i. n( o0 ^- t& T  ~
5.3.2 Reflector 149
; s! Q1 @7 A: O8 Y' y1 G( Y5.3.3 DeltaFIFO 154
; f4 ]; g4 ~3 p# T' y2 h5.3.4 Indexer 158
! g) T1 n$ c& w% y7 f8 w5.4 WorkQueue 162
6 m0 Q. ~! J9 Q# H* S  C5.4.1 FIFO队列 163
' ]. ^+ r; D/ |* A4 W( P) h; o5.4.2 延迟队列 165
! G' ?& \, D6 s5.4.3 限速队列 166
5 Y5 q) i/ S% B: z9 x! k6 w5.5 EventBroadcaster事件管理器 170
8 B5 ~& U' w5 W+ m4 `( Q5.6 代码生成器 1768 o- G9 c$ y8 M9 X) Y2 A% J
5.6.1 client-gen代码生成器 176# h) E5 Z) C8 l- k+ n" p: Y8 @
5.6.2 lister-gen代码生成器 180
. S3 l& g7 n. m5 e# w5 I8 k! F5.6.3 informer-gen代码生成器 182( V7 \# i: M' V3 K( Y" U
5.7 其他客户端 1854 h1 h1 @( W5 U+ ^( F
第6章 Etcd存储核心实现 187
5 s+ c9 q( g& L% I6.1 Etcd存储架构设计 187( @, B5 G; |/ W" J+ x
6.2 RESTStorage存储服务通用接口 189
: `/ d, {9 x6 ^' z; t4 N' W7 Y6.3 RegistryStore存储服务通用操作 190
5 _! N. U. u3 g0 g$ x" ~6.4 Storage.Interface通用存储接口 192! k5 v; c6 d7 B1 A" V5 W9 W
6.5 CacherStorage缓存层 194" s/ G' D% W! y) |1 Q0 ?" r
6.5.1 CacherStorage缓存层设计 1956 ~/ R; N7 U1 O$ O/ q3 U
6.5.2 ResourceVersion资源版本号 199. D5 G( B2 Y+ c9 Z
6.5.3 watchCache缓存滑动窗口 201
% }: K, M+ j2 T% m6.6 UnderlyingStorage底层存储对象 2040 i7 X* _5 [, H# Z  N! V" o
6.7 Codec编解码数据 206. V# G+ ]  p9 A" Z& H
6.8 Strategy预处理 209
3 i: N) @: V" B# U9 B4 a6.8.1 创建资源对象时的预处理操作 209! H% \- y+ L2 R& u0 v
6.8.2 更新资源对象时的预处理操作 2118 q4 S  _  o" u0 c# Y6 l5 m2 `4 K
6.8.3 删除资源对象时的预处理操作 212
- z# M. g6 V4 U1 u6.8.4 导出资源对象时的预处理操作 213
! n; H* v8 I8 F8 @* \# i4 @9 U第7章 kube-apiserver核心实现 214
& _+ h1 z1 a. f7.1 热身概念 215
- c+ [+ a. y; n7.1.1 go-restful核心原理 215
; R3 ~+ i3 g2 P- U7.1.2 一次HTTP请求的完整生命周期 2187 k' I) x: u. P) b
7.1.3 OpenAPI/Swagger核心原理 219
- ?) ]; ]* P' \& v7.1.4 HTTPS核心原理 2226 ]1 |2 ]3 f  K
7.1.5 gRPC核心原理 2249 B# Z$ e2 J+ Q: k5 @, c" |
7.1.6 go-to-protobuf代码生成器 225. H0 \! {$ a9 B$ L
7.2 kube-apiserver命令行参数详解 231; `0 u1 z2 Q, h
7.3 kube-apiserver架构设计详解 243" q; T) l& a5 `( Q5 c
7.4 kube-apiserver启动流程 244
6 i5 g3 X" _: Y! s. K7.4.1 资源注册 245& Q  i/ D$ g) \+ k$ n( a
7.4.2 Cobra命令行参数解析 2482 d% D9 h5 Y, {+ Z8 [% S
7.4.3 创建APIServer通用配置 249
" ~* M( N; W8 T' |4 _0 N, ^; T7.4.4 创建APIExtensionsServer 2577 U% s- u# v( h6 U+ h5 J
7.4.5 创建KubeAPIServer 261
9 l& u  O) w, |% r1 x; R7.4.6 创建AggregatorServer 266/ V. i" K9 g7 }' f
7.4.7 创建GenericAPIServer 269+ A. U6 p4 A( I/ H8 H$ Y4 U
7.4.8 启动HTTP服务 270
* U' B9 v. W. }* q4 p3 ]7.4.9 启动HTTPS服务 272
1 y/ v8 x1 J0 ?7.5 权限控制 272
1 I) a6 F, h0 T% q. o7.6 认证 273  x$ z8 l) x& m; n
7.6.1 BasicAuth认证 276
( n% h! A0 ?0 V9 d# X7.6.2 ClientCA认证 277
, C, f! P4 r1 t7 H9 y7.6.3 TokenAuth认证 278% n) V: Q, v! A
7.6.4 BootstrapToken认证 279' q" m2 F- _# z2 W. T# g4 m
7.6.5 RequestHeader认证 281
- S# \3 x1 |: c5 N8 C. c9 r7 s3 u, Q7.6.6 WebhookTokenAuth认证 282
5 U5 t* h* o1 J# n) r+ g7.6.7 Anonymous认证 284
  k6 X; ~; M5 s8 ~% L2 u  A7.6.8 OIDC认证 285
$ p/ ~- z8 k7 I+ m+ b7.6.9 ServiceAccountAuth认证 2884 ]) r; X9 A! x# X, h; W
7.7 授权 2911 C  B& s3 r* g% B3 m
7.7.1 AlwaysAllow授权 295' i# `' X/ [5 e- ]! {1 f
7.7.2 AlwaysDeny授权 296/ ?) v" J* A# H4 ]& q
7.7.3 ABAC授权 2979 G- W6 N2 P- |% \3 C" g
7.7.4 Webhook授权 2988 F3 ?% ^  I# x4 c/ ^/ A
7.7.5 RBAC授权 300
2 {: g7 w  d6 e, b" g7 |7.7.6 Node授权 309
0 n8 Y& X' T7 S" O3 {( w, b7.8 准入控制器 310
/ }  H  z6 ~5 D& N+ m' H$ d2 S! M! Y7.8.1 AlwaysPullImages准入控制器 315
4 D6 {' {' Y2 }) p7 p8 h) i7.8.2 PodNodeSelector准入控制器 316$ c( r+ y7 A; d
7.9 进程信号处理机制 318% H2 R1 K2 Z# F+ O$ s  S7 V
7.9.1 常驻进程实现 318
1 Z4 l% ^# H# x9 R8 j2 B; B' |7.9.2 进程的优雅关闭 319
- u: Z' E6 E# E, c* \; J3 {8 f7.9.3 向systemd报告进程状态 320
8 t( K/ M5 N4 }. E$ ]" P" W第8章 kube-scheduler核心实现 321$ p+ C$ L+ \( ?! O/ O. g
8.1 kube-scheduler命令行参数详解 321
, K. H/ @" _7 Z: E2 |8.2 kube-scheduler架构设计详解 324* n2 ]( p6 L1 F
8.3 kube-scheduler组件的启动流程 326
4 E7 ^* }* H$ V; U$ y. A  Z: V' y- |8.3.1 内置调度算法的注册 327; \* d* N/ l# a# w# x  I
8.3.2 Cobra命令行参数解析 328
& R/ k' L9 K; t. O6 y8.3.3 实例化Scheduler对象 3297 V% q  {$ s* C1 Q, i$ D$ `9 o
8.3.4 运行EventBroadcaster事件管理器 331
% _! ]$ z0 ~& s. F: i8.3.5 运行HTTP或HTTPS服务 331) d; j: y0 T, D& s& `
8.3.6 运行Informer同步资源 332
2 X( M) I. }7 p$ Z$ o- A+ K8.3.7 领导者选举实例化 332
8 U# y, ~2 }$ [" T# G& ^2 H: |8.3.8 运行sched.Run调度器 333) R0 u& o1 D$ t8 p  ^! S1 R- _
8.4 优先级与抢占机制 333
( o( q* z$ Q, ~0 r4 ]8.5 亲和性调度 335( P$ w: Z8 V- E3 T: |+ M
8.5.1 NodeAffinity 3360 h7 l  t- }$ m. [' d- d  s
8.5.2 PodAffinity 337
  ~4 i0 q! f$ E  {; B; Z# t' I6 C8.5.3 PodAntiAffinity 338
( P6 f1 m5 K1 P$ Z& f8.6 内置调度算法 339. ^* n0 d6 i# T
8.6.1 预选调度算法 3398 j: O( w& y" L& Z+ ^5 U
8.6.2 优选调度算法 340
& R) {6 F8 {" n& |* d8.7 调度器核心实现 3422 J$ \* [: H' q- p5 d
8.7.1 调度器运行流程 342
/ B) {3 V$ z" P( h" Z; w8.7.2 调度过程 3438 n% T9 k2 v  }; V& ]  E# F) d% f- j
8.7.3 Preempt抢占机制 351  ?0 l3 `" \1 ^: ^2 _! |* U
8.7.4 bind绑定机制 356
- f7 T; z$ r3 Q4 h$ ~2 y8.8 领导者选举机制 3571 N/ ?* }6 Z7 S" u8 ^6 q) R1 [
8.8.1 资源锁 358
* B& Q$ N' q. v! U6 C, ~8.8.2 领导者选举过程 360

9 o4 G5 M1 u9 B$ s; }" A6 ^5 s

* Q9 v8 ~& f8 T, E8 ]百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复

' x( _2 E; b! b' t

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
关注下面的标签,发现更多相似文章
分享到:

回答|共 29 个

何天平

发表于 2023-9-22 18:55:47 | 显示全部楼层

给力,真免费

仙侣奇缘

发表于 2023-9-23 08:49:48 | 显示全部楼层

给力,真免费

卓血

发表于 2023-9-24 14:25:18 | 显示全部楼层

java吧 真给力

和信鑫通讯办公

发表于 2023-9-25 07:20:07 | 显示全部楼层

真心不错 收下下

燕滋润氧燕燕窝

发表于 2023-9-25 08:12:49 | 显示全部楼层

以后学java 就靠java吧了

潇洒小老头儿

发表于 2023-9-26 09:16:44 | 显示全部楼层

以后学java 就靠java吧了

一语

发表于 2023-9-26 15:27:08 | 显示全部楼层

以后学java 就靠java吧了

金仔工贸

发表于 2023-9-26 16:09:21 | 显示全部楼层

给力,真免费

密斯

发表于 2023-9-29 08:32:59 | 显示全部楼层

给力,真免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则