IAAS部分主要介紹虛擬化:包括計算虛擬化。存儲虛擬化,網(wǎng)絡(luò)虛擬化結(jié)合OpenStack分析這些技術(shù)如何實現(xiàn)以及落地。PAAS部分介紹docker、kubernetes以及容器管理平臺的設(shè)計和實現(xiàn)最后介紹當(dāng)下流行的devops技術(shù),以及云原生應(yīng)用個規(guī)范以及如何在PAAS平臺上部署。
陳曉宇,北航碩士畢業(yè),多年互聯(lián)網(wǎng)以及能源和金融行業(yè)云平臺的設(shè)計和研發(fā),現(xiàn)任宜信基礎(chǔ)研發(fā)部容器平臺架構(gòu)師,CSDN博客專家,并參與多個云計算開源軟件的代碼貢獻(xiàn)。參與kubernetes用戶大會并擔(dān)任講師。曾發(fā)表多篇關(guān)于容器云相關(guān)blogflannel系列:https://blog.csdn.net/u010278923/article/details/70597548kubernetes存儲系列https://blog.csdn.net/u010278923/article/details/78908905Kubernetes監(jiān)控:https://blog.csdn.net/u010278923/article/details/78894652Kubernetes源碼分析https://blog.csdn.net/u010278923/article/details/78707645還有harbor等多個相關(guān)系列文章
第1章 云計算概覽 1
1.1 云計算的定義 1
1.2 云計算的發(fā)展 2
1.3 云計算的分類 3
1.3.1 IaaS 3
1.3.2 PaaS 3
1.3.3 SaaS 4
1.3.4 私有云 5
1.3.5 公有云 6
1.3.6 混合云 6
1.4 云計算架構(gòu) 7
1.4.1 部署架構(gòu) 7
1.4.2 架構(gòu)設(shè)計 8
1.5 云計算中的關(guān)鍵技術(shù) 9
1.5.1 異構(gòu)資源管理 9
1.5.2 虛擬化 9
1.5.3 資源調(diào)度 10
1.5.4 自定義網(wǎng)絡(luò) 11
1.5.5 安全與高可用 12
1.6 云計算的優(yōu)勢 12
1.7 云計算面臨的風(fēng)險和挑戰(zhàn) 13
1.8 AWS 13
1.8.1 IAM 14
1.8.2 EC2 14
1.8.3 AMI 14
1.8.4 EBS 16
1.8.5 VPC 16
1.8.6 S3 16
1.9 相關(guān)概念 17
1.9.1 并行計算 17
1.9.2 網(wǎng)格計算 19
1.9.3 邊緣計算 20
第2章 虛擬化與IaaS 23
2.1 虛擬化定義 23
2.2 虛擬化優(yōu)勢 25
2.3 IaaS 26
2.3.1 資源管理 26
2.3.2 監(jiān)控和告警 28
2.3.3 用戶權(quán)限 28
2.3.4 安全管理 28
2.3.5 計量與計費 29
第3章 計算虛擬化 30
3.1 CPU虛擬化 31
3.2 內(nèi)存虛擬化 32
3.3 常用計算虛擬化軟件 35
3.3.1 VMware 35
3.3.2 Xen 37
3.3.3 Hyper-V 38
3.3.4 KVM 38
3.4 Libvirt 39
3.5 KVM相關(guān)介紹 40
3.5.1 KVM安裝 40
3.5.2 KVM虛擬機啟動 41
3.5.3 KVM運維 49
3.5.4 KMV遷移 59
3.5.5 KVM克隆 60
3.5.6 KEM優(yōu)化 60
3.6 鏡像格式轉(zhuǎn)換 60
3.6.1 ova轉(zhuǎn)raw 60
3.6.2 raw轉(zhuǎn)qcow2 61
3.7 初始化虛擬機神器cloud-init 61
3.7.1 基本概念 62
3.7.2 cloud-int原理 63
第4章 存儲虛擬化 64
4.1 存儲虛擬化定義 64
4.2 存儲虛擬化演進 64
4.3 存儲基礎(chǔ)知識拾遺 66
4.3.1 存儲介質(zhì) 66
4.3.2 RAID 69
4.3.3 存儲總線 70
4.3.4 iSCSI協(xié)議 72
4.3.5 文件系統(tǒng) 73
4.4 存儲分類 74
4.4.1 塊存儲 75
4.4.2 文件存儲 75
4.4.3 對象存儲 76
4.5 分布式存儲架構(gòu) 77
4.6 開源存儲 78
4.6.1 Ceph 78
4.6.2 Minio 85
4.7 華為FusionStorage 89
4.8 其他存儲系統(tǒng) 91
第5章 網(wǎng)絡(luò)虛擬化 93
5.1 網(wǎng)絡(luò)虛擬化定義 93
5.2 網(wǎng)絡(luò)虛擬化的優(yōu)勢 94
5.3 網(wǎng)絡(luò)基礎(chǔ)拾遺 95
5.3.1 網(wǎng)絡(luò)分層 95
5.3.2 Linux收發(fā)包流程 96
5.3.3 VLAN 97
5.4 數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu) 98
5.5 隧道技術(shù) 100
5.6 虛擬網(wǎng)絡(luò)設(shè)備 103
5.6.1 TAP/TUN設(shè)備 103
5.6.2 veth 106
5.6.3 Linux網(wǎng)橋 107
5.6.4 Open vSwitch 108
5.7 SDN 112
5.7.1 OpenFlow解析 113
5.7.2 常見的SDN控制器 117
5.7.3 SDN和網(wǎng)絡(luò)虛擬化 120
5.7.4 SDN的未來 120
第6章 OpenStack 121
6.1 OpenStack簡介 121
6.2 Devstack啟動 122
6.3 整體架構(gòu) 123
6.3.1 Horizon 124
6.3.2 Keystone 125
6.3.3 Nova 128
6.3.4 Cinder 130
6.3.5 Neutron 131
6.3.6 Glance 135
6.3.7 Swift 135
6.4 CloudStack 139
第7章 Docker容器 143
7.1 容器的定義 143
7.2 容器和虛擬機的區(qū)別 144
7.3 Docker是什么 148
7.4 Docker的優(yōu)勢 149
7.4.1 環(huán)境一致性 149
7.4.2 資源隔離和限制 151
7.4.3 快速部署 151
7.5 Docker鏡像 151
7.6 Docker 為什么火起來了 152
7.7 Docker安裝部署 152
7.7.1 Docker在Linux上的部署 153
7.7.2 Docker在Windows上的部署 154
7.7.3 Docker在MAC上的部署 155
7.8 Docker常用命令 155
7.9 Dockerfile 162
7.10 Docker進階 168
7.10.1 Direct-lvm 168
7.10.2 高級命令 168
7.10.3 Docker注意事項 172
7.10.4 Docker接口調(diào)用 175
7.10.5 Docker的網(wǎng)絡(luò)方案 177
7.10.6 Docker安全 179
7.11 Docker架構(gòu)和源碼分析 179
7.11.1 Docker 架構(gòu)分析 179
7.11.2 runc源碼分析 183
7.11.3 鏡像構(gòu)建源碼分析 189
7.12 Pouch 195
7.13 Kata containers 196
7.14 Go語言 197
第8章 Docker實現(xiàn)原理 199
8.1 cgroup 199
8.1.1 CPU 199
8.1.2 內(nèi)存 204
8.1.3 磁盤 206
8.1.4 PID 207
8.2 namespace 208
8.2.1 PID namespace 209
8.2.2 Network namespace 211
8.2.3 UTS namespace 215
8.2.4 IPC namespace 216
8.2.5 Mount namespace 216
8.3 Union Filesystem 217
8.4 chroot和pivot_root 220
8.5 50行代碼創(chuàng)建一個簡單的容器 221
第9章 Kubernetes基礎(chǔ) 224
9.1 Kubernetes概覽 224
9.1.1 Kubernetes起源 224
9.1.2 Kubernetes發(fā)展 224
9.2 Yaml格式與聲明式API 226
9.2.1 散列表 226
9.2.2 數(shù)組 226
9.2.3 復(fù)合結(jié)構(gòu) 227
9.2.4 聲明式API 227
9.3 Kubernetes資源定義 229
9.3.1 Pod 229
9.3.2 Deployment和ReplicaSet 231
9.3.3 Service和Endpoint 233
9.3.4 PVP和VC 234
9.3.5 Configmap和secret 235
9.3.6 Job 235
9.3.7 namespace 236
9.4 Kubernetes物理資源抽象 236
9.5 Kubernetes資源限制 238
9.5.1 內(nèi)存 238
9.5.2 CPU 240
9.6 Kubernetes編譯 241
9.7 Kubernetes安裝 241
9.8 Kubernetes運維 246
9.8.1 Kubectl常用命令 246
9.8.2 Etcd監(jiān)控和備份 248
9.8.3 節(jié)點維護 249
第10章 Kubernetes進階 250
10.1 Kubernetes組件分析 250
10.1.1 Apiserver 251
10.1.2 Controller manager 253
10.1.3 Scheduler 253
10.1.4 Kubelet 255
10.1.5 Kube-proxy 256
10.2 將數(shù)據(jù)注入容器 258
10.2.1 環(huán)境變量 258
10.2.2 配置文件 259
10.3 Pod生命周期 260
10.3.1 Initcontainer 260
10.3.2 探針 261
10.3.3 PostStart和PreStop 262
10.4 Kubernetes CNI 264
10.4.1 CNI規(guī)范 264
10.4.2 Calico 269
10.4.3 Flannel 271
10.4.4 Bridge+vlan 279
10.4.5 容器固定IP 280
10.5 Kubernetes CRI 281
10.6 Kubernetes CSI 285
10.7 Kubernetes高級特性 290
10.7.1 CRD 290
10.7.2 動態(tài)準(zhǔn)入控制 293
10.7.3 QoS 295
10.7.4 專用節(jié)點 298
10.8 Kubernetes源碼情景分析 301
10.8.1 優(yōu)先級調(diào)度 301
10.8.2 Docker鏡像下載認(rèn)證流程 304
10.8.3 Kubelet啟動Pod 306
10.8.4 Pod回收順序 309
10.8.5 存儲回收 310
10.8.6 動態(tài)伸縮 312
10.8.7 ConfigMap子路徑掛載 313
10.9 上Kubernetes,你需要三思 319
10.10 其他容器管理平臺 319
10.10.1 Rancher 320
10.10.2 Mesos和Marathon 321
第11章 Kubernetes生態(tài)圈 323
11.1 Prometheus 323
11.2 KubeDNS&CoreDNS 325
11.3 Filebeat 327
11.4 Harbor 329
11.5 Dragonfly 331
第12章 PaaS平臺 334
12.1 服務(wù)和應(yīng)用管理 335
12.2 監(jiān)控告警 335
12.3 日志管理 337
12.4 鏡像管理 338
12.5 CICD 339
12.6 PaaS平臺在宜信落地實踐 340
12.6.1 服務(wù)編排和管理 340
12.6.2 nginx自助管理 343
12.6.3 多集群管理 344
12.6.4 網(wǎng)絡(luò)方案 346
12.6.5 CodeFlow 346
12.6.6 日志 348
12.6.7 監(jiān)控 349
12.6.8 Kubernetes實踐 350
第13章 云原生應(yīng)用 352
13.1 CNCF 352
13.1.1 簡介 352
13.1.2 KSCP 352
13.1.3 CNCF項目 353
13.2 云原生應(yīng)用規(guī)范 354
13.2.1 微服務(wù) 354
13.2.2 DevOps 359
13.2.3 容器化 361
13.2.4 云原生項目概覽 362
13.3 Service Mesh 363
13.3.1 Envoy 364
13.3.2 Istio 367