●第1篇安裝篇
第1章Kubeadm安裝高可用K8s集群
1.1基本環境配置
1.2內核配置
1.3K8s組件和Runtime安裝
1.3.1Containerd作為Runtime
1.3.2Docker作為Runtime
1.3.3安裝Kubernetes組件
1.4高可用組件安裝
1.5集群初始化
1.6Master實現高可用
1.7Node節點的配置
1.8Token過期處理
1.9Calico組件的安裝
1.10Metrics部署
1.11Dashboard部署
1.11.1安裝Dashboard
1.11.2登錄Dashboard
1.12注意事項
1.13小結
第2章二進制安裝高可用K8s集群
2.1基本環境配置
2.2內核配置
2.3基本組件安裝
2.3.1Containerd作為Runtime
2.3.2Docker作為Runtime
2.3.3K8s及Etcd的安裝
2.4生成證書
2.4.1Etcd證書
2.4.2K8s組件證書
2.5高可用配置
2.6Etcd集群配置
2.6.1創建Etcd的配置文件
2.6.2創建Service
2.7K8sMaster節點配置
2.7.1APIServer
2.7.2ControllerManager
2.7.3Scheduler
2.8TLSBootstrapping配置
2.9Node節點配置
2.9.1Kubelet配置
2.9.2kube-proxy配置
2.10安裝Calico
2.11安裝CoreDNS
2.12安裝MetricsServer
2.13安裝Dashboard
2.14小結
第2篇基礎篇
第3章Docker基礎
3.1Docker介紹
3.2Docker安裝
3.3Docker基本命令
3.4Dockerfile的編寫
3.5鏡像大小優化
3.6多階段構建
3.7小結
第4章Kubernetes的基礎概念
4.1為什麼要用Kubernetes
4.1.1對於開發人員
4.1.2對於運維人員
4.2Kubernetes帶來的挑戰
4.3Kubernetes架構解析
4.4Master節點
4.5Node節點
4.6Pod的概念
4.6.1什麼是Pod
4.6.2Pod探針
4.6.3Pod鏡像拉取策略和重啟策略
4.6.4創建一個Pod
4.7小結
第5章Kubernetes調度基礎
5.1ReplicationController和ReplicaSet
5.1.1ReplicationController
5.1.2ReplicaSet
5.2無狀態應用管理Deployment
5.2.1創建Deployment
5.2.2更新Deployment
5.2.3回滾Deployment
5.2.4擴容Deployment
5.2.5暫停和恢復Deployment更新
5.2.6更新Deployment的注意事項
5.3有狀態應用管理StatefulSet
5.3.1StatefulSet的基本概念
5.3.2StatefulSet的注意事項
5.3.3定義一個StatefulSet資源文件
5.3.4創建StatefulSet
5.3.5StatefulSet創建Pod的流程
5.3.6StatefulSet擴容和縮容
5.3.7StatefulSet更新策略
5.3.8刪除StatefulSet
5.4守護進程集DaemonSet
5.4.1什麼是DaemonSet
5.4.2定義一個DaemonSet
5.4.3創建DaemonSet
5.4.4更新和回滾DaemonSet
5.5CronJob
5.5.1創建CronJob
5.5.2可用參數的配置
5.6小結
第6章Kubernetes服務發布基礎
6.1標簽和選擇器
6.1.1定義標簽
6.1.2選擇器
6.1.3修改標簽
6.1.4刪除標簽
6.2Service
6.2.1Service的基本概念
6.2.2定義Service
6.2.3無選擇器的Service和Endpoint
6.2.4ExternalNameService
6.2.5Service代理模式
6.2.6多端口Service
6.2.7Service的類型
6.2.8Kubernetes服務發現
6.3Ingress
6.3.1基本概念
6.3.2創建一個Ingress
6.3.3Ingress使用入門
6.3.4更新Ingress
6.4小結
第7章Kubernetes配置管理
7.1什麼是ConfigMap
7.2創建ConfigMap
7.2.1基於目錄創建ConfigMap
7.2.2基於文件創建ConfigMap
7.2.3基於ENV文件創建ConfigMap
7.2.4基於字符值創建ConfigMap
7.3ConfigMap實踐
7.3.1使用valueFrom定義容器環境變量
7.3.2使用envFrom定義容器的環境變量
7.3.3以文件形式掛載ConfigMap
7.3.4自定義文件名掛載ConfigMap
7.3.5指定掛載的文件權限
7.4ConfigMap
7.5加密數據管理Secret
7.5.1創建Secret
7.5.2解碼Secret
7.6Secret實踐
7.6.1以文件形式掛載Secret
7.6.2自定義文件名掛載
7.6.3Secret作為環境變量
7.6.4Secret文件權限
7.7常用的Secret類型
……
本書以一個Kubernetes工程師的視角,全面繫統地介紹Kubernetes常見的知識點、企業應用實踐及運維管理方法。本書共分18章,第1、2章介紹如何快速搭建高可用的Kubernetes集群;第3~7章介紹Docker的基礎和鏡像的制作優化,以及Kubernetes的基礎概念(Master、Node和Pod)、核心調度資源(Deployment、StatefulSet、DaemonSet、CronJob)、服務發布(Service和Ingress)和配置管理(ConfigMap和Secret)。第8~11章主要介紹Kubernetes的持久化存儲、動態存儲、CSI、高級調度(容忍、污點和親和力)、服務質量、權限管理、Kubernetes資源配額管理。第12、13章主要介紹雲原生存儲、中間件容器化、Operator和Helm的使用。第14~16章主要介紹針對Kubernete等