TA的每日心情 | 开心 18 分钟前 |
---|
签到天数: 227 天 [LV.7]常住居民III
管理员
  
- 积分
- 27565
|
Java电子书:Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
) P0 `: E, N& p' G. ~
* ?) T. ?- U) N, d# h1 {4 v2 v) M8 h" C3 [
编号:mudaima-P0175【Java吧 java8.com】
* h; z5 G' m* ^
% g4 O h( ~3 n) a) w z
# ]7 o. U. ]- a: e. X4 z
( c# ~0 G4 a( B0 q9 C
Java电子书目录:第1章 Kubernetes入门 1
4 X4 f% T5 Y% a7 `+ i. C1.1 了解Kubernetes 2. W( K. j' P* v/ j( e* f' |5 w
1.2 为什么要用Kubernetes 5- P! ]3 V3 K8 w! U, S, G; L# P
1.3 从一个简单的例子开始 7
4 ]' p- z) J f7 n5 e) M' X6 E1.3.1 环境准备 8
' P: M/ q/ ?. A2 S3 s( {1.3.2 启动MySQL服务 8
4 p( m5 s% q& `8 O1.3.3 启动Tomcat应用 110 T6 O$ o3 q' F2 V7 I: G7 ~
1.3.4 通过浏览器访问网页 12$ `* b& P; l' c. Z
1.4 Kubernetes的基本概念和术语 145 e2 i! m1 @5 ?
1.4.1 资源对象概述 14
/ {+ k5 a0 K1 ~) N+ p1.4.2 集群类 152 ]: \% j: _: z' F
1.4.3 应用类 197 Y2 e/ U1 U2 W
1.4.4 存储类 40$ X4 ^& W; }# U: `& w) C! i+ v
1.4.5 安全类 449 S. r6 P, j, m; G3 x
" c* D; x% S L0 ?" h: H0 d
第2章 Kubernetes安装配置指南 471 m+ r- [8 C, J: Y: ]( f+ F
2.1 系统要求 48- C! r5 z( e0 V8 [
2.2 使用kubeadm工具快速安装Kubernetes集群 49! {& p+ j/ P8 N! ^
2.2.1 安装kubeadm 50( K# J7 C$ Q( R* h3 F
2.2.2 修改kubeadm的默认配置 50
0 T1 j" Q. a& z3 v) \; w j. Q2.2.3 下载Kubernetes的相关镜像 51
" d; }5 ?- c. t5 k9 R2.2.4 运行kubeadm init命令安装Master节点 52" q5 q$ ~' u* A1 s, t
2.2.5 将新的Node加入集群 57$ Z; t* n! I) W5 ], X; q
2.2.6 安装CNI网络插件 59! B' c9 [- \ a# T' r& K A
2.2.7 验证Kubernetes集群是否工作正常 60, i. F6 q$ Y$ r% v. g9 S
2.3 以二进制文件方式安装Kubernetes安全高可用集群 61; \* q, m( y" z' U9 _
2.3.1 Master高可用部署架构 61* Y( j s8 T$ k3 W
2.3.2 创建CA根证书 62; }- {7 Z' P+ D/ n' d7 a4 G% T
2.3.3 部署安全的etcd高可用集群 637 t4 Q+ q4 C$ G% w' x. G
2.3.4 部署安全的Kubernetes Master高可用集群 683 o' }$ Y. v, T$ J
2.3.5 部署Node的服务 859 c. j, Z3 u7 A$ B
2.3.6 kube-apiserver基于token的认证机制 89
: r' ~% C* w( m. B2 w0 `* R( _1 q5 {+ k2.4 使用私有镜像库的相关配置 90! W2 o m1 T& B' i
2.5 Kubernetes的版本升级 91
! ^8 {: b) f- Z7 P7 J& o) ` l2.5.1 二进制文件升级 91' j- \- ~7 Z: {
2.5.2 使用kubeadm进行集群升级 92
9 ~: b j2 ]% E" ~+ E, N2 p2.6 CRI(容器运行时接口)详解 94( V5 x1 G+ j; P$ U
2.6.1 CRI概述 94- v: i/ Y4 `3 k! ]& y. _
2.6.2 CRI的主要组件 943 P5 I& l! V' [& ?) A/ r; R( t9 o
2.6.3 Pod和容器的生命周期管理 95! t. z# {0 w( X9 }+ m' A
2.6.4 面向容器级别的设计思路 96
! j( H! J+ C$ U2 D- _2.6.5 尝试使用新的Docker-CRI来创建容器 97
8 A/ k- B7 M5 Y" ]! Q" x2.6.6 CRI的进展 98' [5 j' T2 I; T
2.7 kubectl命令行工具用法详解 98. }" |! ]0 |5 R' T8 Q/ |
2.7.1 kubectl用法概述 99' M5 u) y6 D9 C. _& \8 z
2.7.2 kubectl子命令详解 99
/ `+ d$ I ?9 w2.7.3 kubectl可操作的资源对象详解 1039 p# ~& x2 z9 O! R# n3 j/ q* G6 Z
2.7.4 kubectl的公共参数说明 105
0 l+ b0 S5 Y+ X2.7.5 kubectl格式化输出 106
/ _) K" R7 w | P+ |6 w, T1 U" O2.7.6 kubectl常用操作示例 108
0 K- j: Q% S( k" v" G6 y% E+ a5 f& _$ k, w0 S4 g) N. a S
第3章 深入掌握Pod 113
* k( i4 t8 C [; y8 m0 Z% V& y3.1 Pod定义详解 114
2 @" G4 B+ s; K. ~3.2 Pod的基本用法 120
t% _$ R6 |7 K( B3.3 静态Pod 125* t# N8 Y1 n; F# m% J3 k2 Z7 M. y
3.4 Pod容器共享Volume 126
s: H2 w, [" w, _) K) A6 [3.5 Pod的配置管理 1290 p' P9 q9 R Z
3.5.1 ConfigMap概述 1298 A' E6 O y d! @& |
3.5.2 创建ConfigMap资源对象 129
2 W7 y0 w8 l% q! a! ^3.5.3 在Pod中使用ConfigMap 137
6 K( }. U0 e% ?' R& `# \/ ~3.5.4 使用ConfigMap的限制条件 143' K2 C8 _& k" ~) ^( x7 V7 r
3.6 在容器内获取Pod信息(Downward API) 144
. ~' `+ r# t$ b0 q3.6.1 环境变量方式 1441 T) b; i$ j3 i) W
3.6.2 Volume挂载方式 148$ x) [* B3 V Y
3.6.3 Downward API支持设置的Pod和Container信息 153
$ a4 ], i+ s; b3 Q$ l3.7 Pod生命周期和重启策略 154
3 ^, w( F. G' t3.8 Pod健康检查和服务可用性检查 155% R# q" z$ R' ~9 z
3.9 玩转Pod调度 159, H. L$ f; R) I. A6 N
3.9.1 Deployment或RC:全自动调度 162
% v$ L, `9 Y9 y6 W8 l( d/ G7 f3.9.2 NodeSelector:定向调度 163( G7 u( L; ]4 A
3.9.3 NodeAffinity:Node亲和性调度 1656 u4 a9 B8 \! [) \$ N8 Y2 C
3.9.4 PodAffinity:Pod亲和与互斥调度策略 167
+ s( l7 X, U0 J+ `" W# X0 x3.9.5 Taints和Tolerations(污点和容忍) 1710 R3 f7 ~* x! z" ~& i+ a
3.9.6 Pod Priority Preemption:Pod优先级调度 176- t. ?& D' t/ h6 z( A. k
3.9.7 DaemonSet:在每个Node上都调度一个Pod 178
8 ~0 x: Y5 c% M H1 \3.9.8 Job:批处理调度 181
3 i3 m$ Q. W0 S0 K* y& D3.9.9 Cronjob:定时任务 185
4 X) ]5 R" D+ R$ U8 d3.9.10 自定义调度器 188- N( Z5 E* p% o P, Z9 Y& F7 X7 O6 B
3.9.11 Pod容灾调度 1907 k7 U( C# I- v9 {/ S( R
3.10 Init Container(初始化容器) 192
+ X* Q0 N' [3 q' P0 ^4 y& i4 V3.11 Pod的升级和回滚 196- C" `% M) K3 P- i- a) {
3.11.1 Deployment的升级 196
' N( S. r c8 y$ s$ S1 Q5 h( R3.11.2 Deployment的回滚 203" d# T7 p& J4 e8 I! f" I
3.11.3 暂停和恢复Deployment的部署操作 205
- w" t% n8 A# V" N$ {; s3.11.4 其他管理对象的更新策略 207( B1 _+ ~# H. \0 i
3.12 Pod的扩缩容 209
/ P) W& [& B6 W1 ~3.12.1 手动扩缩容机制 209
: H! \6 Z x, x* z3.12.2 自动扩缩容机制 2113 T* C: ?) d( d' b! M7 s
3.13 使用StatefulSet搭建MongoDB集群 233
X2 n8 O0 L" L# J( g3 L+ j3.13.1 前提条件 234
/ D& ~& x' p3 n- [: g3.13.2 部署StatefulSet 234
- }9 o: F* P9 q: }; |! F# a/ m) N3.13.3 查看MongoDB集群的状态 238! v/ e2 I& H8 _
3.13.4 StatefulSet的常见应用场景 241- A& i8 [- g5 K, r$ Y$ e
7 c( R6 q' f) e' K3 [" r2 w
第4章 深入掌握Service 2458 s* |6 ^* J% b" T7 g+ ^" n
4.1 Service定义详解 2463 B+ R, ~. m5 D7 s! c/ {/ q8 c: w) N
4.2 Service的概念和原理 248& k+ y! G0 [7 I# D
4.2.1 Service的概念 248; {3 B$ }0 ^& V, R5 C' x( u
4.2.2 Service的负载均衡机制 2522 R# X, C: H% W- ~, j% j
4.2.3 Service的多端口设置 254
7 a6 T2 J2 I8 {; x4 `4.2.4 将外部服务定义为Service 256. b- C" H l n' K7 y
4.2.5 将Service暴露到集群外部 257% F3 }8 E& ]$ c/ K7 g
4.2.6 Service支持的网络协议 2606 l5 s1 Q- Z6 A, G" {( d
4.2.7 Kubernetes的服务发现机制 261
% K9 t: ]7 o* y) }" b5 ?4.2.8 Headless Service的概念和应用 263) A8 f9 j5 V! z2 D9 O2 R* c
4.2.9 端点分片与服务拓扑 2654 F+ c, ] p$ @, u$ `. X' f% A
4.3 DNS服务搭建和配置指南 274
' ^1 N, y2 @) N8 d0 Y$ A4.3.1 修改每个Node上kubelet的DNS启动参数 276; p) z, ~) M7 S( D7 N% y z
4.3.2 部署CoreDNS服务 276
) k# p) }% H! r* [* x1 d8 C8 H0 U4.3.3 服务名的DNS解析 2800 E' s5 w" n9 u5 R, k* O
4.3.4 CoreDNS的配置说明 2825 B7 G Z' F2 q; h+ F" }
4.4 Node本地DNS缓存 284, d6 p! v, d, L% c, A6 B! ]' D
4.5 Pod的DNS域名相关特性 291% _( O' P/ {" @' [8 c H
4.5.1 Pod的DNS域名 291
& T% P# a* @/ {6 @+ w7 z4.5.2 为Pod自定义hostname和subdomain 292+ ]& y5 k5 V& t4 Q1 C7 b
4.5.3 Pod的DNS策略 2947 X- L. |0 U; V' _9 L$ V* q
4.5.4 Pod中的自定义DNS配置 295
7 a8 p+ @5 o9 M# r+ N3 F% s4.6 Ingress 7层路由机制 2971 r4 }1 K8 x- s/ J. O, W2 Y' j# q
4.6.1 一个完整的例子(Ingress Controller Ingress策略 客户端访问) 298
3 H' i# x9 ]; A( p3 a) B: c4.6.2 Ingress资源对象详解 309$ f7 `6 b T; F& ~
4.6.3 Ingress策略配置详解 315
/ i' B( J# }" N5 R" T% A4.6.4 Ingress的TLS安全设置 319
5 e, O' [8 _0 ^. { P: b+ g
; T6 e' E5 E0 k& _) D第5章 核心组件的运行机制 326
% b- T8 T+ j! ~+ K' M, N0 r5.1 Kubernetes API Server原理解析 327
, S+ H8 U, S9 l/ F5 f5.1.1 Kubernetes API Server概述 327
% D; S% W+ O& q: _5.1.2 API Server架构解析 3307 v! x' ]2 [! W L% b; J
5.1.3 独特的Kubernetes Proxy API接口 335
, {# B) e: F; z2 h6 q5.1.4 集群功能模块之间的通信 336
/ E2 H1 p, G( Z+ A5.1.5 API Server网络隔离的设计 338
7 a4 G8 m6 w/ R0 z6 I" @5.2 Controller Manager原理解析 339( u2 P! V8 D& _% E7 J1 r
5.2.1 副本调度控制器 340
* I1 s7 m# S' v s: e5.2.2 Node Controller 342
% a1 x: E- r* ^5.2.3 ResourceQuota Controller 3436 { k# X9 N5 j3 Z! A2 x& L- ?
5.2.4 Namespace Controller 3454 z' z% \( a- [; M8 l
5.2.5 Service Controller与Endpoints Controller 345$ p- x1 R9 y6 [
5.3 Scheduler原理解析 3461 v# O; E5 P$ q! w
5.3.1 Scheduler的调度流程 347$ g) _9 D' k. ^* h7 i( I. y/ H
5.3.2 Scheduler Framework 349
! U+ f W$ z0 W5.3.3 多调度器特性 351( u1 b2 r6 P1 u; L5 M
5.4 kubelet运行机制解析 352
/ v5 e' B0 q5 c* E5.4.1 节点管理 352 ^+ O& {0 r8 A
5.4.2 Pod管理 353
: S. y! y+ k" K7 U$ u8 q5.4.3 容器健康检查 354
6 n! Y$ L5 H' a" I5.4.4 cAdvisor资源监控 355
7 q9 o- c4 T5 c0 a" r5.4.5 容器运行时 357) [2 ]8 z- `; F* U$ q: G; a
5.5 kube-proxy运行机制解析 359
* M9 z) S0 R& P5.5.1 代Proxy 360
# F8 f4 e% J: @3 ?" o5.5.2 第二代Proxy 361
, B$ H9 i) A; @7 u+ S Z5.5.2 第三代Proxy 3627 o# D" D8 V* q9 p/ l/ I- Q
# e" E: S' x4 a+ F" s/ v第6章 深入分析集群安全机制 364
' n) \/ L6 `8 R) q& e6.1 API Server认证管理 365
6 D8 G- N& v# b: d6 | A% N# I" `6.1.1 HTTPS证书认证 366
% m# M4 W. J3 h8 y. [' P3 k* ]6.1.2 HTTP Bearer Token认证 3671 I3 [: s2 l$ ?" m% q
6.1.3 OpenID Connect Token第三方认证 368
9 t- T d6 A) \8 g8 N/ `6.1.4 Authenticating Proxy(认证代理) 372. i$ r$ T9 h% b; v
6.2 API Server授权管理 3738 P$ W3 A6 z. c2 K1 {
6.2.1 ABAC授权模式详解 374
1 Z& h4 {* G- s" m8 \# r' ]) j4 S" _2 Q6.2.2 Webhook授权模式详解 377$ }/ a% h+ T1 e: w' l) E
6.2.3 RBAC授权模式详解 380- ^) ?7 c' k0 b! P
6.2.4 Node授权模式详解 405 D0 p$ |1 Q) O4 t2 V4 x- v
6.3 Admission Control 406
5 w+ F, x0 O1 A6.4 Service Account 410- j8 T$ p: Y' z- g
6.5 Secret私密凭据 415
@+ h5 H6 K4 Q6.6 Pod安全策略 419
; Y, J9 ^% X5 ^# P' y1 Z& ^- t6.6.1 PodSecurityPolicy的工作机制 4198 c- t- f; J2 ]) p
6.6.2 PodSecurityPolicy配置详解 421
# j' U5 f) ?- V% Z" s7 ?6.6.3 PodSecurityPolicy策略示例 427
3 W4 h( i3 p9 W% A: j/ _6.6.4 PodSecurityPolicy的RBAC授权 4315 T4 G, r" M' b# f% L
6.6.5 Pod安全设置(Security Context)详解 4364 E; |( F1 T3 ?% C# [ P0 P5 U
5 e+ V" v7 d0 I5 }
第7章 网络原理 445
. j$ b! R! L ?' j8 `7.1 Kubernetes网络模型 4466 |5 P/ I$ k0 M2 K+ _) q
7.2 Docker网络基础 448
; _* S2 H N+ C) h0 x% J! i7.2.1 网络命名空间 448) [: g, Q# @: Q, }) H
7.2.2 Veth设备对 4514 e) I" H6 A, `9 e+ O6 ]/ ~( {
7.2.3 网桥 454
; M+ t7 }0 n3 j- C( m. G) J7.2.4 iptables和Netfilter 456& X7 P( w9 t; x# H+ S+ c# _
7.2.5 路由 459
& C% h$ Q4 t1 L7 P8 t8 l7.3 Docker的网络实现 461& {, H) a; c7 M; w- Q! G- K
7.3.1 查看Docker启动后的系统情况 463+ }) J! m( i+ V9 ?3 _+ k \1 t
7.3.2 查看容器启动后的网络配置(容器无端口映射) 465$ ^# H( w4 ~! |* e" x' G( B3 Z
7.3.3 查看容器启动后的网络配置(容器有端口映射) 468
; H( V7 N" X: e) H5 a9 D7.3.4 Docker的网络局限性 469
4 q+ _( W2 ?% u9 Z: V( p7.4 Kubernetes的网络实现 470, L: V) N# b9 m" c' E% |
7.4.1 容器到容器的通信 470( y0 H% e: ^! o3 H; ]" y" i
7.4.2 Pod之间的通信 471
, H" H0 S9 o/ x8 C7.5 Pod和Service网络实战 474( w& F6 \/ N7 ^, q6 s1 y! v( j) v
7.5.1 部署一个RC/Pod 476
3 q) \7 B2 @% h) }, |7.5.2 发布一个服务 481
7 h0 z, k, z# S2 ^( v& I. k7.6 CNI网络模型 489
. r; y w+ R. U% h9 N7.6.1 CNM网络模型简介 489" H! J' V: K6 E! T' H: `
7.6.2 CNI网络模型详解 490
o0 Q7 h/ c" w7.6.3 在Kubernetes中使用网络插件 507
6 o8 n) `% L! z0 Y# @7.7 开源容器网络方案 508
% I9 F* q' }7 G7.7.1 Flannel插件的原理和部署示例 508
) D. B* i! _5 P5 B% Y7.7.2 Open vSwitch插件的原理和部署示例 513
0 e4 w! p! [1 c7.7.3 直接路由的原理和部署示例 518
% Z: |. ~5 n# v& s9 S8 Y7.7.4 Calico插件的原理和部署示例 521
5 u4 _5 f1 `9 m# |+ w; Q: ?, w7.8 Kubernetes的网络策略 541' W# y, B* p, R$ `$ h9 Q
7.8.1 网络策略设置说明 542# a5 w% s0 `/ m: V& H
7.8.2 Selector功能说明 5449 a' D( X8 n3 v: q j; j$ R3 x
7.8.3 为命名空间配置默认的网络策略 5459 s; M5 C+ ~) |) H2 `. K
7.8.4 网络策略应用示例 547, f' r) B f4 q
7.8.5 NetworkPolicy的发展 550: m6 `3 }7 ?$ v: i( [: C% G4 f1 ?" q; y
7.9 Kubernetes对IPv4和IPv6双栈的支持 551
6 D0 \ @9 Q! }' q7 Q* b8 t7.9.1 为Kubernetes集群启用IPv4和IPv6双栈 551
2 {3 x* O r& _9 x) X7.9.2 Pod双栈IP地址验证 554
4 A) L# U- z- H, X( s7.9.3 Service双栈IP地址验证 557
4 p" r! B/ G* y/ a
& l) J- {4 i' n& }+ S, Y8 g0 A第8章 存储原理和应用 560
9 x# ]% d b) b; N4 g- B8.1 Kubernetes存储机制概述 561) H2 s- t ?6 F; t9 j( Z0 b( O
8.1.1 将资源对象映射为存储卷 5625 M7 R8 E7 E* d) y" W# {
8.1.2 Node本地存储卷 569
- d: m" K4 {6 g& j$ Z) i8.2 持久卷(Persistent Volume)详解 573
5 c% M% r/ G# v/ k8.2.1 PV和PVC的工作原理 574
# O- s! L( p) U ?8.2.2 PV详解 581
7 L1 o( m+ M" f+ ^1 [4 V0 z8.2.3 PVC详解 587
7 i' ^5 }- y5 l$ |5 y" E8.2.4 Pod使用PVC 5893 h* S1 P, d& n# y+ {
8.2.5 StorageClass详解 593
8 g. c* F) f/ P. w% r7 S# M8.3 动态存储管理实战:GlusterFS 600* p; w4 ?6 i4 N5 h' m' ^8 k* F
8.3.1 准备工作 600
9 F9 j( d7 ]- [0 n0 l; i8.3.2 创建GlusterFS管理服务容器集群 600
% j& s. g( F" r6 B8 C4 W8.3.3 创建Heketi服务 603
R5 ]3 _# F4 T3 J, N: Q& V$ B8.3.4 通过Heketi管理GlusterFS集群 607% Z- ~% Z# }8 _7 z
8.3.5 定义StorageClass 610
n3 k2 F3 ?, m7 r% {8.3.6 定义PVC 610
4 l4 l! v- n9 j+ q% i8.3.7 Pod使用PVC的存储资源 613
, Q- I% W2 H- K3 J% N8.4 CSI存储机制详解 614
2 n4 [- q0 h" S& B) m, M5 u# j8.4.1 CSI的设计背景 6144 h. n" e& |! s, b* [7 @, Z
8.4.2 CSI的核心组件和部署架构 615
( [' N) C L( ^* r8.4.3 CSI存储插件应用实战 617$ y" J+ S- |8 k( Z) I
8.4.4 CSI存储快照管理 632. T3 [$ P5 }& ? [
8.4.5 CSI的发展 6389 n# v3 l# f. C( P \
& ]8 {( R9 s- m* ]第9章 Kubernetes开发指南 647
T& Z& d& }" r3 t 百度云盘下载地址:
) L, D6 y: B }6 g9 [! M
2 Z2 W3 H2 \/ v; _) e网盘地址回帖可见,无任何套路!- ^5 Y! W! O P8 l! M- J
5 ] W' w! Y. p0 m/ p( Y4 F
( G9 F: G5 J# N1 @! s7 B
% u4 p* v! F3 U) u; K |
|