本篇主要提供Kubernetes进阶实战电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
全书分为5个部分。第壹部分介绍Kubernetes系统基础架构及核心概述,并提供一个Kubernetes快速部署和应用的入门指南。第二部分剖析分Kubernetes系统的应用编排核心组件,对Pod、Controller、Service和Ingress、存储卷和应用配置等进行深入介绍。第三部分介绍安全相关的话题,主要涉及认证、授权、准入控制、网络模型和网络策略等话题。第四部分介绍Kubernetes系统 话题及系统扩展,包括调度策略、CRD和Operator、资源指标与系统监控及应用管理器等。第五部分介绍基于Kubernetes的服务治理与服务网络,涉及数据平面组件Envoy、Istio架构、部署和应用案例等话题。<br>
前言<br/> 部分 系统基础<br/>第1章 Kubernetes系统基础2<br/>1.1 容器与容器编排系统3<br/>1.1.1 Docker容器技术3<br/>1.1.2 OCI与容器运行时5<br/>1.1.3 为什么需要容器编排系统7<br/>1.2 Kubernetes基础8<br/>1.2.1 Kubernetes集群概述9<br/>1.2.2 Kubernetes集群架构11<br/>1.3 应用的运行与互联互通14<br/>1.3.1 Pod与Service15<br/>1.3.2 Pod控制器16<br/>1.3.3 Kubernetes网络基础18<br/>1.3.4 部署并访问应用20<br/>1.4 简析Kubernetes生态系统21<br/>1.5 本章小结23<br/>第2章 Kubernetes快速入门24<br/>2.1 利用kubeadm部署Kubernetes集群24<br/>2.1.1 kubeadm部署工具25<br/>2.1.2 集群组件运行模式26<br/>2.1.3 kubeadm init工作流程28<br/>2.1.4 kubeadm join工作流程31<br/>2.1.5 kubeadm配置文件33<br/>2.2 部署分布式Kubernetes集群34<br/>2.2.1 准备基础环境34<br/>2.2.2 单控制平面集群38<br/>2.3 kubectl命令与资源管理43<br/>2.3.1 资源管理的操作44<br/>2.3.2 kubectl的命令格式45<br/>2.3.3 kubectl命令常用操作示例47<br/>2.3.4 kubectl插件50<br/>2.4 命令式应用编排52<br/>2.4.1 应用编排53<br/>2.4.2 部署Service对象56<br/>2.4.3 扩容与缩容58<br/>2.4.4 修改与删除对象60<br/>2.5 本章小结61<br/>第二部分 核心资源<br/>第3章 Kubernetes资源管理64<br/>3.1 资源对象与API群组64<br/>3.1.1 Kubernetes的资源对象65<br/>3.1.2 资源及其在API中的组织形式68<br/>3.1.3 访问Kubernetes RESTful API70<br/>3.2 对象类资源配置规范72<br/>3.2.1 定义资源对象73<br/>3.2.2 对象元数据74<br/>3.2.3 资源的期望状态75<br/>3.2.4 获取资源配置清单格式文档75<br/>3.2.5 资源对象管理方式77<br/>3.3 名称空间79<br/>3.3.1 名称空间的作用80<br/>3.3.2 管理Namespace资源81<br/>3.4 节点资源86<br/>3.4.1 节点心跳与节点租约86<br/>3.4.2 节点状态87<br/>3.4.3 手动管理Node资源与节点89<br/>3.5 标签与标签选择器91<br/>3.5.1 资源标签91<br/>3.5.2 标签选择器93<br/>3.6 资源注解94<br/>3.7 本章小结96<br/>第4章 应用部署、运行与管理97<br/>4.1 应用容器与Pod资源97<br/>4.1.1 Pod资源基础97<br/>4.1.2 容器设计模式99<br/>4.1.3 Pod的生命周期104<br/>4.2 在Pod中运行应用105<br/>4.2.1 使用单容器Pod资源106<br/>4.2.2 获取Pod与容器状态详情107<br/>4.2.3 自定义容器应用与参数110<br/>4.2.4 容器环境变量111<br/>4.2.5 Pod的创建与删除过程112<br/>4.3 暴露容器服务115<br/>4.3.1 其他容器端口映射115<br/>4.3.2 配置Pod使用节点网络117<br/>4.4 容器安全上下文118<br/>4.4.1 配置格式速览119<br/>4.4.2 管理容器进程的运行身份120<br/>4.4.3 管理容器的内核功能121<br/>4.4.4 特权模式容器123<br/>4.4.5 在Pod上使用sysctl124<br/>4.5 容器应用的管理接口125<br/>4.5.1 健康状态监测接口126<br/>4.5.2 容器存活状态检测127<br/>4.5.3 Pod的重启策略133<br/>4.5.4 容器就绪状态检测133<br/>4.5.5 容器生命周期135<br/>4.6 多容器Pod138<br/>4.6.1 初始化容器138<br/>4.6.2 Sidecar容器140<br/>4.7 资源需求与资源限制142<br/>4.7.1 资源需求与限制142<br/>4.7.2 容器资源需求143<br/>4.7.3 容器资源限制145<br/>4.7.4 容器可见资源146<br/>4.7.5 Pod服务质量类别147<br/>4.8 综合应用案例149<br/>4.9 本章小结150<br/>第5章 存储卷与数据持久化152<br/>5.1 存储卷基础152<br/>5.1.1 存储卷概述152<br/>5.1.2 配置Pod存储卷154<br/>5.2 临时存储卷156<br/>5.2.1 emptyDir存储卷156<br/>5.2.2 gitRepo存储卷158<br/>5.3 hostPath存储卷159<br/>5.4 网络存储卷161<br/>5.4.1 NFS存储卷162<br/>5.4.2 RBD存储卷164<br/>5.4.3 CephFS存储卷167<br/>5.4.4 GlusterFS存储卷169<br/>5.5 持久存储卷171<br/>5.5.1 PV与PVC基础172<br/>5.5.2 PV的生命周期173<br/>5.5.3 静态PV资源175<br/>5.5.4 PVC资源178<br/>5.5.5 在Pod中使用PVC181<br/>5.5.6 存储类181<br/>5.6 容器存储接口CSI187<br/>5.6.1 CSI基础187<br/>5.6.2 Longhorn存储系统189<br/>5.7 本章小结194<br/>第6章 应用配置195<br/>6.1 容器化应用配置195<br/>6.1.1 容器化应用配置的常见方式195<br/>6.1.2 容器环境变量197<br/>6.2 应用程序配置管理与ConfigMap资源199<br/>6.2.1 创建ConfigMap对象200<br/>6.2.2 通过环境变量引用ConfigMap键值203<br/>6.2.3 ConfigMap存储卷206<br/>6.2.4 容器应用重载新配置211<br/>6.3 Secret资源:向容器注入配置信息213<br/>6.3.1 创建Secret资源213<br/>6.3.2 使用Secret资源219<br/>6.4 应用Downward API存储卷配置信息223<br/>6.4.1 环境变量式元数据注入223<br/>6.4.2 存储卷式元数据注入226<br/>6.5 本章小结228<br/>第7章 Service与服务发现229<br/>7.1 Service资源及其实现模型229<br/>7.1.1 Service资源概述229<br/>7.1.2 kube-proxy代理模型230<br/>7.1.3 Service资源类型233<br/>7.2 应用Service资源235<br/>7.2.1 应用ClusterIP Service资源236<br/>7.2.2 应用NodePort Service资源238<br/>7.2.3 应用LoadBalancer Service资源240<br/>7.2.4 外部IP241<br/>7.3 Service与Endpoint资源242<br/>7.3.1 Endpoint与容器探针243<br/>7.3.2 自定义Endpoint资源245<br/>7.4 深入理解Service资源247<br/>7.4.1 iptables代理模型247<br/>7.4.2 ipvs代理模型255<br/>7.5 Kubernetes服务发现258<br/>7.5.1 服务发现概述258<br/>7.5.2 基于环境变量的服务发现259<br/>7.5.3 基于DNS的服务发现260<br/>7.5.4 Pod的DNS解析策略与配置263<br/>7.5.5 配置CoreDNS264<br/>7.6 Headless Service资源解析266<br/>7.6.1 ExternalName Service266<br/>7.6.2 Headless Service267<br/>7.7 本章小结270<br/>第8章 应用编排与管理271<br/>8.1 Kubernetes控制器基础271<br/>8.1.1 控制器与Pod资源272<br/>8.1.2 Pod模板资源275<br/>8.2 ReplicaSet控制器276<br/>8.2.1 功能分析276<br/>8.2.2 ReplicaSet基础应用277<br/>8.2.3 应用 新与回滚280<br/>8.2.4 应用扩容与缩容285<br/>8.2.5 新策略286<br/>8.3 Deployment控制器291<br/>8.3.1 Deployment基础应用291<br/>8.3.2 Deployment 新策略294<br/>8.3.3 应用 新与回滚296<br/>8.3.4 金丝雀发布298<br/>8.4 StatefulSet控制器300<br/>8.4.1 功能分析300<br/>8.4.2 StatefulSet基础应用302<br/>8.4.3 扩缩容与滚动 新306<br/>8.4.4 StatefulSet的局限性309<br/>8.5 DaemonSet控制器310<br/>8.5.1 DaemonSet资源基础应用311<br/>8.5.2 DaemonSet 新策略313<br/>8.6 Job控制器314<br/>8.6.1 Job资源基础应用315<br/>8.6.2 并行式Job与扩容机制318<br/>8.7 CronJob控制器319<br/>8.8 Pod中断预算321<br/>8.9 本章小结324<br/>第三部分 安全<br/>第9章 认证、授权与准入控制326<br/>9.1 Kubernetes访问控制326<br/>9.1.1 用户账户与用户组327<br/>9.1.2 认证、授权与准入控制基础328<br/>9.1.3 测试使用API Server的访问控制机制332<br/>9.2 ServiceAccount及认证336<br/>9.2.1 ServiceAccount自动化336<br/>9.2.2 ServiceAccount基础应用338<br/>9.2.3 Pod资源上的服务账户340<br/>9.3 X509数字证书认证342<br/>9.3.1 Kubernetes的X509数字证书认证体系343<br/>9.3.2 TLS Bootstrapping机制347<br/>9.4 kubeconfig配置文件348<br/>9.4.1 kubeconfig文件格式348<br/>9.4.2 自定义kubeconfig文件350<br/>9.4.3 X509数字证书身份凭据353<br/>9.4.4 多kubeconfig文件与合并354<br/>9.5 基于角色的访问控制:RBAC355<br/>9.5.1 RBAC授权模型356<br/>9.5.2 Role与ClusterRole358<br/>9.5.3 RoleBinding与ClusterRole-Binding361<br/>9.5.4 聚合型ClusterRole364<br/>9.5.5 面向用户的内置ClusterRole366<br/>9.6 认证与权限应用案例:Dashboard368<br/>9.6.1 部署Dashboard368<br/>9.6.2 认证与授权370<br/>9.7 准入控制器372<br/>9.7.1 准入控制器概述372<br/>9.7.2 LimitRange373<br/>9.7.3 ResourceQuota377<br/>9.7.4 PodSecurityPolicy379<br/>9.8 本章小结386<br/> 0章 网络模型与网络策略387<br/>10.1 容器网络模型387<br/>10.1.1 容器网络通信模式387<br/>10.1.2 CNI网络插件基础391<br/>10.1.3 Overlay网络模型394<br/>10.1.4 Underlay网络模型396<br/>10.1.5 配置CNI插件400<br/>10.1.6 CNI插件与选型404<br/>10.2 Flannel网络插件406<br/>10.2.1 Flannel配置基础406<br/>10.2.2 VXLAN后端408<br/>10.2.3 直接路由412<br/>10.2.4 host-gw后端414<br/>10.3 Calico网络插件416<br/>10.3.1 Calico架构417<br/>10.3.2 Calico配置基础419<br/>10.3.3 IPIP隧道网络421<br/>10.3.4 客户端工具calicoctl424<br/>10.3.5 BGP网络与BGP Reflector426<br/>10.4 网络策略430<br/>10.4.1 网络策略与配置基础431<br/>10.4.2 管控入站流量433<br/>10.4.3 管控出站流量436<br/>10.4.4 隔离名称空间438<br/>10.4.5 Calico的网络策略439<br/>10.5 本章小结441<br/>第四部分 进阶<br/> 1章 Pod资源调度444<br/>11.1 Kubernetes调度器444<br/>11.1.1 调度器基础445<br/>11.1.2 经典调度策略449<br/>11.1.3 调度器插件454<br/>11.1.4 配置调度器456<br/>11.2 节点亲和调度461<br/>11.2.1 Pod节点选择器462<br/>11.2.2 强制节点亲和463<br/>11.2.3 节点亲和465<br/>11.3 Pod亲和调度467<br/>11.3.1 位置拓扑468<br/>11.3.2 Pod间的强制亲和469<br/>11.3.3 Pod间的 亲和471<br/>11.3.4 Pod间的反亲和关系473<br/>11.4 节点污点与Pod容忍度475<br/>11.4.1 污点与容忍度基础概念475<br/>11.4.2 定义污点477<br/>11.4.3 定义容忍度478<br>11.4.4 问题节点标识479<br/>11.5 拓扑分布式调度480<br/>11.6 Pod优先级与抢占481<br/>11.7 本章小结483<br/> 2章 Kubernetes系统扩展484<br/>12.1 CRD484<br/>12.1.1 CRD 基础应用485<br/>12.1.2 打印字段与资源类别488<br/>12.1.3 CRD子资源489<br/>12.1.4 CRD v1beta1版本491<br/>12.2 自定义API Server492<br/>12.2.1 自定义API Server运行机制493<br/>12.2.2 APIService资源与应用494<br/>12.3 控制器与Operator496<br/>12.3.1 自定义控制器的工作机制496<br/>12.3.2 Operator与简单应用示例500<br/>12.4 Kubernetes集群高可用503<br/>12.4.1 etcd高可用与控制平面拓扑503<br/>12.4.2 Controller Manager与Scheduler高可用505<br/>12.4.3 部署高可用控制平面506<br/>12.5 本章小结508<br/> 3章 Ingress与服务发布509<br/>13.1 Ingress资源509<br/>13.1.1 Ingress与Ingress控制器流量转发509<br/>13.1.2 Ingress资源规范511<br/>13.1.3 Ingress资源类型515<br/>13.2 Ingress控制器部署与应用517<br/>13.2.1 Ingress Nginx部署与测试518<br/>13.2.2 配置Ingress Nginx522<br/>13.2.3 Ingress资源案例:发布Dashboard524<br/>13.3 Contour控制器525<br/>13.3.1 Envoy数据平面525<br/>13.3.2 部署Contour529<br/>13.3.3 HTTPProxy基础532<br/>13.3.4 HTTPProxy 路由533<br/>13.3.5 HTTPProxy服务韧性539<br/>13.3.6 TCP代理542<br/>13.4 本章小结544<br/>第五部分 生态组件<br/> 4章 应用管理546<br/>14.1 Kustomize声明式应用管理546<br/>14.1.1 声明式应用管理基本用法547<br/>14.1.2 应用配置分解549<br/>14.1.3 配置生成器551<br/>14.1.4 资源补丁553<br/>14.2 Helm基础应用556<br/>14.2.1 Helm基础556<br/>14.2.2 Helm 3 快速入门558<br/>14.3 Helm Chart562<br/>14.3.1 Chart包结构与描述文件562<br/>14.3.2 Chart中的依赖关系564<br/>14.3.3 模板与值565<br/>14.3.4 其他需要说明的话题567<br/>14.3.5 自定义Chart简单示例568<br/>14.4 Helm实践:部署Harbor注册中心575<br/>14.4.1 部署方案与配置方式577<br/>14.4.2 Harbor部署与测试582<br/>14.5 本章小结585<br/> 5章 资源指标与集群监控586<br/>15.1 资源监控与资源指标586<br/>15.1.1 资源监控与Heapster587<br/>15.1.2 新一代监控体系与指标系统589<br/>15.2 资源指标与应用591<br/>15.2.1 部署Metrics Server591<br/>15.2.2 显示资源使用信息595<br/>15.3 自定义指标与Prometheus596<br/>15.3.1 Prometheus基础597<br/>15.3.2 Prometheus核心概念601<br/>15.3.3 Prometheus查询语言604<br/>15.3.4 监控Kubernetes606<br/>15.3.5 自定义指标适配器616<br/>15.4 自动弹性缩放621<br/>15.4.1 HPA控制器概述622<br/>15.4.2 HPA v1控制器622<br/>15.4.3 HPA v2控制器624<br/>15.5 本章小结629<br/> 6章 集群日志系统630<br/>16.1 集群日志系统基础630<br/>16.1.1 日志系统概述631<br/>16.1.2 Elasticsearch基础633<br/>16.2 EFK日志管理系统636<br/>16.2.1 Elasticsearch集群637<br/>16.2.2 日志采集器Fluent Bit642<br/>16.2.3 可视化组件Kibana647<br/>16.3 本章小结650