3.4 用户推荐指数
科技
类型
可以朗读
语音朗读
256千字
字数
2020-07-01
发行日期
展开全部
主编推荐语
本书通过理论与实践相结合,全方位地介绍Kubernetes这一容器编排的理想工具。
内容简介
本书共14章,涉及的主题包括理解Kubernetes架构,创建Kubernetes集群,监控、日志记录和故障排除,高可用性和可靠性,配置Kubernetes安全、限制和账户,使用关键Kubernetes资源,管理Kubernetes存储,使用Kubernetes运行有状态应用程序,滚动更新、可伸缩性和配额,高级Kubernetes网络,在云平台和集群联邦中运行Kubernetes,自定义Kubernetes API和插件,操作Kubernetes软件包管理器以及Kubernetes的未来。
本书综合考虑不同环境和用例,使读者了解如何创建大型系统并将其部署在Kubernetes上。在各章节主题中,读者提供了丰富的实践案例分析,娓娓道来,引人入胜。本书可以作为Kubernetes的实践参考手册,聚焦于设计和管理Kubernetes集群,为开发人员、运维工程师详细介绍了Kubernetes所提供的功能和服务。
目录
- 版权信息
- 内容提要
- 关于作者
- 关于审稿人
- 名词说明
- 翻译说明
- 前言
- 本书内容
- 阅前准备
- 目标读者
- 资源与支持
- 配套资源
- 提交勘误
- 与我们联系
- 关于异步社区和异步图书
- 第1章 理解Kubernetes架构
- 1.1 理解容器编排
- 1.1.1 物理机、虚拟机和容器
- 1.1.2 云端容器
- 1.1.3 服务器运行模式
- 1.2 Kubernetes的相关概念
- 1.2.1 集群
- 1.2.2 节点
- 1.2.3 主节点
- 1.2.4 Pod
- 1.2.5 标签
- 1.2.6 注解
- 1.2.7 标签选择器
- 1.2.8 副本控制器和副本集
- 1.2.9 服务
- 1.2.10 存储卷
- 1.2.11 有状态服务集
- 1.2.12 密钥对象
- 1.2.13 名称
- 1.2.14 命名空间
- 1.3 深入了解Kubernetes架构
- 分布式系统设计模式
- 1.4 Kubernetes API
- 1.4.1 Kubernetes API
- 1.4.2 自动伸缩 API
- 1.5 Kubernetes组件
- 1.5.1 主组件
- 1.5.2 节点组件
- 1.6 Kubernetes运行时
- 1.6.1 运行时接口
- 1.6.2 Docker
- 1.6.3 Rkt
- 1.6.4 Hyper Container
- 1.7 持续集成与部署
- 1.7.1 CI/CD流水线
- 1.7.2 为Kubernetes设计CI/CD流水线
- 1.8 总结
- 第2章 创建Kubernetes集群
- 2.1 用Minikube快速创建单节点集群
- 2.1.1 准备工作
- 2.1.2 创建集群
- 2.1.3 故障排除
- 2.1.4 检查集群
- 2.1.5 部署服务
- 2.1.6 用仪表板检查集群
- 2.2 用Kubeadm创建多节点集群
- 2.2.1 准备工作
- 2.2.2 组建Vagrant虚拟机集群
- 2.2.3 安装所需软件
- 2.2.4 创建集群
- 2.2.5 建立Pod网络
- 2.2.6 添加工作节点
- 2.3 在GCP、AWS和Azure云端创建集群
- 2.3.1 云提供商接口
- 2.3.2 GCP
- 2.3.3 AWS
- 2.3.4 Azure
- 2.4 从头开始创建裸金属集群
- 2.4.1 裸金属用例
- 2.4.2 什么时候应该考虑创建裸金属集群
- 2.5 进程
- 2.6 使用虚拟私有云基础设施
- 2.7 总结
- 第3章 监控、日志记录和故障排除
- 3.1 用Heapster监控Kubernetes
- cAdvisor
- 3.2 InfluxDB后端
- 3.2.1 存储模式
- 3.2.2 Grafana可视化
- 3.3 仪表板的性能分析
- 3.3.1 顶视图
- 3.3.2 添加中央日志
- 3.4 检测节点问题
- 3.4.1 节点问题检测器
- 3.4.2 DaemonSet
- 3.4.3 节点问题检测DaemonSet
- 3.5 故障排除方案
- 3.6 设计健壮的系统
- 3.6.1 硬件故障
- 3.6.2 配额、份额和限制
- 3.6.3 Bad Configuration
- 3.6.4 成本和性能
- 3.7 总结
- 第4章 高可用性和可靠性
- 4.1 高可用性概念
- 4.1.1 冗余
- 4.1.2 热交换
- 4.1.3 领导选举
- 4.1.4 智能负载均衡
- 4.1.5 幂等
- 4.1.6 自愈
- 4.2 高可用性最佳实践
- 4.2.1 创建高可用性集群
- 4.2.2 确保节点可靠
- 4.2.3 保护集群状态
- 4.2.4 保护数据
- 4.2.5 运行冗余API服务器
- 4.2.6 用Kubernetes运行领导选举
- 4.2.7 使预演环境高度可用
- 4.2.8 测试高可用性
- 4.3 集群在线升级
- 4.3.1 滚动升级
- 4.3.2 蓝绿升级
- 4.3.3 管理数据契约变更
- 4.3.4 数据迁移
- 4.3.5 检测过期API
- 4.4 大型集群的性能、成本和设计权衡
- 4.4.1 可用性要求
- 4.4.2 尽力而为
- 4.4.3 维护窗口
- 4.4.4 快速恢复
- 4.4.5 零停机时间
- 4.4.6 性能和数据的一致性
- 4.5 总结
- 第5章 配置Kubernetes安全、限制和账户
- 5.1 理解Kubernetes安全挑战
- 5.1.1 节点挑战
- 5.1.2 网络挑战
- 5.1.3 镜像挑战
- 5.1.4 配置和部署挑战
- 5.1.5 Pod和容器挑战
- 5.1.6 组织、文化和过程挑战
- 5.2 加固Kubernetes
- 5.2.1 理解Kubernetes的服务账户
- 5.2.2 访问API服务器
- 5.2.3 保护Pod
- 5.2.4 管理网络策略
- 5.2.5 使用密钥对象
- 5.3 运行多用户集群
- 5.3.1 多用户集群的案例
- 5.3.2 安全多租户使用命名空间
- 5.3.3 避免命名空间陷阱
- 5.4 总结
- 第6章 使用关键Kubernetes资源
- 6.1 设计Hue平台
- 6.1.1 定义Hue的范围
- 6.1.2 规划工作流
- 6.2 利用Kubernetes构建Hue平台
- 6.2.1 有效使用kubectl
- 6.2.2 理解kubectl资源配置文件
- 6.2.3 在Pod中部署长时间运行的微服务
- 6.3 内外部服务分离
- 6.3.1 部署内部服务
- 6.3.2 创建Hue-reminders服务
- 6.3.3 从外部公开服务
- 6.4 使用命名空间限制访问
- 6.5 启动Job
- 6.5.1 并行运行作业
- 6.5.2 清理已完成的作业
- 6.5.3 调度计划作业
- 6.6 kubectl获得Pod
- 6.7 混合非集群组件
- 6.7.1 集群网络外部组件
- 6.7.2 集群网络内部组件
- 6.7.3 用Kubernetes管理Hue平台
- 6.7.4 使用就绪探针管理依赖
- 6.8 为有序启动Pod采用初始容器
- 与DaemonSet Pod共享
- 6.9 用Kubernetes进化Hue平台
- 6.9.1 Hue在企业中的运用
- 6.9.2 用Hue推进科学
- 6.9.3 用Hue实施教育
- 6.10 总结
- 第7章 管理Kubernetes存储
- 7.1 持久存储卷指导
- 7.1.1 存储卷
- 7.1.2 创建持久存储卷
- 7.1.3 持续存储卷声明
- 7.1.4 按使用存储卷挂载声明
- 7.1.5 存储类
- 7.1.6 从端到端演示持久存储卷
- 7.2 公共存储卷类型——GCE、AWS和Azure
- 7.2.1 AWS弹性块存储(EBS)
- 7.2.2 AWS弹性文件系统(EFS)
- 7.2.3 GCE持久化磁盘
- 7.2.4 Azure数据盘
- 7.2.5 Azure文件存储
- 7.3 Kubernetes中的GlusterFS和Ceph存储卷
- 7.3.1 使用GlusterFS
- 7.3.2 使用Ceph
- 7.4 Flocker作为集群容器数据存储卷管理器
- 7.5 将企业存储集成到Kubernetes
- Torus——块上的新成员
- 7.6 总结
- 第8章 使用Kubernetes运行有状态的应用程序
- 8.1 Kubernetes中的有状态与无状态应用
- 8.1.1 理解分布式数据密集型应用的本质
- 8.1.2 为什么在Kubernetes中管理状态
- 8.1.3 为什么在Kubernetes以外管理状态
- 8.2 共享环境变量与DNS记录
- 8.2.1 通过DNS访问外部数据存储
- 8.2.2 通过环境变量访问外部数据存储
- 8.2.3 使用冗余内存状态
- 8.2.4 使用DaemonSet进行冗余持久存储
- 8.2.5 应用持久存储卷声明
- 8.2.6 利用有状态服务集
- 8.3 在Kubernetes运行Cassandra集群
- 8.3.1 Cassandra快速入门
- 8.3.2 Cassandra Docker镜像
- 8.3.3 连接Kubernetes和Cassandra
- 8.3.4 创建Cassandra无源服务
- 8.3.5 使用有状态服务集创建Cassandra集群
- 8.3.6 使用副本控制器分布Cassandra
- 8.3.7 利用DaemonSet分布Cassandra
- 8.4 总结
- 第9章 滚动更新、可伸缩性和配额
- 9.1 水平Pod自动伸缩
- 9.1.1 声明水平Pod自动伸缩器
- 9.1.2 自定义度量
- 9.1.3 使用Kubectl自动伸缩
- 9.2 用自动伸缩进行滚动更新
- 9.3 用限制和配额处理稀缺资源
- 9.3.1 启用资源配额
- 9.3.2 资源配额类型
- 9.3.3 配额范围
- 9.3.4 请求与限制
- 9.3.5 使用配额
- 9.4 选择与管理集群性能
- 9.4.1 选择节点类型
- 9.4.2 选择存储解决方案
- 9.4.3 交易成本与响应时间
- 9.4.4 有效使用多节点配置
- 9.4.5 利用弹性云资源
- 9.4.6 考虑Hyper.sh
- 9.5 挑战Kubernetes性能极限
- 9.5.1 提高Kubernetes的性能和可扩展性
- 9.5.2 测量Kubernetes的性能和可伸缩性
- 9.5.3 按规模测试Kubernetes
- 9.6 总结
- 第10章 高级Kubernetes网络
- 10.1 理解Kubernetes网络模型
- 10.1.1 容器内通信(容器-容器)
- 10.1.2 Pod间通信(Pod-Pod)
- 10.1.3 Pod-服务通信
- 10.1.4 外部访问
- 10.1.5 Kubernetes网络与Docker网络
- 10.1.6 查找与发现
- 10.1.7 Kubernetes网络插件
- 10.2 Kubernetes网络解决方案
- 10.2.1 裸金属集群桥接
- 10.2.2 Contiv
- 10.2.3 Open vSwitch
- 10.2.4 Nuage网络VCS
- 10.2.5 Canal
- 10.2.6 Flannel
- 10.2.7 Calico工程
- 10.2.8 Romana
- 10.2.9 Weave Net
- 10.3 有效使用网络策略
- 理解Kubernetes网络策略设计
- 10.4 负载均衡选项
- 10.4.1 外部负载均衡器
- 10.4.2 服务负载均衡器
- 10.4.3 入口
- 10.5 编写自己的CNI插件
- loopback插件
- 10.6 总结
- 第11章 在云平台和集群联邦中运行Kubernetes
- 11.1 理解集群联邦
- 11.1.1 集群联邦的重要用例
- 11.1.2 联邦控制平面
- 11.1.3 联邦资源
- 11.1.4 高难度部分
- 11.2 管理Kubernetes集群联邦
- 11.3 从底层建立集群联邦
- 11.3.1 初始设置
- 11.3.2 使用官方hyperkube镜像
- 11.3.3 运行联邦控制平面
- 11.3.4 用联邦注册Kubernetes集群
- 11.3.5 更新KubeDNS
- 11.3.6 关闭联邦
- 11.3.7 用Kubefed建立集群联邦
- 11.4 运行联邦工作负载
- 11.4.1 创建联邦服务
- 11.4.2 添加后端Pod
- 11.4.3 验证公共DNS记录
- 11.4.4 发现联邦服务
- 11.4.5 后端Pod和整个集群的故障处理
- 11.4.6 故障排除
- 11.5 总结
- 第12章 自定义Kubernetes API和插件
- 12.1 使用Kubernetes API
- 12.1.1 理解OpenAPI
- 12.1.2 设置代理
- 12.1.3 直接探索Kubernetes API
- 12.1.4 通过Kubernetes API创建Pod
- 12.1.5 通过Python客户端访问Kubernetes API
- 12.2 扩展Kubernetes API
- 12.2.1 理解第三方资源的结构
- 12.2.2 开发第三方资源
- 12.2.3 整合第三方资源
- 12.3 编写Kubernetes插件
- 编写自定义调度程序插件
- 12.4 编写授权插件
- 12.4.1 编写准入控制接口
- 12.4.2 编写自定义度量插件
- 12.4.3 编写卷插件
- 12.5 总结
- 第13章 操作Kubernetes软件包管理器
- 13.1 理解Helm
- 13.1.1 Helm的动机
- 13.1.2 Helm架构
- 13.1.3 Helm组件
- 13.1.4 Helm与Helm-Classic
- 13.2.1 安装Helm
- 13.2.2 寻找图表
- 13.2.3 安装包
- 13.2.4 使用安装包库
- 13.2.5 使用Helm管理图表
- 13.3 创建自己的图表
- 13.3.1 Chart.yaml文件
- 13.3.2 图表元数据文件
- 13.3.3 管理图表依赖
- 13.3.4 使用模板和值
- 13.4 总结
- 第14章 Kubernetes的未来
- 14.1 未来发展道路
- 14.1.1 Kubernetes的发行版和里程碑
- 14.1.2 Kubernetes的特别兴趣小组和工作组
- 14.2 面临的挑战
- 14.2.1 捆绑价值
- 14.2.2 Docker Swarm
- 14.2.3 Mesos/Mesosphere
- 14.2.4 云平台
- 14.2.5 AWS
- 14.2.6 Azure
- 14.2.7 阿里云
- 14.3 Kubernetes势头
- 14.3.1 社区
- 14.3.2 GitHub
- 14.3.3 会议
- 14.3.4 思维共享
- 14.3.5 生态系统
- 14.3.6 公有云提供商
- 14.4 教育和培训
- 14.5 动态插件
- 14.6 总结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。