|
-- 會員 / 註冊 --
|
|
|
|
Kubernetes進階實戰 ( 簡體 字) |
作者:馬永亮 | 類別:1. -> 作業系統 -> 虛擬機(VMWare) |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 50504 詢問書籍請說出此書號!【缺書】 NT售價: 545 元 |
出版日:12/1/2018 |
頁數:442 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111614456 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:全書分為3篇。第壹篇詳細講解Kubernetes系統基礎架構及核心概述,并提供一個Kubernetes快速部署和應用的入門指南。第二篇剖析分Kubernetes系統的核心組件,對Pod、Controller、Service、Network Policy、Volume、ConfigMap和Secret等都有著深入講解。第三篇主要關注實際應用,以DevOps為主線講解Kubernetes在企業落地應用的解決方案示例。
|
目錄:第1章Kubernetes系統基礎 1 1.1容器技術概述 1 1.1.1容器技術的功用 2 1.1.2容器簡史 3 1.1.3Docker的功能限制 4 1.2Kubernetes概述 4 1.2.1Kubernetes簡史 4 1.2.2Kubernetes特性 5 1.2.3Kubernetes概念和術語 6 1.3Kubernetes集群組件 10 1.3.1Master組件 10 1.3.2Node組件 12 1.3.3核心附件 13 1.4Kubernetes網絡模型基礎 13 1.4.1網絡模型概述 13 1.4.2集群上的網絡通信 15 1.5本章小結 16 第2章Kubernetes快速入門 17 2.1Kubernetes的核心對象 17 2.1.1Pod資源對象 18 2.1.2Controller 19 2.1.3Service 20 2.1.4部署應用程序的主體過程 21 2.2部署Kubernetes集群 22 2.2.1kubeadm部署工具 22 2.2.2集群運行模式 24 2.2.3準備用于實踐操作的集群環境 25 2.2.4獲取集群環境相關的信息 26 2.3kubectl使用基礎與示例 26 2.4命令式容器應用編排 29 2.4.1部署應用(Pod) 30 2.4.2探查Pod及應用詳情 33 2.4.3部署Service對象 36 2.4.4擴容和縮容 38 2.4.5修改及刪除對象 40 2.5本章小結 41 第3章資源管理基礎 42 3.1資源對象及API群組 42 3.1.1Kubernetes的資源對象 43 3.1.2資源及其在API中的組織形式 46 3.1.3訪問Kubernetes REST API 48 3.2對象類資源格式 49 3.2.1資源配置清單 50 3.2.2metadata嵌套字段 51 3.2.3spec和status字段 52 3.2.4資源配置清單格式文檔 53 3.2.5資源對象管理方式 54 3.3kubectl命令與資源管理 56 3.3.1資源管理操作概述 56 3.3.2kubectl的基本用法 57 3.4管理名稱空間資源 59 3.4.1查看名稱空間及其資源對象 60 3.4.2管理Namespace資源 61 3.5Pod資源的基礎管理操作 61 3.5.1陳述式對象配置管理方式 62 3.5.2聲明式對象配置管理方式 64 3.6本章小結 65 第4章管理Pod資源對象 66 4.1容器與Pod資源對象 66 4.2管理Pod對象的容器 68 4.2.1鏡像及其獲取策略 69 4.2.2暴露端口 70 4.2.3自定義運行的容器化應用 71 4.2.4環境變量 72 4.2.5共享節點的網絡名稱空間 73 4.2.6設置Pod對象的安全上下文 74 4.3標簽與標簽選擇器 75 4.3.1標簽概述 75 4.3.2管理資源標簽 77 4.3.3標簽選擇器 78 4.3.4Pod節點選擇器nodeSelector 79 4.4資源注解 80 4.4.1查看資源注解 81 4.4.2管理資源注解 82 4.5Pod對象的生命周期 82 4.5.1Pod的相位 82 4.5.2Pod的創建過程 83 4.5.3Pod生命周期中的重要行為 84 4.5.4容器的重啟策略 87 4.5.5Pod的終止過程 87 4.6Pod存活性探測 88 4.6.1設置exec探針 89 4.6.2設置HTTP探針 90 4.6.3設置TCP探針 92 4.6.4存活性探測行為屬性 93 4.7Pod就緒性探測 94 4.8資源需求及資源限制 96 4.8.1資源需求 96 4.8.2資源限制 98 4.8.3容器的可見資源 99 4.8.4Pod的服務質量類別 100 4.9本章小結 101 第5章Pod控制器 103 5.1關于Pod控制器 103 5.1.1Pod控制器概述 104 5.1.2控制器與Pod對象 105 5.1.3Pod模板資源 106 5.2ReplicaSet控制器 106 5.2.1ReplicaSet概述 107 5.2.2創建ReplicaSet 108 5.2.3ReplicaSet管控下的Pod對象 109 5.2.4更新ReplicaSet控制器 111 5.2.5刪除ReplicaSet控制器資源 114 5.3Deployment控制器 114 5.3.1創建Deployment 115 5.3.2更新策略 116 5.3.3升級Deployment 119 5.3.4金絲雀發布 121 5.3.5回滾Deployment控制器下的應用發布 123 5.3.6擴容和縮容 123 5.4DaemonSet控制器 124 5.4.1創建DaemonSet資源對象 124 5.4.2更新DaemonSet對象 126 5.5Job控制器 127 5.5.1創建Job對象 128 5.5.2并行式Job 129 5.5.3Job擴容 130 5.5.4刪除Job 130 5.6CronJob控制器 131 5.6.1創建CronJob對象 131 5.6.2CronJob的控制機制 132 5.7ReplicationController 133 5.8Pod中斷預算 133 5.9本章小結 134 第6章Service和Ingress 136 6.1Service資源及其實現模型 136 6.1.1Service資源概述 136 6.1.2虛擬IP和服務代理 138 6.2Service資源的基礎應用 140 6.2.1創建Service資源 140 6.2.2向Service對象請求服務 141 6.2.3Service會話粘性 142 6.3服務發現 143 6.3.1服務發現概述 143 6.3.2服務發現方式:環境變量 145 6.3.3ClusterDNS和服務發現 146 6.3.4服務發現方式:DNS 146 6.4服務暴露 147 6.4.1Service類型 147 6.4.2NodePort類型的Service資源 149 6.4.3LoadBalancer類型的Service資源 150 6.4.4ExternalName Service 151 6.5Headless類型的Service資源 152 6.5.1創建Headless Service資源 153 6.5.2Pod資源發現 153 6.6Ingress資源 154 6.6.1Ingress和Ingress Controller 154 6.6.2創建Ingress資源 155 6.6.3Ingress資源類型 157 6.6.4部署Ingress控制器(Nginx) 159 6.7案例:使用Ingress發布tomcat 161 6.7.1準備名稱空間 161 6.7.2部署tomcat實例 162 6.7.3創建Service資源 163 6.7.4創建Ingress資源 164 6.7.5配置TLS Ingress資源 165 6.8本章小結 168 第7章存儲卷與數據持久化 169 7.1存儲卷概述 169 7.1.1Kubernetes支持的存儲卷類型 170 7.1.2存儲卷的使用方式 171 7.2臨時存儲卷 172 7.2.1emptyDir存儲卷 172 7.2.2gitRepo存儲卷 175 7.3節點存儲卷hostPath 176 7.4網絡存儲卷 178 7.4.1NFS存儲卷 178 7.4.2RBD存儲卷 180 7.4.3GlusterFS存儲卷 182 7.4.4Cinder存儲卷 183 7.5持久存儲卷 184 7.5.1創建PV 186 7.5.2創建PVC 188 7.5.3在Pod中使用PVC 190 7.5.4存儲類 191 7.5.5PV和PVC的生命周期 194 7.6downwardAPI存儲卷 196 7.6.1環境變量式元數據注入 197 7.6.2存儲卷式元數據注入 199 7.7本章小結 201 第8章配置容器應用:Conf?igMap和Secret 202 8.1容器化應用配置方式 202 8.2通過命令行參數配置容器應用 204 8.3利用環境變量配置容器應用 206 8.4應用程序配置管理及Conf?igMap資源 208 8.4.1創建Conf?igMap對象 209 8.4.2向Pod環境變量傳遞Conf?igMap對象鍵值數據 212 8.4.3Conf?igMap存儲卷 215 8.4.4容器應用重載新配置 219 8.4.5使用Conf?igMap資源的注意事項 220 8.5Secret資源 221 8.5.1Secret概述 221 8.5.2創建Secret資源 222 8.5.3Secret存儲卷 224 8.5.4imagePullSecret資源對象 225 8.6本章小結 226 第9章StatefulSet控制器 227 9.1StatefulSet概述 227 9.1.1Stateful應用和Stateless應用 227 9.1.2StatefulSet控制器概述 228 9.1.3StatefulSet的特性 230 9.2StatefulSet基礎應用 231 9.2.1創建StatefulSet對象 232 9.2.2Pod資源標識符及存儲卷 234 9.3StatefulSet資源擴縮容 237 9.4StatefulSet資源升級 238 9.4.1滾動更新 238 9.4.2暫存更新操作 239 9.4.3金絲雀部署 240 9.4.4分段更新 241 9.4.5其他話題 241 9.5案例:etcd集群 242 9.5.1創建Service資源 242 9.5.2etcd StatefulSet 243 9.6本章小結 247 第10章認證、授權與準入控制 248 10.1訪問控制概述 248 10.1.1用戶賬戶與用戶組 249 10.1.2認證、授權與準入控制基礎 250 10.2服務賬戶管理與應用 253 10.2.1Service Account自動化 253 10.2.2創建服務賬戶 255 10.2.3調用imagePullSecret資源對象 256 10.3X.509數字證書認證 256 10.3.1Kubernetes中的SSL/TLS認證 257 10.3.2客戶端配置文件kubeconf?ig 259 10.3.3TLS bootstrapping機制 262 10.4基于角色的訪問控制:RBAC 263 10.4.1RBAC授權插件 264 10.4.2Role和RoleBinding 266 10.4.3ClusterRole和ClusterRoleBin-ding 269 10.4.4聚合型ClusterRole 271 10.4.5面向用戶的內建ClusterRole 273 10.4.6其他的內建ClusterRole和ClusterRoleBinding 274 10.5Kubernetes Dashboard 275 10.5.1部署HTTPS通信的Dashboard 275 10.5.2配置token認證 277 10.5.3配置kubeconf?ig認證 277 10.6準入控制器與應用示例 279 10.6.1LimitRange資源與LimitRanger準入控制器 279 10.6.2ResourceQuota資源與準入控制器 281 10.6.3PodSecurityPolicy 283 10.7本章小結 288 第11章網絡模型與網絡策略 289 11.1Kubernetes網絡模型及CNI插件 289 11.1.1Docker容器的網絡模型 289 11.1.2Kubernetes網絡模型 291 11.1.3Pod網絡的實現方式 293 11.1.4CNI插件及其常見的實現 295 11.2f?lannel網絡插件 297 11.2.1f?lannel的配置參數 297 11.2.2VxLAN后端和direct routing 298 11.2.3host-gw后端 301 11.3網絡策略 302 11.3.1網絡策略概述 302 11.3.2部署Canal提供網絡策略功能 303 11.3.3配置網絡策略 305 11.3.4管控入站流量 306 11.3.5管控出站流量 308 11.3.6隔離名稱空間 310 11.3.7網絡策略應用案例 311 11.4Calico網絡插件 315 11.4.1Calico工作特性 316 11.4.2Calico系統架構 318 11.4.3Calico部署要點 320 11.4.4部署Calico提供網絡服務和網絡策略 321 11.4.5客戶端工具calicoctl 324 11.5本章小結 325 第12章Pod資源調度 326 12.1Kubernetes調度器概述 326 12.1.1常用的預選策略 327 12.1.2常用的優選函數 330 12.2節點親和調度 332 12.2.1節點硬親和性 332 12.2.2節點軟親和性 335 12.3Pod資源親和調度 337 12.3.1位置拓撲 338 12.3.2Pod硬親和調度 338 12.3.3Pod軟親和調度 341 12.3.4Pod反親和調度 342 12.4污點和容忍度 343 12.4.1定義污點和容忍度 344 12.4.2管理節點的污點 345 12.4.3Pod對象的容忍度 346 12.4.4問題節點標識 347 12.5Pod優選級和搶占式調度 347 12.6本章小結 348 第13章Kubernetes系統擴展 349 13.1自定義資源類型(CRD) 349 13.1.1創建CRD對象 350 13.1.2自定義資源格式驗證 351 13.1.3子資源 353 13.1.4使用資源類別 355 13.1.5多版本支持 355 13.1.6自定義控制器基礎 356 13.2自定義API Server 359 13.2.1自定義API Server概述 359 13.2.2APIService對象 360 13.3Kubernetes集群高可用 361 13.3.1etcd高可用 362 13.3.2Controller Manager和Scheduler高可用 363 13.4Kubernetes的部署模式 364 13.4.1關鍵組件 365 13.4.2常見的部署模式 366 13.5容器時代的DevOps概述 369 13.5.1容器:DevOps協作的基礎 369 13.5.2泛型端到端容器應用程序生命周期工作流 370 13.5.3基于Kubernetes的DevOps 371 13.6本章小結 372 第14章資源指標及HPA控制器 373 14.1資源監控及資源指標 373 14.1.1資源監控及Heapster 374 14.1.2新一代監控架構 376 14.2資源指標及其應用 378 14.2.1部署metrics-server 378 14.2.2kubectl top命令 380 14.3自定義指標與Prometheus 381 14.3.1Prometheus概述 382 14.3.2部署Prometheus監控系統 384 14.3.3自定義指標適配器k8s-prometheus-adapter 388 14.4自動彈性縮放 390 14.4.1HPA概述 390 14.4.2HPA(v1)控制器 391 14.4.3HPA(v2)控制器 393 14.5本章小結 397 第15章Helm程序包管理器 398 15.1Helm基礎 398 15.1.1Helm的核心術語 399 15.1.2Helm架構 400 15.1.3安裝Helm Client 400 15.1.4安裝Tiller server 401 15.1.5Helm快速入門 402 15.2Helm Charts 405 15.2.1Charts文件組織結構 405 15.2.2Chart.yaml文件組織格式 406 15.2.3Charts中的依賴關系 407 15.2.4模板和值 408 15.2.5其他需要說明的話題 409 15.2.6自定義Charts 410 15.3Helm實踐:部署EFK日志管理系統 415 15.3.1ElasticSearch集群 416 15.3.2日志采集代理f?luentd 421 15.3.3可視化組件Kibana 422 15.4本章小結 424 附錄A 部署Kubernetes集群 425 附錄B 部署GlusterFS及Heketi 437 |
序: |
|