Kubernetes经典实例
马晶慧 译
出版时间:2018年10月
页数:212
如果你们公司正在准备采用云端原生计算机架构,那么这本书将向你介绍如何成功地使用Kubernetes,它是自动部署、扩大与缩小规模以及容器化应用程序管理方面的事实上的标准。本书通过80多个久经考验的技巧,快速地向开发者、系统管理员和架构师介绍
Kubernetes的入门知识,并掌握它所提供的强大的API。
在本书中,本书作者提供了在开发环境和产品环境中,安装、使用Kubernetes以及与之交互的具体解决方案。并介绍了如何改造系统来满足具体的需求,以及熟悉Kubernetes更广泛的生态环境。每个章节介绍的技巧都以常用的“问题-解决方案-讨论”的过程来描述。
本书中的技巧主要有:
● 创建Kubernetes集群。
● 使用Kubernetes命令行界面。
● 管理基本的workload类型。
● 使用服务。
● 探索Kubernetes API。
● 管理有状态的非云端原生应用。
● 使用卷与配置数据。
● 集群级别与应用程序级别的规模伸缩。
● 应用程序的安全。
● 监视与日志。
● 维护与排除故障。
- 前言
- 第1章 初识Kubernetes
- 1.1 无需安装即可使用Kubernetes
- 1.2 安装Kubernetes的命令行界面和kubectl
- 1.3 安装Minikube并运行本地的Kubernetes实例
- 1.4 在本地使用Minikube进行开发
- 1.5 在Minikube上运行应用程序
- 1.6 使用Minikube访问仪表盘
- 第2章 创建Kubernetes集群
- 2.1 安装kubeadm以创建Kubernetes集群
- 2.2 使用kubeadm创建Kubernetes集群
- 2.3 从GitHub上下载Kubernetes
- 2.4 下载客户端和服务器端可执行文件
- 2.5 使用hyperkube映像通过Docker运行Kubernetes主节点
- 2.6 编写systemd单元文件来运行Kubernetes的组件
- 2.7 在Google Kubernetes引擎上创建Kubernetes集群
- 2.8 在Azure容器服务上创建Kubernetes集群
- 第3章 学习使用Kubernetes客户端
- 3.1 查看资源
- 3.2 删除资源
- 3.3 使用kubectl观察资源的变化
- 3.4 使用kubectl编辑资源
- 3.5 通过kubectl解释资源和字段
- 第4章 创建与修改基础的工作负载
- 4.1 通过kubectl run创建部署
- 4.2 通过清单文件创建对象
- 4.3 从零创建pod的清单文件
- 4.4 通过kubectl run创建部署
- 4.5 更新部署
- 第5章 使用服务
- 5.1 通过创建服务来公布应用程序
- 5.2 验证服务的DNS注册项
- 5.3 改变服务类型
- 5.4 在Minikube上配置ingress controller
- 5.5 从集群外部访问服务
- 第6章 探索Kubernetes的API与关键元数据
- 6.1 发现Kubernetes上API的访问点
- 6.2 掌握Kubernetes清单文件的结构
- 6.3 通过创建命名空间避免命名冲突
- 6.4 设置命名空间的配额
- 6.5 给对象贴标签
- 6.6 使用标签进行查询
- 6.7 通过命令注解资源
- 第7章 管理具体的工作负载
- 7.1 运行批处理
- 7.2 在Pod内按照计划时间运行任务
- 7.3 在每个节点上运行基础设施的服务
- 7.4 管理有状态的主从应用
- 7.5 影响Pod的启动行为
- 第8章 卷与配置数据
- 8.1 通过本地卷在容器间交换数据
- 8.2 通过Secret类型的卷将API的访问密钥传递给pod
- 8.3 提供配置数据给应用程序
- 8.4 在Minkube内使用持久卷
- 8.5 掌握Minikube上数据的持久性
- 8.6 在GKE上动态配置持久性存储空间
- 第9章 伸缩
- 9.1 部署的伸缩
- 9.2 在GKE中自动调整集群的大小
- 9.3 在AWS中自动调整集群的大小
- 9.4 在GKE上使用pod的横向自动伸缩
- 第10章 安全
- 10.1 赋予应用程序唯一的身份
- 10.2 列举并查看访问控制信息
- 10.3 控制资源的访问权限
- 10.4 加强pod的安全
- 第11章 监控与日志
- 11.1 访问容器的日志
- 11.2 使用存活探针修复失败状态
- 11.3 使用就绪探针来控制pod的访问流
- 11.4 向部署添加存活探针和就绪探针
- 11.5 在Minikube上激活Heapster监视资源
- 11.6 在Minikube上使用Prometheus
- 11.7 在Minikube上使用Elasticsearch-Fluentd-Kibana
- 第12章 维护与故障排除
- 12.1 启用kubectl的自动补齐
- 12.2 删除服务上的pod
- 12.3 从集群外部访问集群IP的服务
- 12.4 掌握并解析资源的状态
- 12.5 调试pod
- 12.6 集群状态的详细快照
- 12.7 添加Kubernetes工作节点
- 12.8 抽出Kubernetes节点以实施维护
- 12.9 管理etcd
- 第13章 Kubernetes开发
- 13.1 编译源代码
- 13.2 编译特定的组件
- 13.3 如何使用Python客户端与Kubernetes API交互
- 13.4 使用自定义的资源扩展API
- 第14章 Kubernetes的生态系统
- 14.1 安装Helm(Kubernetes的包管理器)
- 14.2 利用Helm安装应用程序
- 14.3 利用Helm创建自己的图表打包应用程序
- 14.4 将Docker Compose文件转换成Kubernetes清单文件
- 14.5 使用kubicorn创建Kubernetes集群
- 14.6 在版本控制中保存加密的secret
- 14.7 利用kubeless部署函数
- 附录A 资源
书名:Kubernetes经典实例
译者:马晶慧 译
国内出版社:中国电力出版社
出版时间:2018年10月
页数:212
书号:978-7-5198-2399-3
原版书书名:Kubernetes Cookbook
原版书出版商:O'Reilly Media
Sébastien Goasguen
Sébastien Goasguen于20世纪90年代后期建立了第一个计算集群,他很自豪完成了博士学位,并非常感谢Fortran 77和偏微分方程。并行计算机带来的困难让他致力于使计算成为实用的工具,后来他还专注于网格和云计算。十五年以后,他心底十分希望容器和Kubernetes可以让他重回编写应用程序的工作。
目前他在Bitnami担任云技术高级总监,负责Kubernetes的工作。他于2015年底成立了Kubernetes创业公司Skippbox。在Skippbox期间,他创建了多个开源软件应用程序和工具,用于增强Kubernetes的用户体验。他是Apache软件基金会的成员,也是Apache CloudStack的前副总裁。Sébastien致力于云生态系统,并为几十个开源项目做出了贡献。他撰写了Docker Cookbook,还是一位狂热的博客作者,并担任Kubernetes概念Safari订阅者的在线讲师。
Michael Hausenblas
Michael Hausenblas是Go、Kubernetes和Red Hat的OpenShift的先驱开发者,他帮助AppOps构建和运行分布式服务。他有大规模数据处理和容器编排的背景,他在W3C和IETF的倡导和标准化方面有着丰富的经验。在Red Hat之前,Michael曾在Mesosphere、MapR以及爱尔兰和奥地利的两个研究机构工作。他贡献开源软件(主要是使用Go),博客,并经常活跃在Twitter上。
Michael是Amazon Web Service容器开发领域的倡导者。
本书的封面动物是一只孟加拉鹰枭(岩雕鸮,Bubo bengalensis)。这些大角猫头鹰经常成对出现,你可以在南亚的丘陵和岩石丛林中找到它们的身影。
孟加拉鹰枭身高19~22英寸,重量在39~70盎司之间。它的羽毛呈棕灰色或米色,耳朵有棕色的毛簇。与其身体的中性色相比,它的眼睛颜色显橙色。这种橙色眼睛的猫头鹰在白天狩猎。它喜欢肉食,主要以老鼠或田鼠等啮齿类动物为食物,但也会在冬季期间吃其他鸟类。我们可以在黄昏和黎明时,听到这种猫头鹰发出的低沉而洪亮的“呜呼”的叫声。
雌鸟会在地面的浅凹处,岩壁和河岸筑巢,并产2~5颗奶油色的卵。33天后鸟蛋孵化。雏鸟大约会在10周的时候长成大鸟,但是身体还没有成熟,在近6个月内仍然需要依靠父母。为了分散捕食者对后代的袭击,父母会假装翅膀受伤或以曲折的方式飞行。
O’Reilly出版的图书,封面上很多动物都濒临灭绝。这些动物都是地球的至宝。如果你想知道如何保护这些动物,请访问animals.oreilly.com。
封面图片来自Meyers Kleines Lexicon。