热门搜索: 中考 高考 考试 开卷17
服务电话 024-23945002/96192
 

KUBERNETES实战(原书第2版)

编号:
wx1203658514
销售价:
¥87.12
(市场价: ¥99.00)
赠送积分:
87
数量:
   
商品介绍

本书由Kubernetes联合创始人Brendan Burns领衔撰写,系统剖析生产环境Kubernetes全栈技术。涵盖集群搭建、CI/CD流水线、全球化部署、资源调度、服务网格、安全加固等核心场景,第2版新增混沌工程实践、GitOps标准化、多集群管理策略及机器学习工作流支持等内容。通过数十个企业级代码示例(含Prometheus监控模板、Gatekeeper策略引擎等),提供从开发到运维的闭环解决方案。

本书是管理大规模容器编排的大师级读物,涵盖了所有最新的Kubernetes功能、工具和弃用内容。在本书中,四位在分布式系统、企业应用开发和开源领域有着丰富经验的Kubernetes专家对使用 Kubernetes 容器编排系统构建应用进行了全程指导。本书内容丰富,涵盖开发者工作流、监控和度量指标、配置管理、持续集成和测试、版本控制与发布、应用程序的全球化部署、资源管理、网络、Pod安全、集群策略与治理、多集群管理、外部服务集成、机器学习、在Kubernetes上构建高层应用的模式、状态管理和有状态应用、准入控制与授权、GitOps、安全性、混沌测试、实现Operator等,是一本非常全面的实践指南。

目录<br />前言1<br />第1章 搭建一个基本服务7<br />1.1 应用程序概览 7<br />1.2 管理配置文件7<br />1.3 使用Deployment创建多副本服务9<br />1.3.1 镜像管理的最佳实践9<br />1.3.2 创建多副本应用程序10<br />1.4 为HTTP流量配置外部Ingress12<br />1.5 使用ConfigMap配置应用程序13<br />1.6 使用Secret管理认证14<br />1.7 部署简单的有状态数据库17<br />1.8 使用Service创建TCP负载均衡器20<br />1.9 使用Ingress将流量路由到静态文件服务器21<br />1.10 使用Helm将你的应用程序参数化23<br />1.11 部署服务的最佳实践25<br />1.12 本章小结25<br />第2章 开发者工作流26<br />2.1 目的26<br />2.2 搭建开发环境集群 27<br />2.3 为多个开发者搭建共享集群 28<br />2.3.1 添加用户 28<br />2.3.2 创建和保护命名空间31<br />2.3.3 管理命名空间32<br />2.3.4 集群级服务33<br />2.4 启用开发者工作流34<br />2.4.1 环境初始化34<br />2.4.2 启动开发35<br />2.4.3 启动测试与调试35<br />2.5 搭建开发环境的最佳实践36<br />2.6 本章小结37<br />第3章 监控和日志38<br />3.1 指标与日志38<br />3.2 监控技术38<br />3.3 监控模式39<br />3.4 Kubernetes 指标概述40<br />3.4.1 cAdvisor40<br />3.4.2 Metrics Server40<br />3.4.3 kube-state-metrics41<br />3.5 我应该监控哪些指标42<br />3.6 监控工具43<br />3.7 使用Prometheus监控Kubernetes45<br />3.8 日志概述48<br />3.9 日志工具50<br />3.10 使用Loki-Stack记录日志50<br />3.11 告警53<br />3.12 监控、日志和告警的最佳实践54<br />3.12.1 监控54<br />3.12.2 日志55<br />3.12.3 告警55<br />3.13 本章小结55<br />第4章 配置、Secret和RBAC 56<br />4.1 通过ConfigMap和Secret配置应用56<br />4.1.1 ConfigMap56<br />4.1.2 Secret57<br />4.2 ConfigMap和Secret API的通用最佳实践58<br />4.3 Secret 特定的最佳实践62<br />4.4 RBAC63<br />4.4.1 RBAC入门64<br />4.4.2 RBAC最佳实践65<br />4.5 本章小结66<br />第5章 持续集成、测试和部署67<br />5.1 版本控制68<br />5.2 持续集成68<br />5.3 测试68<br />5.4 容器构建69<br />5.5 为容器镜像打标签70<br />5.6 持续部署70<br />5.7 部署策略71<br />5.8 生产环境中的测试74<br />5.9 搭建流水线并进行混沌实验76<br />5.9.1 搭建CI76<br />5.9.2 搭建CD79<br />5.9.3 执行滚动升级79<br />5.9.4 简单的混沌实验79<br />5.10 CI/CD的最佳实践80<br />5.11 本章小结81<br />第6章 版本控制、发布和上线82<br />6.1 版本控制82<br />6.2 发布83<br />6.3 上线83<br />6.4 综合示例84<br />6.5 版本控制、发布以及上线的最佳实践 87<br />6.6 本章小结88<br />第7章 全球化应用的分发和预演89<br />7.1 镜像的分发89<br />7.2 参数化部署91<br />7.3 全球流量负载均衡91<br />7.4 可靠的全球化上线91<br />7.4.1 上线前验证92<br />7.4.2 金丝雀区域94<br />7.4.3 识别区域类型95<br />7.4.4 进行全球上线96<br />7.5 如何应对出现的问题96<br />7.6 全球化上线的最佳实践97<br />7.7 本章小结98<br />第8章 资源管理99<br />8.1 Kubernetes Scheduler99<br />8.1.1 预选99<br />8.1.2 优选100<br />8.2 高级调度技术101<br />8.2.1 Pod的亲和性和反亲和性101<br />8.2.2 nodeSelector102<br />8.2.3 污点和容忍102<br />8.3 Pod资源管理104<br />8.3.1 资源请求104<br />8.3.2 资源限制和Pod服务质量105<br />8.3.3 PodDisruptionBudget106<br />8.3.4 使用命名空间管理资源108<br />8.3.5 ResourceQuota109<br />8.3.6 LimitRange110<br />8.3.7 集群的扩缩容111<br />8.3.8 应用程序的扩缩容112<br />8.3.9 通过HPA进行扩缩容113<br />8.3.10 自定义指标的 HPA114<br />8.3.11 Pod垂直自动伸缩114<br />8.4 资源管理的最佳实践115<br />8.5 本章小结115<br />第9章 网络、网络安全与服务网格116<br />9.1 Kubernetes的网络原则116<br />9.2 网络插件117<br />9.2.1 Kubenet118<br />9.2.2 Kubenet最佳实践118<br />9.2.3 CNI插件119<br />9.2.4 CNI最佳实践120<br />9.3 Kubernetes中的Service120<br />9.3.1 ClusterIP服务类型121<br />9.3.2 NodePort服务类型122<br />9.3.3 ExternalName服务类型122<br />9.3.4 LoadBalancer 服务类型 123<br />9.3.5 Ingress和Ingress控制器124<br />9.3.6 Gateway API126<br />9.3.7 Service和Ingress控制器的最佳实践128<br />9.4 网络安全策略128<br />9.5 网络策略的最佳实践130<br />9.6 服务网格132<br />9.7 服务网格的最佳实践133<br />9.8 本章小结134<br />第10章 Pod和容器安全135<br />10.1 Pod安全性准入控制器135<br />10.1.1 启用Pod安全性准入控制136<br />10.1.2 Pod安全性级别136<br />10.1.3 使用命名空间标签激活Pod安全性137<br />10.2 工作负载隔离和运行时类137<br />10.2.1 使用运行时类139<br />10.2.2 运行时的实现139<br />10.2.3 工作负载隔离和RuntimeClass的最佳实践 139<br />10.3 其他Pod和容器安全性注意事项140<br />10.3.1 准入控制器 140<br />10.3.2 入侵和异常检测工具140<br />10.4 本章小结140<br />第11章 集群的策略和治理141<br />11.1 为什么策略和治理很重要141<br />11.2 这里所说的策略有何不同141<br />11.3 云原生策略引擎142<br />11.4 Gatekeeper简介142<br />11.4.1 策略示例142<br />11.4.2 Gatekeeper术语143<br />11.4.3 定义约束模板143<br />11.4.4 定义约束145<br />11.4.5 数据复制146<br />11.4.6 用户体验146<br />11.5 利用强制措施和审核147<br />11.5.1 变更策略148<br />11.5.2 测试策略149<br />11.5.3 熟悉Gatekeeper149<br />11.6 策略和治理的最佳实践 149<br />11.7 本章小结150<br />第12章 多集群管理151<br />12.1 为什么需要多集群 151<br />12.2 多集群设计的考量 153<br />12.3 多集群部署管理 154<br />12.4 部署和管理模式155<br />12.5 GitOps集群管理方式156<br />12.6 多集群管理工具 158<br />12.7 Kubernetes 联邦159<br />12.8 多集群管理的最佳实践159<br />12.9 本章小结160<br />第13章 外部服务与Kubernetes的集成161<br />13.1 将外部服务导入Kubernetes161<br />13.1.1 适用于固定IP地址的无选择算符Service162<br />13.1.2 适用于固定DNS名称的基于CNAME的Service162<br />13.1.3 主动基于控制器的方式164<br />13.2 将Kubernetes服务导出到外部 164<br />13.2.1 使用内部负载均衡器导出服务165<br />13.2.2 使用NodePort导出服务 166<br />13.2.3 集成外部机器和Kubernetes 167<br />13.3 在Kubernetes之间共享服务 167<br />13.4 第三方工具168<br />13.5 连接集群和外部服务的最佳实践 168<br />13.6 本章小结 169<br />第14章 在Kubernetes中运行机器学习170<br />14.1 为什么 Kubernetes 非常适合机器学习170<br />14.2 机器学习工作流 171<br />14.3 Kubernetes集群管理员与机器学习 172<br />14.3.1 Kubernetes上的模型训练 172<br />14.3.2 Kubernetes上的分布式训练175<br />14.3.3 资源约束176<br />14.3.4 专用硬件176<br />14.3.5 库、驱动和内核模块 177<br />14.3.6 存储177<br />14.3.7 网络178<br />14.3.8 专用协议178<br />14.4 数据科学家关心的事 179<br />14.5 在Kubernetes上进行机器学习的最佳实践179<br />14.6 本章小结180<br />第15章 在Kubernetes上构建更高层的应用程序模式181<br />15.1 开发更高层次的抽象的方法181<br />15.2 扩展Kubernetes182<br />15.2.1 扩展Kubernetes集群182<br />15.2.2 扩展Kubernetes用户体验184<br />15.2.3 让容器化开发更容易185<br />15.2.4 开发一键部署体验185<br />15.3 构建平台时的设计考量185<br />15.3.1 支持导出为容器镜像186<br />15.3.2 支持现有的服务和服务发现机制186<br />15.4 构建应用平台的最佳实践187<br />15.5 本章小结187<br />第16章 管理状态和有状态应用188<br />16.1 卷和卷挂载188<br />16.2 卷的最佳实践189<br />16.3 Kubernetes存储190<br />16.3.1 PersistentVolume 190<br />16.3.2 PersistentVolumeClaim191<br />16.3.3 StorageClass192<br />16.3.4 Kubernetes存储的最佳实践193<br />16.4 有状态应用194<br />16.4.1 StatefulSet194<br />16.4.2 Operator196<br />16.4.3 StatefulSet和Operator最佳实践197<br />16.5 本章小结198<br />第17章 准入控制与授权199<br />17.1 准入控制200<br />17.1.1 准入控制器是什么200<br />17.1.2 为什么准入控制器如此重要200<br />17.1.3 准入控制器的类型201<br />17.1.4 配置准入Webhook201<br />17.1.5 准入控制的最佳实践203<br />17.2 授权206<br />17.2.1 授权模块206<br />17.2.2 授权的最佳实践209<br />17.3 本章小结209<br />第18章 GitOps和部署210<br />18.1 GitOps是什么211<br />18.2 为什么需要GitOps212<br />18.3 GitOps代码库结构213<br />18.4 机密信息管理215<br />18.5 设置Flux216<br />18.6 GitOps工具218<br />18.7 GitOps的最佳实践219<br />18.8 本章小结219<br />第19章 安全性220<br />19.1 集群安全性220<br />19.1.1 etcd的访问221<br />19.1.2 认证221<br />19.1.3 授权221<br />19.1.4 TLS221<br />19.1.5 Kubelet和云端元数据访问222<br />19.1.6 机密信息222<br />19.1.7 日志与审计222<br />19.1.8 集群安全水平感知工具222<br />19.2 集群安全性最佳实践223<br />19.3 工作负载容器的安全性223<br />19.3.1 Pod安全性准入223<br />19.3.2 Seccomp、AppArmor和SELinux223<br />19.3.3 准入控制器224<br />19.3.4 Operator224<br />19.3.5 网络策略224<br />19.3.6 运行时安全224<br />19.3.7 工作负载容器安全性最佳实践225<br />19.4 代码安全性225<br />19.4.1 非root容器和distroless容器226<br />19.4.2 容器安全漏洞扫描226<br />19.4.3 代码仓库安全226<br />19.5 代码安全性最佳实践226<br />19.6 本章小结227<br />第20章 混沌测试、负载测试和试验228<br />20.1 混沌测试228<br />20.1.1 混沌测试的目标228<br />20.1.2 混沌测试的先决条件229<br />20.1.3 应用程序通信的混沌测试229<br />20.1.4 应用程序运行的混沌测试230<br />20.1.5 应用程序安全性和韧性的模糊测试231<br />20.1.6 混沌测试小结231<br />20.2 负载测试232<br />20.2.1 负载测试的目标232<br />20.2.2 负载测试的先决条件233<br />20.2.3 获取真实的流量233<br />20.2.4 应用程序的负载测试234<br />20.2.5 使用负载测试调优应用程序234<br />20.2.6 负载测试小结235<br />20.3 试验235<br />20.3.1 试验的目标235<br />20.3.2 试验的先决条件236<br />20.3.3 设立一个试验236<br />20.3.4 试验小结237<br />20.4 本章小结237<br />第21章 实现一个Operator238<br />21.1 Operator的核心组件238<br />21.2 定制资源定义239<br />21.3 创建API240<br />21.4 控制器调谐247<br />21.5 资源验证248<br />21.6 控制器的实现249<br />21.7 Operator的生命周期254<br />21.7.1 版本更新254<br />21.7.2 Operator 的最佳实践255<br />21.8 本章小结256<br />第22章 结束语257

商品参数
基本信息
出版社 机械工业出版社
ISBN 9787111780557
条码 9787111780557
编者 [美]布兰登·伯恩斯(Brendan Burns),[美]埃迪·维拉尔巴(Eddie Villalba),[美]戴夫·斯特雷贝尔(Dave Strebel),[美]拉克兰·埃文森(Lachlan Evenson) 著
译者
出版年月 2025-06-01 00:00:00.0
开本 16开
装帧 平装
页数 260
字数 351
版次 1
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]