27回答

0收藏

Kubernetes源码剖析 PDF 电子书

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

Java电子书:Kubernetes源码剖析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
; t" D& A* `/ ~5 s  x- k3 b
5 @- X/ ]- Z: W1 U  \
, H( e7 q* i6 F4 T
编号:mudaima-P0267【Java吧 java8.com】) i/ `5 h0 V  Q! C
" P0 Z$ G" Q: N
4 ?5 J3 U3 e2 J" {
3 a# m! v% Q1 X  ~
Java电子书目录:第1章 Kubernetes架构 1  `" m- s8 \4 g$ [9 d5 a
1.1 Kubernetes的发展历史 1
: W) @$ t1 C' K4 A1.2 Kubernetes架构图 2
7 U" m5 l0 G8 L4 \1.3 Kubernetes各组件的功能 4
) ~. e  E  `* e8 B$ g* O1.3.1 kubectl 5
7 \* _5 Z/ D; t, H" f+ n6 @% r1.3.2 client-go 5
0 |( p& @2 K  }1.3.3 kube-apiserver 5
) k# e; a% B" j8 T3 i" o1.3.4 kube-controller-manager 6
$ `( H1 h$ x# j/ t3 {& j$ f1.3.5 kube-scheduler 7
5 i7 h2 {1 T4 G1 g1 Y6 t  E1.3.6 kubelet 78 q6 J4 f: U' Q: n3 [; [0 z
1.3.7 kube-proxy 87 G: v3 j4 y. l9 y+ L5 r! a
1.4 Kubernetes Project Layout设计 93 k. I9 M9 z9 K# w
第2章 Kubernetes构建过程 13) o2 n, v9 }; H' H/ _
2.1 构建方式 13' z+ i. N4 B' B
2.2 本地环境构建 15
0 ~7 u! X: B2 c+ l- [( g2.2.1 一切都始于Makefile 16! s! \: M$ ?, n  G
2.2.2 本地构建过程 17) `. t6 R* h0 v0 G% L
2.3 容器环境构建 18: W9 J. ^+ u, V. n
2.4 Bazel环境构建 22
/ }% Y: h1 G7 L. m3 W' H2.4.1 使用Bazel构建和测试Kubernetes源码 23
! u) F6 {( {# y) U/ o9 ^5 u$ o1 G2.4.2 Bazel的工作原理 25# F/ `4 F3 B  L, c3 @
2.5 代码生成器 26
1 G' D2 F/ z/ }# N2.5.1 Tags 27
1 T2 Y9 u3 J) Z! b+ h. K1 A* b2.5.2 deepcopy-gen代码生成器 29
7 @8 f4 i8 f- ~2.5.3 defaulter-gen代码生成器 30
1 ^+ C3 X% w- g5 F! w2.5.4 conversion-gen代码生成器 32" N4 I- |/ k5 j, n3 ~2 |% k( N
2.5.5 openapi-gen代码生成器 34
7 h5 t* g4 d1 ?8 D" F2.5.6 go-bindata代码生成器 36
" {9 O+ s5 M( }1 i2.6 代码生成过程 37% I; o. q6 Q% W* i$ e/ \+ e8 {
2.7 gengo代码生成核心实现 409 s1 w$ W5 z( a/ h' T8 y
2.7.1 代码生成逻辑与编译器原理 41
$ D; |* S/ L( V( F/ F2.7.2 收集Go包信息 42
) C$ q6 O9 v* @8 d5 F! e2.7.3 代码解析 45! n! o" v, U( i7 l8 A3 c. A
2.7.4 类型系统 48. N) h; @7 P* }8 [
2.7.5 代码生成 51
9 e5 V2 l* x' ?第3章 Kubernetes核心数据结构 57! u  k% Z% C7 I0 B+ s" H+ _
3.1 Group、Version、Resource核心数据结构 57
3 f+ ^+ R2 ]) `8 {4 Q5 o7 a3.2 ResourceList 59
+ x; A3 h8 N6 I  H8 f, J8 O4 r' O3.3 Group 625 K0 v! c. g6 f- q( Z0 v8 O
3.4 Version 63
0 Z& E% S9 @0 c/ x0 l3.5 Resource 65* B: M) g$ r; ^- c
3.5.1 资源外部版本与内部版本 66
5 D4 T6 x- q. V, a; D3.5.2 资源代码定义 68* p# {* ?7 m( i3 A
3.5.3 将资源注册到资源注册表中 71  O2 X" [7 \; \* T1 R  A4 t
3.5.4 资源版本 71
8 u: w+ x: C8 b  ~- y* ^# ?# [/ K% @. K3.5.5 资源操作方法 72
! V9 d5 I4 Q* K; ^3 f3.5.6 资源与命名空间 75
# O' Q* c" h. Y; K0 d, |  l4 ?: @3.5.7 自定义资源 77
( }- T  Y& o4 j/ S5 t& U; [3.5.8 资源对象描述文件定义 783 q* u- g  r, L) e4 A1 s" n
3.6 Kubernetes内置资源全图 79
0 P4 ]5 a  H9 @0 F9 s3.7 runtime.Object类型基石 835 H  x9 W  E1 s+ W; j: Y! n
3.8 Unstructured数据 85
' M9 `0 ^/ O: E6 K3 W: V; o3.9 Scheme资源注册表 878 w$ i% H- u9 O. B) ^0 |
3.9.1 Scheme资源注册表数据结构 872 c1 Z% U' r) Z3 b: _& c+ I
3.9.2 资源注册表注册方法 91
: Q3 T# ?# `- V6 u" r" k/ M3.9.3 资源注册表查询方法 92
: e6 _% h, Q& q7 u/ j  W3.10 Codec编解码器 927 J& }/ c' N' x, G
3.10.1 Codec编解码实例化 94, I& F3 r9 x* n- V' e$ [
3.10.2 jsonSerializer与yamlSerializer序列化器 95
! }: u& L* P/ I+ B/ a3.10.3 protobufSerializer序列化器 986 N9 c$ s. w' O. c" u. _" c
3.11 Converter资源版本转换器 100: n2 w9 I" R$ U7 y
3.11.1 Converter转换器数据结构 1013 ?* S# j: \) P* Y
3.11.2 Converter注册转换函数 102
) c+ Q, f' n$ h  W( @, {0 g3.11.3 Converter资源版本转换原理 104
! n) g) R" l' H5 _1 u) M第4章 kubectl命令行交互 111
  O* z/ t5 s3 z  U6 c4.1 kubectl命令行参数详解 111
+ N" k5 \7 u2 k( ~% L# \  b" A& f2 C3 K4.2 Cobra命令行参数解析 114% `3 A4 p3 X- N6 a
4.3 创建资源对象的过程 119+ B7 ?8 e! z* D) p5 w% J/ [6 a
4.3.1 编写资源对象描述文件 120
+ v# `$ h/ I1 ~4.3.2 实例化Factory接口 1201 v# f% [2 \# ~' S0 g9 u2 d
4.3.3 Builder构建资源对象 121
, W9 B/ N% p( d9 T; f$ [9 B' p4.3.4 Visitor多层匿名函数嵌套 1229 o8 h7 y0 z8 Z
第5章 client-go编程式交互 128
& A; b- b; E/ g5.1 client-go源码结构 128
; L" u# f" ]7 u: R1 u+ X2 _- ~" ~5.2 Client客户端对象 129/ i& O, t( C4 y3 N
5.2.1 kubeconfig配置管理 130( [% j  K2 S$ a7 b& Z% r
5.2.2 RESTClient客户端 134& Y9 G% Q. `4 F/ Y! {; Q. i
5.2.3 ClientSet客户端 137
; k* B& u6 f: G4 ]& f( ]5.2.4 DynamicClient客户端 1392 w9 `/ W! }# y/ Q4 O
5.2.5 DiscoveryClient客户端 141
4 _" X, C& `* x% N, k$ E/ p5.3 Informer机制 1444 A2 H  t! r1 e1 j; q& y( ~
5.3.1 Informer机制架构设计 145
3 `" m& E) c% a# w4 S5.3.2 Reflector 149% S8 I5 o( U( B# M
5.3.3 DeltaFIFO 154) U6 F; d0 n' o  `
5.3.4 Indexer 158
. t3 _0 ?) F  g; T5.4 WorkQueue 162; e+ p1 r' a( n' t: {9 g& x
5.4.1 FIFO队列 1632 T; Q1 l) p8 T9 D6 {( g
5.4.2 延迟队列 165
0 L! V# h, y+ v0 P! R  V5.4.3 限速队列 166
, R% T2 _% d5 C8 L: N9 Q# d5.5 EventBroadcaster事件管理器 1704 H. b0 m( c4 v. f: a. J
5.6 代码生成器 176
3 H4 O' @7 }# S5 x" S$ a5.6.1 client-gen代码生成器 176
. f4 Q  |, W; }$ x* K7 u5.6.2 lister-gen代码生成器 180
* ]5 v5 O* X& A9 s5.6.3 informer-gen代码生成器 182
" K8 |: ^/ I5 y7 c; }5.7 其他客户端 185- V6 }$ F: c$ y5 _* v1 V
第6章 Etcd存储核心实现 187
, M9 [9 V4 g& @* Y; {6.1 Etcd存储架构设计 1873 c+ j4 r- E% @# H' Y: E
6.2 RESTStorage存储服务通用接口 1894 U. h- g; I! o* L* o. i
6.3 RegistryStore存储服务通用操作 190
# U) E2 k6 [( t6.4 Storage.Interface通用存储接口 192& j+ k% L8 N' b5 d- R+ @% I
6.5 CacherStorage缓存层 194
; c1 s+ A& X! q6.5.1 CacherStorage缓存层设计 195
- j1 e4 _5 G, G- D1 B. y6.5.2 ResourceVersion资源版本号 199) i' i2 C, ~2 |" L
6.5.3 watchCache缓存滑动窗口 201
/ T/ o- w7 m  D: c7 T6.6 UnderlyingStorage底层存储对象 204" Q$ p7 ?# s; E* t6 G* H
6.7 Codec编解码数据 206$ g! E' ?( _: }) ?/ }' Q/ T; Q$ S, M
6.8 Strategy预处理 2092 _; I( o1 b- p7 _- t& G
6.8.1 创建资源对象时的预处理操作 2098 W" b* e' |: O) |
6.8.2 更新资源对象时的预处理操作 211, x) J, i& k1 F! z2 O. t( Q. N: K
6.8.3 删除资源对象时的预处理操作 212
( g; T+ y) q* j) C4 T6.8.4 导出资源对象时的预处理操作 2131 o/ W. w7 P: x2 z, r
第7章 kube-apiserver核心实现 214) }- d9 `7 j2 G. S" Y) z
7.1 热身概念 215
' h# Y1 l: ~1 g6 Z; l8 `7.1.1 go-restful核心原理 215) k1 V9 \, t3 H3 c
7.1.2 一次HTTP请求的完整生命周期 218; o) h. c. v5 D) W2 W% B
7.1.3 OpenAPI/Swagger核心原理 219
' H5 [. A0 f8 p9 S7.1.4 HTTPS核心原理 222
5 J7 l( y1 _! c, W% b! d- o& |5 t$ b7.1.5 gRPC核心原理 2249 T4 ^1 H4 ~% F% N2 {
7.1.6 go-to-protobuf代码生成器 225  g' l5 d5 R* V: l# O0 s3 m- q9 v
7.2 kube-apiserver命令行参数详解 231
0 j5 C" }$ i8 _( p. ~( \7 W7.3 kube-apiserver架构设计详解 243
% N( S% ], Q" {* _5 L- V2 H7.4 kube-apiserver启动流程 244
4 ~. f8 l% X* I( m7.4.1 资源注册 245
6 R% Y- I9 I& V) M! |7.4.2 Cobra命令行参数解析 248
! g5 O0 B/ w! r1 c+ F7.4.3 创建APIServer通用配置 249* u: ?. D) b: X7 W9 ]
7.4.4 创建APIExtensionsServer 257( q" I* Q- r8 h7 v
7.4.5 创建KubeAPIServer 261
, C8 Z6 {1 Q& _- [( o' X7.4.6 创建AggregatorServer 266+ G: ~1 ^" j  u$ K8 S
7.4.7 创建GenericAPIServer 269
; l! [" q8 |! {( u9 p7.4.8 启动HTTP服务 270
# v! f1 o- J  P1 E# B7.4.9 启动HTTPS服务 2725 L' C8 X2 X( M7 Y( I) J/ ?
7.5 权限控制 272
3 i+ {. x+ f: P& C1 t7.6 认证 273
6 h/ d1 L( W/ }, u7.6.1 BasicAuth认证 276$ G' e5 q* c9 o% C
7.6.2 ClientCA认证 277
' I1 k( |- ]2 x/ ]/ ^7.6.3 TokenAuth认证 2788 t: x  r9 H9 {2 u( v: |3 Y$ R
7.6.4 BootstrapToken认证 279; o; {2 G" F( z+ |0 g
7.6.5 RequestHeader认证 2816 S8 x; W, d* O0 l+ l1 ^* A
7.6.6 WebhookTokenAuth认证 282
  \; b& c- c+ [4 Z7.6.7 Anonymous认证 284
( S- s+ L. f; t* j7 b' S; S) t6 M7.6.8 OIDC认证 285' @: Z6 F* W4 n" T
7.6.9 ServiceAccountAuth认证 288; p9 t1 A2 v+ r! ]) P  e
7.7 授权 291
( _& i2 N* a* q$ C7.7.1 AlwaysAllow授权 295
6 c% a$ r, r* C3 O+ ~7.7.2 AlwaysDeny授权 296. `$ F) |$ \- v6 c/ D  m# J
7.7.3 ABAC授权 297
* a, J" e8 G& R$ i: m: b# x. a7.7.4 Webhook授权 298
6 @$ L" R+ N3 w, ]( _; B* H+ r7.7.5 RBAC授权 3009 {6 W& A- x  h# I& l& i7 i, ?
7.7.6 Node授权 309
' k& D/ I9 }( l) y2 A( C7.8 准入控制器 310
& R7 N" Y, U) i9 ~+ l7.8.1 AlwaysPullImages准入控制器 315
! X- W) T7 q& c8 x& b7.8.2 PodNodeSelector准入控制器 316( {9 T4 Z/ [  }; m( O) H
7.9 进程信号处理机制 318
* Z/ `, O3 U4 [) n5 p" ~7.9.1 常驻进程实现 318
0 ~' d# @; N7 I8 }) q7.9.2 进程的优雅关闭 319
+ \! p7 d2 J6 M  `3 Y% h6 U7.9.3 向systemd报告进程状态 320& m1 D, N# w3 `! l
第8章 kube-scheduler核心实现 321! o/ b" c! z: k+ ^5 y/ B
8.1 kube-scheduler命令行参数详解 321  j6 v9 V5 s2 n6 ~3 S
8.2 kube-scheduler架构设计详解 324  E( Y9 }' P0 O8 `
8.3 kube-scheduler组件的启动流程 326$ i* h4 q" T* }" S' L
8.3.1 内置调度算法的注册 327) G0 ^# a7 J/ {: x* W
8.3.2 Cobra命令行参数解析 328
; G" N1 R/ {2 r: B, {8 o+ ~* V8.3.3 实例化Scheduler对象 329' c1 [8 r( _7 b/ J; l
8.3.4 运行EventBroadcaster事件管理器 331- q; ~( X+ I+ @  |1 N& g
8.3.5 运行HTTP或HTTPS服务 331' {3 w  z$ _+ o% A: _) S2 I3 ^
8.3.6 运行Informer同步资源 332
6 O  o. a6 ^2 H! |6 }6 ]8.3.7 领导者选举实例化 332; s3 b5 M( ]' [7 a
8.3.8 运行sched.Run调度器 333
& g5 D/ P3 E& F! w6 C- I' a) N( k# G8.4 优先级与抢占机制 333
+ i4 V  I+ k( a1 }8.5 亲和性调度 335* o" [9 u+ m% \3 X0 j, _$ ]/ Y
8.5.1 NodeAffinity 336
7 E2 k+ j6 M2 \! s( P4 l8 S' X8.5.2 PodAffinity 3372 y6 P! q; B, c
8.5.3 PodAntiAffinity 338/ c* N0 Y' k7 _! P# J
8.6 内置调度算法 3393 _0 I. C/ d6 z7 {' G  R. }/ ^
8.6.1 预选调度算法 3392 Y( P& N" {* s' D
8.6.2 优选调度算法 340+ m- m" B* X+ S- i7 ^  ?% J/ U
8.7 调度器核心实现 342
- X$ D' ?1 j4 ^) S7 n. y9 D% X8.7.1 调度器运行流程 342! j/ u" @+ X% Q( i) J! g- i
8.7.2 调度过程 343
5 V0 I- F) D1 r; u  R: h  F8.7.3 Preempt抢占机制 3519 K3 F3 n! e7 O" l* X
8.7.4 bind绑定机制 356
" s- ?. s, g+ L* v9 q. ?8.8 领导者选举机制 357
( C: V; z/ `% g* j3 J( Z8 d8.8.1 资源锁 358
# r7 |1 ~7 b5 _6 O& L, ~8.8.2 领导者选举过程 360

  n$ r$ p4 X. l, V9 W! N/ X) g5 Q

5 O& Z$ l2 \& L  W百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
, O) u- C: B3 S% `+ ~

本帖子中包含更多资源

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

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

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

本版积分规则