27回答

0收藏

Kubernetes源码剖析 PDF 电子书

电子书 电子书 2477 人阅读 | 27 人回复 | 2023-09-01

Java电子书:Kubernetes源码剖析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
5 y$ D% V: S; Q5 q; @- f
; ^! G7 v+ P  r" S- j* B

& E4 }6 I" F: ?5 V" a9 t
编号:mudaima-P0267【Java吧 java8.com】! G% C7 K$ \+ c' ]

2 a0 Z0 k1 g% k4 o7 O+ `2 S( \$ G- N/ m2 {; [' o# U2 P
" u3 L0 E; W% ]- u8 `7 a/ b( Z
Java电子书目录:第1章 Kubernetes架构 1" m( \, H2 j7 R9 K) ~# r
1.1 Kubernetes的发展历史 14 |" O7 I% L3 z2 O
1.2 Kubernetes架构图 2' f; D/ ?* q# D6 ]" }
1.3 Kubernetes各组件的功能 4, _5 c; N. @. K* i. K$ c6 ?: T
1.3.1 kubectl 57 N9 R  p) G3 D
1.3.2 client-go 5# B: P' U5 l5 o: L
1.3.3 kube-apiserver 5  i! Y0 V5 ]0 H2 O: s! p$ j: r
1.3.4 kube-controller-manager 6
# P! Z; s  N$ E( _1.3.5 kube-scheduler 7' [+ K% D3 H$ u
1.3.6 kubelet 7. o# Y7 n# `3 J/ _1 i" [/ g
1.3.7 kube-proxy 8
  Y' H# v' I6 X1 P. t1.4 Kubernetes Project Layout设计 9
/ h6 [# x9 m9 J6 h& U第2章 Kubernetes构建过程 13
/ V4 t( ~9 L$ J2.1 构建方式 13/ P8 X0 D$ Z8 c4 J9 D' p
2.2 本地环境构建 159 L7 p( _/ m8 v4 w3 d4 V
2.2.1 一切都始于Makefile 16
& X( N- F0 n7 `; _$ D7 g+ i2.2.2 本地构建过程 17
8 h& Y; r2 O9 D& H( J2 N/ e2.3 容器环境构建 18. ^$ E; A2 o: S, v
2.4 Bazel环境构建 22+ ~+ c9 G% T* n* ?# e% S
2.4.1 使用Bazel构建和测试Kubernetes源码 23
' V* D# C- Y& S% v" H2.4.2 Bazel的工作原理 250 K5 b  u4 @; L0 D  y
2.5 代码生成器 266 O: `4 }# `/ O& c) A, k
2.5.1 Tags 27
, v8 ^; q9 j/ g9 C2.5.2 deepcopy-gen代码生成器 29
5 S; w2 K8 ]3 W$ ^) g, j$ }; ?# i2.5.3 defaulter-gen代码生成器 30. l6 c1 H% k& T
2.5.4 conversion-gen代码生成器 32& i1 y) K6 {4 a( V1 d! D: Q! ^
2.5.5 openapi-gen代码生成器 341 Z* H& i* p, D- f) p
2.5.6 go-bindata代码生成器 361 H+ F8 A3 I4 y! {: P
2.6 代码生成过程 374 i& U2 j% z* Z; n6 L# X  W
2.7 gengo代码生成核心实现 40
+ Z; ?$ `: b- p0 F% s2.7.1 代码生成逻辑与编译器原理 41
$ E7 X  V  \8 k% A2.7.2 收集Go包信息 42' c6 @) E! w0 E& [& N: Z: b
2.7.3 代码解析 45
: z2 X, N( B6 r% b( q% q) I2.7.4 类型系统 48
0 h( O9 D! V3 A' z! F2 G& v) Z, _5 f2.7.5 代码生成 51
8 @+ E$ E" j4 l: Q第3章 Kubernetes核心数据结构 57. j/ J, J2 Z$ M+ V' q+ ~7 K
3.1 Group、Version、Resource核心数据结构 57
; }! l7 |, n7 _3.2 ResourceList 59& y+ Y5 p6 [0 x( j( t, D3 Z9 P* ?8 N
3.3 Group 62& w1 _. J8 G! Q5 d1 n3 G) F9 v
3.4 Version 63; D+ @1 M/ K- w! }" O4 e1 ^
3.5 Resource 653 A9 }5 b8 w3 a- a5 e6 S0 o
3.5.1 资源外部版本与内部版本 66
4 d  e1 ^) a' ]" T9 G, K8 Q3.5.2 资源代码定义 68
% g2 J, b, }! s' g3 f1 a3.5.3 将资源注册到资源注册表中 71
4 G% M0 b) f% w1 ^* C. R3 f$ H3.5.4 资源版本 717 L$ k  Y& z- H& R) V
3.5.5 资源操作方法 72/ I# J' T# X4 j9 i
3.5.6 资源与命名空间 75
7 y4 Q( Z: k+ t" e0 H3.5.7 自定义资源 77+ K2 C8 m- v- j8 t1 |' s& `! D
3.5.8 资源对象描述文件定义 78/ ~& J5 O5 c  V4 A
3.6 Kubernetes内置资源全图 79, q4 }$ |' B# o4 G. [( h
3.7 runtime.Object类型基石 83
: w' R5 t0 w' K+ z4 J9 x( U; l3.8 Unstructured数据 85# T0 J9 a2 q/ W/ w9 }; q1 C
3.9 Scheme资源注册表 87
: d& d  E' U) B# v7 W1 i. [3.9.1 Scheme资源注册表数据结构 87
0 X  o& \& c6 D* o/ s. N3.9.2 资源注册表注册方法 91& k) w: V* x. p: w, i# \
3.9.3 资源注册表查询方法 92$ \1 e9 O! t- b
3.10 Codec编解码器 92* o& G. H! s& k# v
3.10.1 Codec编解码实例化 94
' w! d5 y% F1 m( P  w- w# w8 W3.10.2 jsonSerializer与yamlSerializer序列化器 954 X* }4 @$ Q2 s6 ~9 s! I* X6 F
3.10.3 protobufSerializer序列化器 98- w7 H3 c* ?% t6 J" B" M; |
3.11 Converter资源版本转换器 100
" t" ]( K( [7 q. i9 e6 [7 z3.11.1 Converter转换器数据结构 1013 v1 N- v4 }) B' `/ O+ ?' T
3.11.2 Converter注册转换函数 102# M4 C; I8 [. @' D7 I8 Y
3.11.3 Converter资源版本转换原理 104( }0 O) g" f. R/ n0 V  E
第4章 kubectl命令行交互 111# ^5 B/ G& b8 x* J' {' t
4.1 kubectl命令行参数详解 111' J4 }# U& m9 t9 O) Z
4.2 Cobra命令行参数解析 114% j7 x4 G+ b6 E. O) j$ ]. N) _
4.3 创建资源对象的过程 119) `; c3 ?) @1 j! k- P$ C' w, r
4.3.1 编写资源对象描述文件 120+ f7 V/ o) |- x
4.3.2 实例化Factory接口 120* D' I/ H  ?8 i
4.3.3 Builder构建资源对象 121$ D$ b1 Z, i- M; o) E0 s' I
4.3.4 Visitor多层匿名函数嵌套 122
# }) F. {( [  g: C9 z4 J第5章 client-go编程式交互 128
% o+ n% I, v2 [& Q3 ^& [5.1 client-go源码结构 1286 |, [4 K' Q$ X8 c/ E; s) R7 W0 a
5.2 Client客户端对象 129. K6 V- }" c" q6 N1 e4 x3 ^
5.2.1 kubeconfig配置管理 130: ~+ R0 T9 d' @3 B* a
5.2.2 RESTClient客户端 134
* v4 F6 A5 r1 o8 q2 \  b& ^( ~5.2.3 ClientSet客户端 137
' G% G  S3 j! }" }: u  b. R5.2.4 DynamicClient客户端 139
6 R; f2 s4 J/ [, m9 k5.2.5 DiscoveryClient客户端 141
! W  m0 O. i; V' \' D1 D5.3 Informer机制 144
  ]" C3 i$ S% u& |7 y2 _& |5.3.1 Informer机制架构设计 145
, N( W1 H8 F% ?2 V: {4 K8 L5.3.2 Reflector 149
, ~. ^. t7 r' Q; c, ]5.3.3 DeltaFIFO 154
( c! b' u4 g$ @4 S4 l5.3.4 Indexer 1583 C) p+ ~3 g1 {
5.4 WorkQueue 162
/ S; x* W+ c+ P% i) u$ l5.4.1 FIFO队列 163
5 K) C; s) i" z5.4.2 延迟队列 165
$ \" Q# m9 A! ^: n6 w5.4.3 限速队列 166) B9 k* S* ?5 _- z" d- O3 v( w$ _
5.5 EventBroadcaster事件管理器 1708 M) V+ N5 q, O1 F
5.6 代码生成器 176
: v3 C" [- [4 B0 Z' v' S- o5.6.1 client-gen代码生成器 176
5 ?. T, R1 E6 D& B$ j$ z6 [5.6.2 lister-gen代码生成器 180
9 i. N7 n! q- x( w5.6.3 informer-gen代码生成器 182
: [4 p  ]; Q8 G( y) U1 o/ ]5.7 其他客户端 185
' \3 t1 O8 {2 R( ]% H- [第6章 Etcd存储核心实现 187) e* e) d1 A  f% w
6.1 Etcd存储架构设计 187( I- C7 ?) y2 u5 }" F$ F0 a
6.2 RESTStorage存储服务通用接口 189
$ l* D0 r: ?7 M. T/ d6.3 RegistryStore存储服务通用操作 1907 }5 y1 w+ K: X2 }; J6 D% B+ F
6.4 Storage.Interface通用存储接口 192
, n' ?/ j' V; z+ `& j* ?. [* U6.5 CacherStorage缓存层 194
6 [1 a' v" C% [& |7 k6.5.1 CacherStorage缓存层设计 1950 q! S. r# p' E
6.5.2 ResourceVersion资源版本号 199
& q, J0 `+ X( u- z1 _/ @6 U1 l6.5.3 watchCache缓存滑动窗口 201
2 C+ t- e- Y( u+ [( n$ r- w6.6 UnderlyingStorage底层存储对象 204
( c5 s0 a5 u; h6.7 Codec编解码数据 206
; w% H1 `0 G! Z' k! C  K' O8 u6.8 Strategy预处理 209
7 n5 z; c+ E1 E1 i: P! j6.8.1 创建资源对象时的预处理操作 209
0 r. S+ f: u0 R6.8.2 更新资源对象时的预处理操作 211: o' t1 z$ I9 C' c5 b3 j  w
6.8.3 删除资源对象时的预处理操作 212
  M  ]% `6 n# F0 Y- u6.8.4 导出资源对象时的预处理操作 213: k* m; @: L5 e
第7章 kube-apiserver核心实现 214
; s# \& {, M9 q$ p7.1 热身概念 215! a5 P# R9 y% ?
7.1.1 go-restful核心原理 215. N1 p) @6 c) I8 M6 R3 ^# p: h. ]
7.1.2 一次HTTP请求的完整生命周期 218& a5 h' v8 ?$ b# [% S* G4 x
7.1.3 OpenAPI/Swagger核心原理 2196 G) C; ]4 D# P
7.1.4 HTTPS核心原理 2222 p" M+ l3 F2 f
7.1.5 gRPC核心原理 224' ]4 l( k# ^: X
7.1.6 go-to-protobuf代码生成器 225
6 W5 M3 s* l# [4 Y7.2 kube-apiserver命令行参数详解 231
' J$ l" E" w8 D& b* ?7.3 kube-apiserver架构设计详解 243
+ u+ |! Q) S6 z# q3 c7.4 kube-apiserver启动流程 244
2 P" q( X" ^3 p' _1 U; k) h7.4.1 资源注册 245+ n% @0 n/ T8 N4 ]' k, D5 n
7.4.2 Cobra命令行参数解析 248
* [' |& ~- k/ l$ v5 O7.4.3 创建APIServer通用配置 249
. A, z/ _4 q0 \" d7 u/ g7.4.4 创建APIExtensionsServer 2571 W  g7 f( ?+ E0 L; V- {
7.4.5 创建KubeAPIServer 2619 T% N( ~' s: H2 O# w
7.4.6 创建AggregatorServer 266) s; l0 v8 F" E) n
7.4.7 创建GenericAPIServer 269
$ B+ i6 {5 v+ e7 r7.4.8 启动HTTP服务 270
1 [, @/ w4 }& r% e4 ?, g8 g! @+ k/ z7.4.9 启动HTTPS服务 272" g1 h2 H/ D, z' T# J* V: z2 A( C) P
7.5 权限控制 272
. w8 W2 j; e' T3 v% U; ^- V  h7.6 认证 273' x  N. g% @) Y! n! [# _; j$ B/ y
7.6.1 BasicAuth认证 276$ G7 P% A8 R( d- k6 f
7.6.2 ClientCA认证 277. _$ h2 y$ R8 \
7.6.3 TokenAuth认证 2785 c1 t9 H- R$ @4 W% z2 ], ~
7.6.4 BootstrapToken认证 2795 g8 o$ t; V, k9 _
7.6.5 RequestHeader认证 2814 n7 E4 V% v3 |  m/ K
7.6.6 WebhookTokenAuth认证 282
. i$ ]6 _4 V+ X, k! F, r. Z7.6.7 Anonymous认证 284
/ E3 }4 A/ o8 G7.6.8 OIDC认证 285
# c+ I" _+ A% r0 j( ?8 {4 F7.6.9 ServiceAccountAuth认证 288* x4 {; c# n5 T, g0 L
7.7 授权 291; x8 h- r9 p; [' H* r+ R
7.7.1 AlwaysAllow授权 295, I1 e% E5 m/ Z0 d7 \0 z( h+ X" o
7.7.2 AlwaysDeny授权 296
1 R: e6 D4 x6 s) q7.7.3 ABAC授权 297) R$ A' B* l' k
7.7.4 Webhook授权 298
  X! c. e" t+ o, O/ c: _7.7.5 RBAC授权 300, M: k  c1 _. k& |; |) C$ r
7.7.6 Node授权 309
/ N0 }) S4 j  l  H7.8 准入控制器 310# `. m1 K) Y7 w: L7 t- Z
7.8.1 AlwaysPullImages准入控制器 315
0 J9 X; ]9 y( q* A6 a! f9 p7.8.2 PodNodeSelector准入控制器 316
+ \0 |! b+ O; F! J, v+ k7.9 进程信号处理机制 318
0 q& d: j# A6 Z/ k( B7.9.1 常驻进程实现 3183 w8 K0 I( e6 \/ Q% G8 W, M* o
7.9.2 进程的优雅关闭 3192 ?$ o0 |% w% A. F( U
7.9.3 向systemd报告进程状态 320$ m8 b/ Q$ l8 s' v! g) b
第8章 kube-scheduler核心实现 321  [) n3 R2 Z1 T# C# T8 B! V
8.1 kube-scheduler命令行参数详解 321
( M7 d5 f4 C" R3 S" v- [8.2 kube-scheduler架构设计详解 324+ [4 E' V+ `' f7 k) X" _0 q- J- G
8.3 kube-scheduler组件的启动流程 326" i! y5 M3 T- Q# v. i
8.3.1 内置调度算法的注册 327& Y0 L* K# M' R0 p: r' l
8.3.2 Cobra命令行参数解析 3286 J' f/ f  h+ x7 a
8.3.3 实例化Scheduler对象 3295 `3 P6 C$ l$ o$ I) Y5 ^
8.3.4 运行EventBroadcaster事件管理器 331; u0 |2 {* N! w" G  W2 v; V7 `/ W
8.3.5 运行HTTP或HTTPS服务 3313 X8 G) T* l" l" G# F4 t
8.3.6 运行Informer同步资源 332& Y! {# ~" B+ K: O! O* B
8.3.7 领导者选举实例化 3327 {1 V: a4 s: v- n9 y9 @& y
8.3.8 运行sched.Run调度器 333$ a$ ~/ V- o* v/ D7 ?) P
8.4 优先级与抢占机制 333
6 y4 U1 J0 _' @! ~8.5 亲和性调度 335
( \7 z# K# X  j! g$ d8.5.1 NodeAffinity 336
, l3 z6 ^' z+ a3 T8.5.2 PodAffinity 337# I/ d- n2 ?1 b3 k; {  y& n
8.5.3 PodAntiAffinity 338
0 ^; D, O8 T) I+ N. r; k8.6 内置调度算法 339! I8 |% S- p! W) r8 S. l
8.6.1 预选调度算法 339* Z8 r4 T0 _! W2 o5 O4 }  j- d/ B
8.6.2 优选调度算法 3409 Q7 }- t& L1 l* m$ b, |
8.7 调度器核心实现 342' o5 O; c# m6 l. U5 P/ V& @5 n& g  v% g
8.7.1 调度器运行流程 342
( M9 J4 C9 h5 A: `1 N" c- h- L+ M8.7.2 调度过程 343
  X, E/ N% Y) T* q) E) \6 ?$ q7 Q0 {8.7.3 Preempt抢占机制 351
5 _+ j8 p& w, M' {3 b8.7.4 bind绑定机制 356
/ t& i7 ]: q. [  b# O6 q; x+ W" o8.8 领导者选举机制 357
: ~* l2 K  f, z3 c" I8.8.1 资源锁 3585 U# p: e/ @0 ]0 Y( i
8.8.2 领导者选举过程 360
! F+ J4 y! t0 u/ ~

0 e4 _4 j, H6 f* M4 v( V0 ~/ e百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
7 Y& ~* Q; p, G& d. ~! ?* q( E

本帖子中包含更多资源

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

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

回答|共 27 个

何天平

发表于 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 | 显示全部楼层

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

本版积分规则