万本电子书0元读

万本电子书0元读

顶部广告

Kubernetes进阶实战电子书

售       价:¥

310人正在读 | 3人评论 7.4

作       者:马永亮

出  版  社:机械工业出版社

出版时间:2019-01-01

字       数:45.9万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(3条)
  • 读书简介
  • 目录
  • 累计评论(3条)
本书致力于帮助容器编排技术的初级和中级用户循序渐进地理解与使用Kubernetes系统,因此本书的编写充分考虑到初学者进入新知识领域时的茫然,采用由浅入深、提纲挈领、再由点到面的方式讲解每一个知识细节。对于每个知识点,不仅介绍了其概念和用法,还分析了为什么要有这个概念,实现的方式是什么,背后的逻辑为何,等等,使读者不仅能知其然,还能知其所以然。本书不仅要带领读者入门,更是一本可以随时动手加以验证的实践手册,而且对于部分重要的内容还会专门一步步地给出具体的实操案例,帮助读者在实践中升华对概念的理解。本书几乎涵盖了应用Kubernetes系统的所有主流知识点,它甚至可以作为计划考取CKA认证的读者的配套参考图书。
目录展开

前言

勘误和支持

第1章 Kubernetes系统基础

1.1 容器技术概述

1.1.1 容器技术的功用

1.1.2 容器简史

1.1.3 Docker的功能限制

1.2 Kubernetes概述

1.2.1 Kubernetes简史

1.2.2 Kubernetes特性

1.2.3 Kubernetes概念和术语

1.3 Kubernetes集群组件

1.3.1 Master组件

1.3.2 Node组件

1.3.3 核心附件

1.4 Kubernetes网络模型基础

1.4.1 网络模型概述

1.4.2 集群上的网络通信

1.5 本章小结

第2章 Kubernetes快速入门

2.1 Kubernetes的核心对象

2.1.1 Pod资源对象

2.1.2 Controller

2.1.3 Service

2.1.4 部署应用程序的主体过程

2.2 部署Kubernetes集群

2.2.1 kubeadm部署工具

2.2.2 集群运行模式

2.2.3 准备用于实践操作的集群环境

2.2.4 获取集群环境相关的信息

2.3 kubectl使用基础与示例

2.4 命令式容器应用编排

2.4.1 部署应用(Pod)

2.4.2 探查Pod及应用详情

2.4.3 部署Service对象

2.4.4 扩容和缩容

2.4.5 修改及删除对象

2.5 本章小结

第3章 资源管理基础

3.1 资源对象及API群组

3.1.1 Kubernetes的资源对象

3.1.2 资源及其在API中的组织形式

3.1.3 访问Kubernetes REST API

3.2 对象类资源格式

3.2.1 资源配置清单

3.2.2 metadata嵌套字段

3.2.3 spec和status字段

3.2.4 资源配置清单格式文档

3.2.5 资源对象管理方式

3.3 kubectl命令与资源管理

3.3.1 资源管理操作概述

3.3.2 kubectl的基本用法

3.4 管理名称空间资源

3.4.1 查看名称空间及其资源对象

3.4.2 管理Namespace资源

3.5 Pod资源的基础管理操作

3.5.1 陈述式对象配置管理方式

3.5.2 声明式对象配置管理方式

3.6 本章小结

第4章 管理Pod资源对象

4.1 容器与Pod资源对象

4.2 管理Pod对象的容器

4.2.1 镜像及其获取策略

4.2.2 暴露端口

4.2.3 自定义运行的容器化应用

4.2.4 环境变量

4.2.5 共享节点的网络名称空间

4.2.6 设置Pod对象的安全上下文

4.3 标签与标签选择器

4.3.1 标签概述

4.3.2 管理资源标签

4.3.3 标签选择器

4.3.4 Pod节点选择器nodeSelector

4.4 资源注解

4.4.1 查看资源注解

4.4.2 管理资源注解

4.5 Pod对象的生命周期

4.5.1 Pod的相位

4.5.2 Pod的创建过程

4.5.3 Pod生命周期中的重要行为

4.5.4 容器的重启策略

4.5.5 Pod的终止过程

4.6 Pod存活性探测

4.6.1 设置exec探针

4.6.2 设置HTTP探针

4.6.3 设置TCP探针

4.6.4 存活性探测行为属性

4.7 Pod就绪性探测

4.8 资源需求及资源限制

4.8.1 资源需求

4.8.2 资源限制

4.8.3 容器的可见资源

4.8.4 Pod的服务质量类别

4.9 本章小结

第5章 Pod控制器

5.1 关于Pod控制器

5.1.1 Pod控制器概述

5.1.2 控制器与Pod对象

5.1.3 Pod模板资源

5.2 ReplicaSet控制器

5.2.1 ReplicaSet概述

5.2.2 创建ReplicaSet

5.2.3 ReplicaSet管控下的Pod对象

5.2.4 更新ReplicaSet控制器

5.2.5 删除ReplicaSet控制器资源

5.3 Deployment控制器

5.3.1 创建Deployment

5.3.2 更新策略

5.3.3 升级Deployment

5.3.4 金丝雀发布

5.3.5 回滚Deployment控制器下的应用发布

5.3.6 扩容和缩容

5.4 DaemonSet控制器

5.4.1 创建DaemonSet资源对象

5.4.2 更新DaemonSet对象

5.5 Job控制器

5.5.1 创建Job对象

5.5.2 并行式Job

5.5.3 Job扩容

5.5.4 删除Job

5.6 CronJob控制器

5.6.1 创建CronJob对象

5.6.2 CronJob的控制机制

5.7 ReplicationController

5.8 Pod中断预算

5.9 本章小结

第6章 Service和Ingress

6.1 Service资源及其实现模型

6.1.1 Service资源概述

6.1.2 虚拟IP和服务代理

6.2 Service资源的基础应用

6.2.1 创建Service资源

6.2.2 向Service对象请求服务

6.2.3 Service会话粘性

6.3 服务发现

6.3.1 服务发现概述

6.3.2 服务发现方式:环境变量

6.3.3 ClusterDNS和服务发现

6.3.4 服务发现方式:DNS

6.4 服务暴露

6.4.1 Service类型

6.4.2 NodePort类型的Service资源

6.4.3 LoadBalancer类型的Service资源

6.4.4 ExternalName Service

6.5 Headless类型的Service资源

6.5.1 创建Headless Service资源

6.5.2 Pod资源发现

6.6 Ingress资源

6.6.1 Ingress和Ingress Controller

6.6.2 创建Ingress资源

6.6.3 Ingress资源类型

6.6.4 部署Ingress控制器(Nginx)

6.7 案例:使用Ingress发布tomcat

6.7.1 准备名称空间

6.7.2 部署tomcat实例

6.7.3 创建Service资源

6.7.4 创建Ingress资源

6.7.5 配置TLS Ingress资源

6.8 本章小结

第7章 存储卷与数据持久化

7.1 存储卷概述

7.1.1 Kubernetes支持的存储卷类型

7.1.2 存储卷的使用方式

7.2 临时存储卷

7.2.1 emptyDir存储卷

7.2.2 gitRepo存储卷

7.3 节点存储卷hostPath

7.4 网络存储卷

7.4.1 NFS存储卷

7.4.2 RBD存储卷

7.4.3 GlusterFS存储卷

7.4.4 Cinder存储卷

7.5 持久存储卷

7.5.1 创建PV

7.5.2 创建PVC

7.5.3 在Pod中使用PVC

7.5.4 存储类

7.5.5 PV和PVC的生命周期

7.6 downwardAPI存储卷

7.6.1 环境变量式元数据注入

7.6.2 存储卷式元数据注入

7.7 本章小结

第8章 配置容器应用:ConfigMap和Secret

8.1 容器化应用配置方式

8.2 通过命令行参数配置容器应用

8.3 利用环境变量配置容器应用

8.4 应用程序配置管理及ConfigMap资源

8.4.1 创建ConfigMap对象

8.4.2 向Pod环境变量传递ConfigMap对象键值数据

8.4.3 ConfigMap存储卷

8.4.4 容器应用重载新配置

8.4.5 使用ConfigMap资源的注意事项

8.5 Secret资源

8.5.1 Secret概述

8.5.2 创建Secret资源

8.5.3 Secret存储卷

8.5.4 imagePullSecret资源对象

8.6 本章小结

第9章 StatefulSet控制器

9.1 StatefulSet概述

9.1.1 Stateful应用和Stateless应用

9.1.2 StatefulSet控制器概述

9.1.3 StatefulSet的特性

9.2 StatefulSet基础应用

9.2.1 创建StatefulSet对象

9.2.2 Pod资源标识符及存储卷

9.3 StatefulSet资源扩缩容

9.4 StatefulSet资源升级

9.4.1 滚动更新

9.4.2 暂存更新操作

9.4.3 金丝雀部署

9.4.4 分段更新

9.4.5 其他话题

9.5 案例:etcd集群

9.5.1 创建Service资源

9.5.2 etcd StatefulSet

9.6 本章小结

第10章 认证、授权与准入控制

10.1 访问控制概述

10.1.1 用户账户与用户组

10.1.2 认证、授权与准入控制基础

10.2 服务账户管理与应用

10.2.1 Service Account自动化

10.2.2 创建服务账户

10.2.3 调用imagePullSecret资源对象

10.3 X.509数字证书认证

10.3.1 Kubernetes中的SSL/TLS认证

10.3.2 客户端配置文件kubeconfig

10.3.3 TLS bootstrapping机制

10.4 基于角色的访问控制:RBAC

10.4.1 RBAC授权插件

10.4.2 Role和RoleBinding

10.4.3 ClusterRole和ClusterRoleBinding

10.4.4 聚合型ClusterRole

10.4.5 面向用户的内建ClusterRole

10.4.6 其他的内建ClusterRole和ClusterRoleBinding

10.5 Kubernetes Dashboard

10.5.1 部署HTTPS通信的Dashboard

10.5.2 配置token认证

10.5.3 配置kubeconfig认证

10.6 准入控制器与应用示例

10.6.1 LimitRange资源与LimitRanger准入控制器

10.6.2 ResourceQuota资源与准入控制器

10.6.3 PodSecurityPolicy

10.7 本章小结

第11章 网络模型与网络策略

11.1 Kubernetes网络模型及CNI插件

11.1.1 Docker容器的网络模型

11.1.2 Kubernetes网络模型

11.1.3 Pod网络的实现方式

11.1.4 CNI插件及其常见的实现

11.2 flannel网络插件

11.2.1 flannel的配置参数

11.2.2 VxLAN后端和direct routing

11.2.3 host-gw后端

11.3 网络策略

11.3.1 网络策略概述

11.3.2 部署Canal提供网络策略功能

11.3.3 配置网络策略

11.3.4 管控入站流量

11.3.5 管控出站流量

11.3.6 隔离名称空间

11.3.7 网络策略应用案例

11.4 Calico网络插件

11.4.1 Calico工作特性

11.4.2 Calico系统架构

11.4.3 Calico部署要点

11.4.4 部署Calico提供网络服务和网络策略

11.4.5 客户端工具calicoctl

11.5 本章小结

第12章 Pod资源调度

12.1 Kubernetes调度器概述

12.1.1 常用的预选策略

12.1.2 常用的优选函数

12.2 节点亲和调度

12.2.1 节点硬亲和性

12.2.2 节点软亲和性

12.3 Pod资源亲和调度

12.3.1 位置拓扑

12.3.2 Pod硬亲和调度

12.3.3 Pod软亲和调度

12.3.4 Pod反亲和调度

12.4 污点和容忍度

12.4.1 定义污点和容忍度

12.4.2 管理节点的污点

12.4.3 Pod对象的容忍度

12.4.4 问题节点标识

12.5 Pod优选级和抢占式调度

12.6 本章小结

第13章 Kubernetes系统扩展

13.1 自定义资源类型(CRD)

13.1.1 创建CRD对象

13.1.2 自定义资源格式验证

13.1.3 子资源

13.1.4 使用资源类别

13.1.5 多版本支持

13.1.6 自定义控制器基础

13.2 自定义API Server

13.2.1 自定义API Server概述

13.2.2 APIService对象

13.3 Kubernetes集群高可用

13.3.1 etcd高可用

13.3.2 Controller Manager和Scheduler高可用

13.4 Kubernetes的部署模式

13.4.1 关键组件

13.4.2 常见的部署模式

13.5 容器时代的DevOps概述

13.5.1 容器:DevOps协作的基础

13.5.2 泛型端到端容器应用程序生命周期工作流

13.5.3 基于Kubernetes的DevOps

13.6 本章小结

第14章 资源指标及HPA控制器

14.1 资源监控及资源指标

14.1.1 资源监控及Heapster

14.1.2 新一代监控架构

14.2 资源指标及其应用

14.2.1 部署metrics-server

14.2.2 kubectl top命令

14.3 自定义指标与Prometheus

14.3.1 Prometheus概述

14.3.2 部署Prometheus监控系统

14.3.3 自定义指标适配器k8s-prometheus-adapter

14.4 自动弹性缩放

14.4.1 HPA概述

14.4.2 HPA(v1)控制器

14.4.3 HPA(v2)控制器

14.5 本章小结

第15章 Helm程序包管理器

15.1 Helm基础

15.1.1 Helm的核心术语

15.1.2 Helm架构

15.1.3 安装Helm Client

15.1.4 安装Tiller server

15.1.5 Helm快速入门

15.2 Helm Charts

15.2.1 Charts文件组织结构

15.2.2 Chart.yaml文件组织格式

15.2.3 Charts中的依赖关系

15.2.4 模板和值

15.2.5 其他需要说明的话题

15.2.6 自定义Charts

15.3 Helm实践:部署EFK日志管理系统

15.3.1 ElasticSearch集群

15.3.2 日志采集代理fluentd

15.3.3 可视化组件Kibana

15.4 本章小结

附录A 部署Kubernetes集群

A.1 准备部署Kubernetes集群

A.2 部署Kubernetes集群

A.3 从集群中移除节点

A.4 重新生成用于节点加入集群的认证命令

附录B 部署GlusterFS及Heketi

B.1 部署GlusterFS集群

B.2 部署Heketi

累计评论(3条) 3个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部