【缺書】NT售價: 545 元
全書分為3篇。第壹篇詳細講解Kubernetes系統基礎架構及核心概述,并提供一個Kubernetes快速部署和應用的入門指南。第二篇剖析分Kubernetes系統的核心組件,對Pod、Controller、Service、Network Policy、Volume、ConfigMap和Secret等都有著深入講解。第三篇主要關注實際應用,以DevOps為主線講解Kubernetes在企業落地應用的解決方案示例。
第1章Kubernetes系統基礎 11.1容器技術概述 11.1.1容器技術的功用 21.1.2容器簡史 31.1.3Docker的功能限制 41.2Kubernetes概述 41.2.1Kubernetes簡史 41.2.2Kubernetes特性 51.2.3Kubernetes概念和術語 61.3Kubernetes集群組件 101.3.1Master組件 101.3.2Node組件 121.3.3核心附件 131.4Kubernetes網絡模型基礎 131.4.1網絡模型概述 131.4.2集群上的網絡通信 151.5本章小結 16第2章Kubernetes快速入門 172.1Kubernetes的核心對象 172.1.1Pod資源對象 182.1.2Controller 192.1.3Service 202.1.4部署應用程序的主體過程 212.2部署Kubernetes集群 222.2.1kubeadm部署工具 222.2.2集群運行模式 242.2.3準備用于實踐操作的集群環境 252.2.4獲取集群環境相關的信息 262.3kubectl使用基礎與示例 262.4命令式容器應用編排 292.4.1部署應用(Pod) 302.4.2探查Pod及應用詳情 332.4.3部署Service對象 362.4.4擴容和縮容 382.4.5修改及刪除對象 402.5本章小結 41第3章資源管理基礎 423.1資源對象及API群組 423.1.1Kubernetes的資源對象 433.1.2資源及其在API中的組織形式 463.1.3訪問Kubernetes REST API 483.2對象類資源格式 493.2.1資源配置清單 503.2.2metadata嵌套字段 513.2.3spec和status字段 523.2.4資源配置清單格式文檔 533.2.5資源對象管理方式 543.3kubectl命令與資源管理 563.3.1資源管理操作概述 563.3.2kubectl的基本用法 573.4管理名稱空間資源 593.4.1查看名稱空間及其資源對象 603.4.2管理Namespace資源 613.5Pod資源的基礎管理操作 613.5.1陳述式對象配置管理方式 623.5.2聲明式對象配置管理方式 643.6本章小結 65第4章管理Pod資源對象 664.1容器與Pod資源對象 664.2管理Pod對象的容器 684.2.1鏡像及其獲取策略 694.2.2暴露端口 704.2.3自定義運行的容器化應用 714.2.4環境變量 724.2.5共享節點的網絡名稱空間 734.2.6設置Pod對象的安全上下文 744.3標簽與標簽選擇器 754.3.1標簽概述 754.3.2管理資源標簽 774.3.3標簽選擇器 784.3.4Pod節點選擇器nodeSelector 794.4資源注解 804.4.1查看資源注解 814.4.2管理資源注解 824.5Pod對象的生命周期 824.5.1Pod的相位 824.5.2Pod的創建過程 834.5.3Pod生命周期中的重要行為 844.5.4容器的重啟策略 874.5.5Pod的終止過程 874.6Pod存活性探測 884.6.1設置exec探針 894.6.2設置HTTP探針 904.6.3設置TCP探針 924.6.4存活性探測行為屬性 934.7Pod就緒性探測 944.8資源需求及資源限制 964.8.1資源需求 964.8.2資源限制 984.8.3容器的可見資源 994.8.4Pod的服務質量類別 1004.9本章小結 101第5章Pod控制器 1035.1關于Pod控制器 1035.1.1Pod控制器概述 1045.1.2控制器與Pod對象 1055.1.3Pod模板資源 1065.2ReplicaSet控制器 1065.2.1ReplicaSet概述 1075.2.2創建ReplicaSet 1085.2.3ReplicaSet管控下的Pod對象 1095.2.4更新ReplicaSet控制器 1115.2.5刪除ReplicaSet控制器資源 1145.3Deployment控制器 1145.3.1創建Deployment 1155.3.2更新策略 1165.3.3升級Deployment 1195.3.4金絲雀發布 1215.3.5回滾Deployment控制器下的應用發布 1235.3.6擴容和縮容 1235.4DaemonSet控制器 1245.4.1創建DaemonSet資源對象 1245.4.2更新DaemonSet對象 1265.5Job控制器 1275.5.1創建Job對象 1285.5.2并行式Job 1295.5.3Job擴容 1305.5.4刪除Job 1305.6CronJob控制器 1315.6.1創建CronJob對象 1315.6.2CronJob的控制機制 1325.7ReplicationController 1335.8Pod中斷預算 1335.9本章小結 134第6章Service和Ingress 1366.1Service資源及其實現模型 1366.1.1Service資源概述 1366.1.2虛擬IP和服務代理 1386.2Service資源的基礎應用 1406.2.1創建Service資源 1406.2.2向Service對象請求服務 1416.2.3Service會話粘性 1426.3服務發現 1436.3.1服務發現概述 1436.3.2服務發現方式:環境變量 1456.3.3ClusterDNS和服務發現 1466.3.4服務發現方式:DNS 1466.4服務暴露 1476.4.1Service類型 1476.4.2NodePort類型的Service資源 1496.4.3LoadBalancer類型的Service資源 1506.4.4ExternalName Service 1516.5Headless類型的Service資源 1526.5.1創建Headless Service資源 1536.5.2Pod資源發現 1536.6Ingress資源 1546.6.1Ingress和Ingress Controller 1546.6.2創建Ingress資源 1556.6.3Ingress資源類型 1576.6.4部署Ingress控制器(Nginx) 1596.7案例:使用Ingress發布tomcat 1616.7.1準備名稱空間 1616.7.2部署tomcat實例 1626.7.3創建Service資源 1636.7.4創建Ingress資源 1646.7.5配置TLS Ingress資源 1656.8本章小結 168第7章存儲卷與數據持久化 1697.1存儲卷概述 1697.1.1Kubernetes支持的存儲卷類型 1707.1.2存儲卷的使用方式 1717.2臨時存儲卷 1727.2.1emptyDir存儲卷 1727.2.2gitRepo存儲卷 1757.3節點存儲卷hostPath 1767.4網絡存儲卷 1787.4.1NFS存儲卷 1787.4.2RBD存儲卷 1807.4.3GlusterFS存儲卷 1827.4.4Cinder存儲卷 1837.5持久存儲卷 1847.5.1創建PV 1867.5.2創建PVC 1887.5.3在Pod中使用PVC 1907.5.4存儲類 1917.5.5PV和PVC的生命周期 1947.6downwardAPI存儲卷 1967.6.1環境變量式元數據注入 1977.6.2存儲卷式元數據注入 1997.7本章小結 201第8章配置容器應用:Conf?igMap和Secret 2028.1容器化應用配置方式 2028.2通過命令行參數配置容器應用 2048.3利用環境變量配置容器應用 2068.4應用程序配置管理及Conf?igMap資源 2088.4.1創建Conf?igMap對象 2098.4.2向Pod環境變量傳遞Conf?igMap對象鍵值數據 2128.4.3Conf?igMap存儲卷 2158.4.4容器應用重載新配置 2198.4.5使用Conf?igMap資源的注意事項 2208.5Secret資源 2218.5.1Secret概述 2218.5.2創建Secret資源 2228.5.3Secret存儲卷 2248.5.4imagePullSecret資源對象 2258.6本章小結 226第9章StatefulSet控制器 2279.1StatefulSet概述 2279.1.1Stateful應用和Stateless應用 2279.1.2StatefulSet控制器概述 2289.1.3StatefulSet的特性 2309.2StatefulSet基礎應用 2319.2.1創建StatefulSet對象 2329.2.2Pod資源標識符及存儲卷 2349.3StatefulSet資源擴縮容 2379.4StatefulSet資源升級 2389.4.1滾動更新 2389.4.2暫存更新操作 2399.4.3金絲雀部署 2409.4.4分段更新 2419.4.5其他話題 2419.5案例:etcd集群 2429.5.1創建Service資源 2429.5.2etcd StatefulSet 2439.6本章小結 247第10章認證、授權與準入控制 24810.1訪問控制概述 24810.1.1用戶賬戶與用戶組 24910.1.2認證、授權與準入控制基礎 25010.2服務賬戶管理與應用 25310.2.1Service Account自動化 25310.2.2創建服務賬戶 25510.2.3調用imagePullSecret資源對象 25610.3X.509數字證書認證 25610.3.1Kubernetes中的SSL/TLS認證 25710.3.2客戶端配置文件kubeconf?ig 25910.3.3TLS bootstrapping機制 26210.4基于角色的訪問控制:RBAC 26310.4.1RBAC授權插件 26410.4.2Role和RoleBinding 26610.4.3ClusterRole和ClusterRoleBin-ding 26910.4.4聚合型ClusterRole 27110.4.5面向用戶的內建ClusterRole 27310.4.6其他的內建ClusterRole和ClusterRoleBinding 27410.5Kubernetes Dashboard 27510.5.1部署HTTPS通信的Dashboard 27510.5.2配置token認證 27710.5.3配置kubeconf?ig認證 27710.6準入控制器與應用示例 27910.6.1LimitRange資源與LimitRanger準入控制器 27910.6.2ResourceQuota資源與準入控制器 28110.6.3PodSecurityPolicy 28310.7本章小結 288第11章網絡模型與網絡策略 28911.1Kubernetes網絡模型及CNI插件 28911.1.1Docker容器的網絡模型 28911.1.2Kubernetes網絡模型 29111.1.3Pod網絡的實現方式 29311.1.4CNI插件及其常見的實現 29511.2f?lannel網絡插件 29711.2.1f?lannel的配置參數 29711.2.2VxLAN后端和direct routing 29811.2.3host-gw后端 30111.3網絡策略 30211.3.1網絡策略概述 30211.3.2部署Canal提供網絡策略功能 30311.3.3配置網絡策略 30511.3.4管控入站流量 30611.3.5管控出站流量 30811.3.6隔離名稱空間 31011.3.7網絡策略應用案例 31111.4Calico網絡插件 31511.4.1Calico工作特性 31611.4.2Calico系統架構 31811.4.3Calico部署要點 32011.4.4部署Calico提供網絡服務和網絡策略 32111.4.5客戶端工具calicoctl 32411.5本章小結 325第12章Pod資源調度 32612.1Kubernetes調度器概述 32612.1.1常用的預選策略 32712.1.2常用的優選函數 33012.2節點親和調度 33212.2.1節點硬親和性 33212.2.2節點軟親和性 33512.3Pod資源親和調度 33712.3.1位置拓撲 33812.3.2Pod硬親和調度 33812.3.3Pod軟親和調度 34112.3.4Pod反親和調度 34212.4污點和容忍度 34312.4.1定義污點和容忍度 34412.4.2管理節點的污點 34512.4.3Pod對象的容忍度 34612.4.4問題節點標識 34712.5Pod優選級和搶占式調度 34712.6本章小結 348第13章Kubernetes系統擴展 34913.1自定義資源類型(CRD) 34913.1.1創建CRD對象 35013.1.2自定義資源格式驗證 35113.1.3子資源 35313.1.4使用資源類別 35513.1.5多版本支持 35513.1.6自定義控制器基礎 35613.2自定義API Server 35913.2.1自定義API Server概述 35913.2.2APIService對象 36013.3Kubernetes集群高可用 36113.3.1etcd高可用 36213.3.2Controller Manager和Scheduler高可用 36313.4Kubernetes的部署模式 36413.4.1關鍵組件 36513.4.2常見的部署模式 36613.5容器時代的DevOps概述 36913.5.1容器:DevOps協作的基礎 36913.5.2泛型端到端容器應用程序生命周期工作流 37013.5.3基于Kubernetes的DevOps 37113.6本章小結 372第14章資源指標及HPA控制器 37314.1資源監控及資源指標 37314.1.1資源監控及Heapster 37414.1.2新一代監控架構 37614.2資源指標及其應用 37814.2.1部署metrics-server 37814.2.2kubectl top命令 38014.3自定義指標與Prometheus 38114.3.1Prometheus概述 38214.3.2部署Prometheus監控系統 38414.3.3自定義指標適配器k8s-prometheus-adapter 38814.4自動彈性縮放 39014.4.1HPA概述 39014.4.2HPA(v1)控制器 39114.4.3HPA(v2)控制器 39314.5本章小結 397第15章Helm程序包管理器 39815.1Helm基礎 39815.1.1Helm的核心術語 39915.1.2Helm架構 40015.1.3安裝Helm Client 40015.1.4安裝Tiller server 40115.1.5Helm快速入門 40215.2Helm Charts 40515.2.1Charts文件組織結構 40515.2.2Chart.yaml文件組織格式 40615.2.3Charts中的依賴關系 40715.2.4模板和值 40815.2.5其他需要說明的話題 40915.2.6自定義Charts 41015.3Helm實踐:部署EFK日志管理系統 41515.3.1ElasticSearch集群 41615.3.2日志采集代理f?luentd 42115.3.3可視化組件Kibana 42215.4本章小結 424附錄A 部署Kubernetes集群 425附錄B 部署GlusterFS及Heketi 437