|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《容器云运维实战——Docker与Kubernetes集群》! w) i; Z* s& y- M
java电子书推荐理由: 本书围绕当前容器云运维的主流框架:Docker、Kubernetes详细介绍了容器云运维的实战技巧,在内容上分为三大部分:*部分(第1~2章)介绍了在Linux系统中传统服务器运维的基础知识以及集群管理工具;第二部分(第3~7章)讲解了以Docker为主的容器引擎的基本知识与原理,并介绍了容器技术在DevOps中的实际应用场景;第三部分(第8~9章)详细讲解了基于Kubernetes的容器云集群运维技巧。全书几乎囊括了容器云主流的运维开发生态,详细讲解了基于容器云的集群运维解决方案。本书适合容器云初学者,也适合那些对Docker有一定了解,但对容器云的运维方式不甚了解的读者。
2 m$ w2 W2 f, H+ y作者:黄靖钧! Q: @( V3 D/ q3 v
出版社:电子工业出版社
7 r3 |3 w5 |1 ~8 B1 K出版时间:2019年02月
/ `; V. e" u$ g+ r+ B5 z书籍价格:89.0元. U( _; [% U4 G& h$ s- @0 ~
" y0 h8 G# y8 g D
, t5 ^- [( g5 J/ G" X& i0 F' k- m) L. t2 r
java电子书目录:4 W% J1 R; s2 i( {" L
第1章 Linux 运维基础 13 w9 t9 s( e5 Q, a* S+ O" o$ P% i0 @
1.1 Linux基础 2" K3 K, w2 p; B; P$ g( y6 y
1.1.1 systemd 2
. P$ J$ m- u1 j. F0 j/ ^7 X' ^1.1.2 Shell脚本 6% d1 p. O8 O* P% K: a% i, u; f
1.2 自动化运维 14
/ E/ j8 S: r4 `: w: i1.2.1 自动化运维之Ansible 14
7 D6 h$ i$ j6 q; O, b: n# {8 [1.2.2 Ansible的使用 16" \' J& |6 `4 W2 N# |
1.2.3 Ansible模块 23
: `5 F$ Y" H6 ]7 c. ]5 S3 @1.2.4 playbook 27
5 t8 _, K2 Q [/ z1.3 本章小结 38 U6 a" B- V. @
第2章 高可用的Linux集群 39: [6 _5 z# O# h1 Z
2.1 高可用集群基础 40
1 \/ T% R$ C7 s2.1.1 高可用衡量标准 40# G# w9 E$ Q X0 E% [/ J2 O0 q U
2.1.2 高可用层次结构 40
. u, @" j7 Y( y; w2.1.3 常见的高可用方案 411 h9 t) S% }% g! o2 @
2.2 虚拟服务的实现 44
) \1 z) z3 w3 P+ L; L, W6 Y7 u2.2.1 DNS轮询 44. F( k# T* o, v1 i
2.2.2 客户端调度 45
- ~$ ?+ ?( \, k6 U, }6 W2.2.3 应用层负载调度 46
1 ]/ G6 a+ ~- J( j2.2.4 IP层负载调度 466 L; Y6 u- x" t( s* r( p& B5 _0 O
2.3 LVS负载均衡 464 I2 ?' y. k; B: B, W# e+ ~
2.3.1 LVS体系结构 47! N; F% w# ^# r1 x( B+ N8 u+ k
2.3.2 IP负载均衡 486 i) V0 L( b- x% ]1 p0 G4 d
2.3.3 负载调度算法 546 {' _8 w2 }5 @8 P
2.3.4 ipvsadm工具详解 56
$ p- Z! t4 x7 U( a2.3.5 LVS集群实践 58
- e9 C* q/ i8 }9 u2.4 Nginx负载均衡 63
$ g |( n& S2 @! A5 H5 D2.4.1 Nginx配置文件详解 63' T7 \% {4 S/ }" w* ]
2.4.2 Nginx负载均衡模块 68 z( u+ n5 s- [( k
2.5 本章小结 75
6 ?% ]: j0 T' S! ~% R
2 ~+ ~6 x9 \/ G* i第3章 Docker容器引擎 76
. D- p& x4 H f. g( G3.1 容器技术 77+ Q* V9 J; Z+ b$ R. |
3.1.1 虚拟化技术 77
7 T: L$ T0 T3 P! b/ z$ e3.1.2 容器技术与Docker 79
P5 _' M4 f! _. l3 [# A# S3 R3.1.3 容器技术原理 845 ~* G5 G9 H0 ^# h! q2 E; h- g+ F
3.2 Docker基础 89
) J) H G# Y' E% P7 P3.2.1 Docker架构 89( P2 I! U4 d/ b, F4 L7 I5 z! m3 l
3.2.2 Docker安装 91- Z7 r4 K# w; L8 e, ^* R% A- L
3.2.3 Docker命令 96
& q* g; e9 R5 V( t3.3 Docker镜像 97
' b6 T, X0 W* U5 q3.3.1 认识镜像 97/ `8 y3 e( f" ~( l- M5 @; x
3.3.2 镜像操作 99/ n& p6 c+ E7 S6 p; X7 c/ K, b
3.3.3 Dockerfile详解 103& S8 v" M7 G8 P) l* q2 Z
3.3.4 镜像仓库 118, U3 S* @$ y+ F
3.4 Docker容器 121, D9 A' _% N) y; M
3.4.1 认识容器 121
- O$ t7 L# B( O* U8 [* |- L* _3.4.2 容器操作 123
, O0 t( g6 C' r3.4.3 数据卷 134
5 j% t+ P( K M8 S0 t7 E6 K( D3.5 插件与存储驱动 138/ ^# _1 [; z" b. a- c+ U/ B
3.5.1 Docker插件 138: \% I2 n1 m+ h9 D" G
3.5.2 存储驱动 1393 f( z3 \4 W! N, ^
3.6 容器与操作系统 140
6 ~* P1 t) q2 `% v3.6.1 为容器而打造:Container Linux(CoreOS) 140
0 G4 i; [" J* G/ [! a: ]) ]3.6.2 定制化容器系统:RancherOS 142
3 z$ l) A) s a c/ _$ K4 Z9 P6 `3.7 本章小结 1435 ]6 r, f8 o: m) T1 g4 p% `
6 z8 e+ m5 p0 ?, r第4章 容器网络 144
' m* T' _( V8 t; v9 }* g2 t4.1 Docker网络基础 1454 K7 U) S- i$ w3 y L
4.1.1 端口映射 145
9 L% g/ M7 ?4 m5 q4.1.2 端口暴露 146
. V9 c. I2 S# r/ Y( X% b4.1.3 容器互联 1473 x& Y" N1 ~& _ q% \9 T6 h
4.2 Docker网络模式 152
; B! k) ^9 f) r7 E" n) l! b4.2.1 none模式 1523 z" w* i( z0 s2 b; M/ z
4.2.2 container模式 1548 Y4 P3 H5 u! M$ Y/ ]2 s
4.2.3 host模式 155" _/ m3 p5 X# D/ l: d( r- J
4.2.4 bridge模式 156
& `$ D" t" q- T$ r4 V0 W; Q& M& j4.2.5 overlay模式 157
L" [6 _" t, P( [4.3 Docker网络配置 158
5 p3 k1 a1 F) P& j7 C$ e& r4.3.1 Daemon网络参数 158 Y: S* {0 M1 q+ W' f
4.3.2 配置DNS 159
9 o: p& E5 i6 X8 z4.4 本章小结 159( \) R% }! P! h5 k } x5 e$ T
) p+ `" O: z/ b2 c0 O* u/ V4 W第5章 容器编排 160
& ~$ {% N3 y; {! g8 @5.1 安装Docker Compose 161
# ^* A& }2 w/ G2 K7 o5.1.1 二进制安装 1613 p* P o# ~7 O. z/ R8 p
5.1.2 使用Python pip安装 161
; H( v. Y4 h4 N' n5.2 Compose命令基础 162
5 P# L% g; m6 \$ I" R6 v% Q# c5.2.1 指定配置文件 162
. w" Y/ {7 U9 T2 a5.2.2 指定项目名称 163
) Z' b/ b. c4 K% e' P, q5.2.3 Compose环境变量 1634 V' E+ [- O1 Z/ y) X t' V
5.2.4 build:构建服务镜像 1647 e* F2 h3 @& z# w" ~* F1 \
5.2.5 bundle:生成DAB包 165
) N: c( N. o4 _5.2.6 config:检查配置语法 165
# c7 T; @# K h6 n+ z$ A, I5.2.7 create:创建服务容器 166. e6 d% T& I& v) r/ G& w
5.2.8 down:清理项目 167, x" Y# G. Q4 H- G2 g2 w
5.2.9 events:查看事件 168
$ A& v H: S2 I& D' C5.2.10 exec:进入服务容器 168
( z* j5 {7 v2 U' u' P- s- Q% Y8 ^5.2.11 kill:杀死服务容器 169
" r; {1 H. j* _! j5.2.12 logs:查看服务容器日志 169$ B8 F, @* b* o" v
5.2.13 pause:暂停服务容器 170
1 g+ S9 h$ o5 w2 t5.2.14 port:查看服务容器端口状态 170
3 `& }7 A( x% I5 Z) i0 p5.2.15 ps/images:查看容器与镜像 171
4 J/ D7 e; T p2 S o" _) W$ H5.2.16 pull:拉取项目镜像 172
$ P5 X2 o9 Z5 o5.2.17 push:推送项目镜像 172* o& P; ^# `1 x7 G+ y; ^
5.2.18 restart:重启服务容器 173
: ~4 U$ c8 R6 d, }0 Q) I9 S0 E5.2.19 rm:删除项目容器 173
4 _. i1 [; }, L8 ]5.2.20 run:执行一次性命令 174( t- O( v8 Y* q1 e# Q
5.2.21 scale:设置服务容器数量 177
) `# p( T$ F* ]6 L0 |/ {5.2.22 start:启动服务容器 178
" {/ S2 Q4 D( X, N6 G5.2.23 stop:停止服务容器 178
: J! n, O0 `1 K& `5.2.24 top:查看进程状态 1785 `' ?8 B* h& z; n, t, e
5.2.25 unpause:取消暂停 179
5 F4 B1 t, W9 C0 I) e8 q* m( x& s) P5.2.26 up:启动项目 179
4 O( Z, m2 D" z5.3 Compose配置文件 183
; H8 l. W. |8 O) v8 ]* {& D5.3.1 配置文件基础 183 y% V o7 c3 }1 w
5.3.2 基本配置 1841 _9 w2 u3 y2 g n) W% t
5.3.3 网络配置 199
0 }7 U6 C! o) T9 ^5.3.4 配置扩展 200
8 B% D! Q& d4 P% l A! @+ K5.4 Compose实战 204
" h l* {. @2 E6 ]! S5.4.1 WordPress博客部署 204
8 A2 Q+ J; l0 a, G4 X) T5.4.2 Django框架部署 205
2 |, [- m, i6 O- h* x5.5 本章小结 207
) C* v" K# A0 S# ?$ d
$ q9 @ `. b D8 L6 Q第6章 Docker集群管理 208$ v) d7 P5 o5 f- E. ~/ V4 Z
6.1 Swarm 基础 2098 l' K8 B8 [/ r# f. F0 h
6.1.1 Docker Swarm 命令 209$ F& `5 W% y8 L% `8 g
6.1.2 Docker Node 命令 211- i& Y$ y' q6 W9 F8 `& V( y
6.1.3 Docker Stack 命令 213% n" g0 V& F# N/ D* S' M
6.1.4 Docker集群网络 214! ` u& ?; J( T2 X: e2 F
6.2 集群进阶 2236 M# E6 Y5 g" t, B( g3 g; q
6.2.1 Swarm:高可用的Docker集群管理工具 223$ ]. S/ v8 J* V) Q
6.2.2 Shipyard:集群管理面板 225
& O& w4 v+ @$ `# d7 \6 T( Z6.2.3 Portainer:容器管理面板 227
$ t z* U- o! Q# S7 Q# W) y6.3 本章小结 229
Q! n9 r0 ?1 j, o; `2 k# K/ v9 Z) P/ l! e* O. ^5 i2 n, G# L9 b4 U
第7章 Docker生态 230
9 h! T, W- I/ [7.1 宿主管理工具:Machine 231
" J( o; R; a+ q9 v7.1.1 Machine的安装 231
9 a. K; o S: J) ?7.1.2 宿主环境管理 231# `# U& m+ C# ?9 }- P5 K" J0 [
7.2 容器编排调度 2338 C; W! M* Q* R' w) s" x
7.2.1 Rancher:集群管理面板 233
- U( I: R( o. d( O5 s7.2.2 Nomad:行业领先的调度系统 235
7 P( Q, J) W" \. g% O7.2.3 DC/OS:一切皆可调度 237
( I+ j J" b4 Z d6 {" Z7.2.4 服务发现 238
8 e; w$ v8 B9 f3 N# e7.3 私有镜像仓库 239- f0 K$ F2 e( e! C1 b' d' m9 Z
7.3.1 私有仓库的部署 239
3 o8 S. Y+ n/ _5 p9 j7.3.2 VMware Harbor:企业私有; C8 O) X. X+ n
仓库 2506 T* w; S$ Y4 T m, w5 I" V( h. v4 ~
7.3.3 SUSE Portus:镜像仓库前端5 k0 i; D/ z7 I5 A5 m
分布认证 254' X9 |1 F: s: M3 l0 D
7.4 Docker插件 2569 V6 o* U) A. l
7.4.1 授权插件 2560 @: L6 p2 u- h
7.4.2 Flocker存储插件 257
, O. C$ [( [2 i7.4.3 网络驱动插件 257' @8 E7 O* i' Z7 A7 e# I% ~7 G; H! b
7.5 Docker安全 259
/ f4 t- F8 g* \; u+ \& l5 f7.5.1 Docker安全机制 259* h i7 ]7 r) o, r' d
7.5.2 Docker资源控制 2615 L/ C. k: `3 k6 @$ t5 M. z
7.5.3 Docker安全工具 264% k7 C! U) c2 T n5 W# X
7.6 监控与日志 2659 h" ^ x: k ?5 s- }* d2 A% C
7.6.1 cAdvisor:原生集群监控 2653 o9 n7 z) M& c( ^
7.6.2 Logspout:日志处理 2665 n: {9 P3 X4 Q5 y9 {
7.6.3 Grafana:数据可视化 267
* o& f. I" Y% E6 s; a* W- T E7.6.4 其他监控工具 2699 d2 F8 W: h0 z! O( r9 o
7.7 基于Docker的PaaS平台 270
1 _& q1 j) g+ Q; Q" ?' t: V7 X7.7.1 Deis:轻量级PaaS平台 270
' x# H! O) [' C6 U0 `$ q* N7.7.2 Tsuru:可扩展PaaS平台 270
& s h) A4 K7 k1 \, J l, n6 D7.7.3 Flynn:模块化PaaS平台 271
3 s( g; E* H8 X, X7.8 Docker持续集成 271
+ a9 T, h, |/ [, o- h5 @3 e4 E7.8.1 Drone:轻量级CI工具 271* u& _7 }: }# s& d
7.8.2 Travis CI:著名的CI/CD
% O; E. D$ b, [+ i3 o服务商 2739 u4 q+ ?: @0 J: H- o
7.9 其他 2742 a6 \( F+ }: ?
7.10 本章小结 276
% \" M/ z3 w& ~' e& e4 K. z& H( h, c& N; @+ Y' O
第8章 Kubernetes入门 277
- ^5 K7 c* m* @) ~0 s' @& [- D8.1 Kubernetes介绍 278
. ?% f2 q- @3 Z, V) n4 I. u d4 _8.1.1 什么是Kubernetes 278/ k0 V. ^$ y6 f4 F6 w
8.1.2 Kubernetes架构 278
: F; l! t% I0 }9 g! A1 T1 T# Z8.1.3 Kubernetes的优势 280, \+ n) C u7 Z1 [6 W
8.2 Kubernetes概念 281
3 |: y& {* h1 t& v: N" @- @8.2.1 Kubernetes资源 281% c. H% H6 {% ?! e! ?% u
8.2.2 调度中心:Master 281
" M9 M7 `$ p" D8.2.3 工作节点:Node 281
( |) J* ]4 l0 d6 ~ O& {8.2.4 最小调度单位:Pod 283
. Y! b4 E' c0 q0 I+ v8.2.5 资源标签:Label 284
: X" M s$ D1 Z# z: ?% @2 ^8.2.6 弹性伸缩:RC与RS 286
9 C1 G1 r- U- [8.2.7 部署对象:Deployment 287
5 @! J0 r2 G, d8.2.8 水平扩展:HPA 288
8 h- y" }/ F+ e! Y0 [4 x4 H8.2.9 服务对象:Service 290
5 b! B% `4 a* f- p8.2.10 数据卷资源:Volume 293
/ Y2 i& @3 F" I- L7 o4 p8.2.11 数据持久化:Persistent & e# y% f: R4 z% B) n( d
Volume 299
# _5 c8 C/ b' a) _8.2.12 命名空间:Namespace 304
+ o8 U/ k8 R8 x& E7 p4 d- ^* p8.2.13 注释:Annotation 304
) _5 s) p* W. S, ?$ ?: T- C; I. P8.3 Kubernetes部署 3051 b, ^3 |/ ?$ U: O) z
8.3.1 使用Minikube安装Kubernetes 305
{1 W( [% H1 z+ L% | d% }7 o5 i8.3.2 使用Kubeadm安装Kubernetes 307' p$ A+ x5 C' y# l7 a
8.4 Kubernetes命令行详解 309( a% n0 ?: @, Y2 P: a8 O
8.4.1 基本命令(初级) 310
! y+ f* M$ `2 `# r+ Z# |) F8.4.2 基本命令(中级) 318
/ m, m' d& g2 X. l8.4.3 部署命令 3203 q, P$ j) U$ U5 _! m
8.4.4 集群管理命令 3230 g }' C. ^% N
8.4.5 故障排除与调试命令 326
% c0 O/ m5 \+ R8.4.6 高级命令 329
5 A: R+ u' _2 m7 ~8.4.7 设置命令 330: h1 a$ b( s" c" P) n' i0 K/ M" u. Z
8.4.8 其他命令 332
0 w( u) m* \% j; g2 \- t8.4.9 kubectl全局选项 334; ]( X# Q# @$ V- n
8.5 本章小结 335
0 U9 k# H. n; z2 b$ M2 v, l4 e3 e3 i# ]! J0 O A
第9章 Kubernetes运维实践 336
, h* n" O; p* T- k9.1 Pod详解 337) g; B' R6 s9 p
9.1.1 Pod配置详解 3373 d! I" A0 W1 y# n
9.1.2 Pod生命周期 340
) l+ y3 u, s: W9.1.3 共享Volume 343
! E% @) i( G2 B9.1.4 Pod配置管理 343
4 @. _6 S7 P) ]' l$ d" c" l. c9.1.5 Pod健康检查 346
& }( N# z8 h5 K1 f8 P0 ?9.1.6 Pod扩容和缩容 348
2 j, X, E+ X. x* f; D% _) J/ ~9.2 Service详解 349
: o5 m! g9 V/ }2 L& H m9.2.1 Service的定义 349+ o3 O4 K# r, v, {0 [6 Z. e4 y
9.2.2 Service的创建 350! T" d5 g; p- `. C8 _
9.2.3 集群外部访问 351
% C3 b4 Y! H ?' k% M9 r/ b4 z# I9.2.4 Ingress负载网络 353" k* ]- h) w$ x% m
9.3 集群进阶 355- \4 X, u" B$ M2 F$ {
9.3.1 资源管理 355& A- O+ W4 N' t8 O* j4 [% u
9.3.2 kubelet垃圾回收机制 359
& N: _+ k1 f6 a1 D# N. @1 X9.4 监控与日志 359
; f0 G Q: K; b, A [9.4.1 原生监控:Heapster 359
. m: _, B4 I# {7 I3 {; Y9.4.2 星火燎原:Prometheus 360
- M! M0 V/ a4 S9.4.3 王牌组合:EFK 366; }7 h- M4 u y2 q9 N' F2 @7 H: |
9.4.4 后起之秀:Filebeat 3741 x. t/ ]" H: g
9.5 本章小结 376
4 H" x( x# _: b \
+ I2 V5 |* E4 A, \% ~' jJava资料百度网盘下载地址链接(百度云):容器云运维实战 Docker与Kubernetes集群@www.javazx.com.pdf【密码回帖可见】$ i6 r2 b) E% M: Z3 E
e/ O/ J* L0 C; X. h3 J, ?% z% _# z, p; H& I
- H: t: s0 X) M% @9 f. b
7 M8 e! f4 G* M5 c+ j" I
" q; s( c4 ^$ ]
* d* G8 q( b# l |
|