万本电子书0元读

万本电子书0元读

顶部广告

Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)电子书

人手一本、内容超详尽的Kubernetes权威指南全新升级至K8s 1.19,提供源码下载、勘误及读者群答疑,CNCF、阿里巴巴、华为、腾讯、字节跳动、VMware众咖力荐,学、用K8s的神器

售       价:¥

纸质售价:¥119.90购买纸书

2187人正在读 | 1人评论 6.4

作       者:龚正 等

出  版  社:电子工业出版社

出版时间:2021-05-01

字       数:43.1万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(2条)
  • 读书简介
  • 目录
  • 累计评论(2条)
Kubernetes是由谷歌源的容器集群管理系统,为容器化应用提供了资源调度、部署运行、服务发现、扩缩容等一整套功能。Kubernetes也是将“一切以服务(Service)为中心,一切围绕服务运转”作为指导思想的创新型产品,它的功能和架构设计自始至终地遵循了这一指导思想。构建在Kubernetes上的系统不仅可以独立运行在物理机、虚拟机集群或者企业私有云上,也可以被托管在公有云上。本书总计12章,分别讲解Kubernetes的基本概念、实践指南、核心原理、发指南、网络与存储、运维指南、新特性演等内容。全书图文并茂、内容丰富、由浅深、讲解全面,并围绕在生产环境中可能出现的问题,给出了大量典型案例,比如安全配置方案、网络方案、共享存储方案、高可用方案及Trouble Shooting技巧等,有很强的实战指导意义。本书的内容也随着Kubernetes的版本更新不断完善,目前涵盖了Kubernetes从1.0到1.19版本的主要特性,努力为Kubernetes用户提供全方位的Kubernetes技术指南。无论是对于软件工程师、软件架构师、测试工程师、运维工程师、技术经理,还是对于资深IT人士,本书都极具参考价值。<br/>【推荐语】<br/>1、第5版全新升级至Kubernetes 1.19版本,内容大升级、更新更全面。 2、目录更便于检索,作为K8s容器工具书更为方便。 3、提供源码下载、读者交流群及读者答疑,参见封底读者服务。 4、CNCF、阿里巴巴、华为、腾讯、字节跳动、VMware众咖力荐! 5、从服务化到云原生运维必选图书,几乎人手一本,K8s必学图书。 6、Windows容器、安全、运维、实战、门、Helm、Harbor、Prometheus、架构等应有尽有。 7、与《Harbor权威指南》《云原生服务网格Istio》《深浅出<br/>【作者】<br/>·龚正·HPE高级顾问,从事IT工作20余年,在云计算、大数据、大型企业级应用等领域有丰富的咨询规划、架构设计和实施经验,负责过多个大型云平台的规划和建设,是电信、金融、互联网等领域的资深专家,也是《Kubernetes权威指南:企业级容器云实战》等书的作者。·吴治辉·HPE资深架构师,从事软件研发工作20余年,专注于电信软件和云计算方面的软件研发,有丰富的大型项目架构设计经验,是业界少有的具备很强编程能力的资深架构师,也是《ZeroC Ice权威指南》《架构解密:从分布式到微服务》《Kubernetes权威指南:企业级容器云实战》《区块轻松上手》等书的作者。·闫健勇·HPE高级项目经理、总架构师,从事电信行业系统建设工作20余年,主导了多项电信大型系统的架构设计和管理,对云计算和大数据在电信行业中的应用有丰富的经验,也是《Kubernetes权威指南:企业级容器云实战》等书的作者。<br/>
目录展开

内容简介

推荐序

前 言

第1章 Kubernetes入门

1.1 了解Kubernetes

1.2 为什么要用Kubernetes

1.3 从一个简单的例子开始

1.3.1 环境准备

1.3.2 启动MySQL服务

1.3.3 启动Tomcat应用

1.3.4 通过浏览器访问网页

1.4 Kubernetes的基本概念和术语

1.4.1 资源对象概述

1.4.2 集群类

1.4.3 应用类

1.4.4 存储类

1.4.5 安全类

第2章 Kubernetes安装配置指南

2.1 系统要求

2.2 使用kubeadm工具快速安装Kubernetes集群

2.2.1 安装kubeadm

2.2.2 修改kubeadm的默认配置

2.2.3 下载Kubernetes的相关镜像

2.2.4 运行kubeadm init命令安装Master节点

2.2.5 将新的Node加入集群

2.2.6 安装CNI网络插件

2.2.7 验证Kubernetes集群是否工作正常

2.3 以二进制文件方式安装Kubernetes安全高可用集群

2.3.1 Master高可用部署架构

2.3.2 创建CA根证书

2.3.3 部署安全的etcd高可用集群

2.3.4 部署安全的Kubernetes Master高可用集群

2.3.5 部署Node的服务

2.3.6 kube-apiserver基于token的认证机制

2.4 使用私有镜像库的相关配置

2.5 Kubernetes的版本升级

2.5.1 二进制文件升级

2.5.2 使用kubeadm进行集群升级

2.6 CRI(容器运行时接口)详解

2.6.1 CRI概述

2.6.2 CRI的主要组件

2.6.3 Pod和容器的生命周期管理

2.6.4 面向容器级别的设计思路

2.6.5 尝试使用新的Docker-CRI来创建容器

2.6.6 CRI的进展

2.7 kubectl命令行工具用法详解

2.7.1 kubectl用法概述

2.7.2 kubectl子命令详解

2.7.3 kubectl可操作的资源对象详解

2.7.4 kubectl的公共参数说明

2.7.5 kubectl格式化输出

2.7.6 kubectl常用操作示例

第3章 深入掌握Pod

3.1 Pod定义详解

3.2 Pod的基本用法

3.3 静态Pod

3.4 Pod容器共享Volume

3.5 Pod的配置管理

3.5.1 ConfigMap概述

3.5.2 创建ConfigMap资源对象

3.5.3 在Pod中使用ConfigMap

3.5.4 使用ConfigMap的限制条件

3.6 在容器内获取Pod信息(Downward API)

3.6.1 环境变量方式

3.6.2 Volume挂载方式

3.6.3 Downward API支持设置的Pod和Container信息

3.7 Pod生命周期和重启策略

3.8 Pod健康检查和服务可用性检查

3.9 玩转Pod调度

3.9.1 Deployment或RC:全自动调度

3.9.2 NodeSelector:定向调度

3.9.3 NodeAffinity:Node亲和性调度

3.9.4 PodAffinity:Pod亲和与互斥调度策略

3.9.5 Taints和Tolerations(污点和容忍)

3.9.6 Pod Priority Preemption:Pod优先级调度

3.9.7 DaemonSet:在每个Node上都调度一个Pod

3.9.8 Job:批处理调度

3.9.9 Cronjob:定时任务

3.9.10 自定义调度器

3.9.11 Pod容灾调度

3.10 Init Container(初始化容器)

3.11 Pod的升级和回滚

3.11.1 Deployment的升级

3.11.2 Deployment的回滚

3.11.3 暂停和恢复Deployment的部署操作

3.11.4 其他管理对象的更新策略

3.12 Pod的扩缩容

3.12.1 手动扩缩容机制

3.12.2 自动扩缩容机制

3.13 使用StatefulSet搭建MongoDB集群

3.13.1 前提条件

3.13.2 部署StatefulSet

3.13.3 查看MongoDB集群的状态

3.13.4 StatefulSet的常见应用场景

第4章 深入掌握Service

4.1 Service定义详解

4.2 Service的概念和原理

4.2.1 Service的概念

4.2.2 Service的负载均衡机制

4.2.3 Service的多端口设置

4.2.4 将外部服务定义为Service

4.2.5 将Service暴露到集群外部

4.2.6 Service支持的网络协议

4.2.7 Kubernetes的服务发现机制

4.2.8 Headless Service的概念和应用

4.2.9 端点分片与服务拓扑

4.3 DNS服务搭建和配置指南

4.3.1 修改每个Node上kubelet的DNS启动参数

4.3.2 部署CoreDNS服务

4.3.3 服务名的DNS解析

4.3.4 CoreDNS的配置说明

4.4 Node本地DNS缓存

4.5 Pod的DNS域名相关特性

4.5.1 Pod的DNS域名

4.5.2 为Pod自定义hostname和subdomain

4.5.3 Pod的DNS策略

4.5.4 Pod中的自定义DNS配置

4.6 Ingress 7层路由机制

4.6.1 一个完整的例子(Ingress Controller+Ingress策略+客户端访问)

4.6.2 Ingress资源对象详解

4.6.3 Ingress策略配置详解

4.6.4 Ingress的TLS安全设置

第5章 核心组件的运行机制

5.1 Kubernetes API Server原理解析

5.1.1 Kubernetes API Server概述

5.1.2 API Server架构解析

5.1.3 独特的Kubernetes Proxy API接口

5.1.4 集群功能模块之间的通信

5.1.5 API Server网络隔离的设计

5.2 Controller Manager原理解析

5.2.1 副本调度控制器

5.2.2 Node Controller

5.2.3 ResourceQuota Controller

5.2.4 Namespace Controller

5.2.5 Service Controller与Endpoints Controller

5.3 Scheduler原理解析

5.3.1 Scheduler的调度流程

5.3.2 Scheduler Framework

5.3.3 多调度器特性

5.4 kubelet运行机制解析

5.4.1 节点管理

5.4.2 Pod管理

5.4.3 容器健康检查

5.4.4 cAdvisor资源监控

5.4.5 容器运行时

5.5 kube-proxy运行机制解析

5.5.1 第一代Proxy

5.5.2 第二代Proxy

5.5.2 第三代Proxy

第6章 深入分析集群安全机制

6.1 API Server认证管理

6.1.1 HTTPS证书认证

6.1.2 HTTP Bearer Token认证

6.1.3 OpenID Connect Token第三方认证

6.1.4 Authenticating Proxy(认证代理)

6.2 API Server授权管理

6.2.1 ABAC授权模式详解

6.2.2 Webhook授权模式详解

6.2.3 RBAC授权模式详解

6.2.4 Node授权模式详解

6.3 Admission Control

6.4 Service Account

6.5 Secret私密凭据

6.6 Pod安全策略

6.6.1 PodSecurityPolicy的工作机制

6.6.2 PodSecurityPolicy配置详解

6.6.3 PodSecurityPolicy策略示例

6.6.4 PodSecurityPolicy的RBAC授权

6.6.5 Pod安全设置(Security Context)详解

第7章 网络原理

7.1 Kubernetes网络模型

7.2 Docker网络基础

7.2.1 网络命名空间

7.2.2 Veth设备对

7.2.3 网桥

7.2.4 iptables和Netfilter

7.2.5 路由

7.3 Docker的网络实现

7.3.1 查看Docker启动后的系统情况

7.3.2 查看容器启动后的网络配置(容器无端口映射)

7.3.3 查看容器启动后的网络配置(容器有端口映射)

7.3.4 Docker的网络局限性

7.4 Kubernetes的网络实现

7.4.1 容器到容器的通信

7.4.2 Pod之间的通信

7.5 Pod和Service网络实战

7.5.1 部署一个RC/Pod

7.5.2 发布一个服务

7.6 CNI网络模型

7.6.1 CNM网络模型简介

7.6.2 CNI网络模型详解

7.6.3 在Kubernetes中使用网络插件

7.7 开源容器网络方案

7.7.1 Flannel插件的原理和部署示例

7.7.2 Open vSwitch插件的原理和部署示例

7.7.3 直接路由的原理和部署示例

7.7.4 Calico插件的原理和部署示例

7.8 Kubernetes的网络策略

7.8.1 网络策略设置说明

7.8.2 Selector功能说明

7.8.3 为命名空间配置默认的网络策略

7.8.4 网络策略应用示例

7.8.5 NetworkPolicy的发展

7.9 Kubernetes对IPv4和IPv6双栈的支持

7.9.1 为Kubernetes集群启用IPv4和IPv6双栈

7.9.2 Pod双栈IP地址验证

7.9.3 Service双栈IP地址验证

第8章 存储原理和应用

8.1 Kubernetes存储机制概述

8.1.1 将资源对象映射为存储卷

8.1.2 Node本地存储卷

8.2 持久卷(Persistent Volume)详解

8.2.1 PV和PVC的工作原理

8.2.2 PV详解

8.2.3 PVC详解

8.2.4 Pod使用PVC

8.2.5 StorageClass详解

8.3 动态存储管理实战:GlusterFS

8.3.1 准备工作

8.3.2 创建GlusterFS管理服务容器集群

8.3.3 创建Heketi服务

8.3.4 通过Heketi管理GlusterFS集群

8.3.5 定义StorageClass

8.3.6 定义PVC

8.3.7 Pod使用PVC的存储资源

8.4 CSI存储机制详解

8.4.1 CSI的设计背景

8.4.2 CSI的核心组件和部署架构

8.4.3 CSI存储插件应用实战

8.4.4 CSI存储快照管理

8.4.5 CSI的发展

第9章 Kubernetes开发指南

9.1 REST简述

9.2 Kubernetes API详解

9.2.1 Kubernetes API概述

9.2.2 Kubernetes API版本的演进策略

9.2.3 API Groups(API组)

9.2.4 API REST的方法说明

9.2.5 API Server响应说明

9.3 使用Fabric8访问Kubernetes API

9.3.1 具体应用示例

9.3.2 其他客户端库

9.4 Kubernetes API的扩展

9.4.1 使用CRD扩展API资源

9.4.2 使用API聚合机制扩展API资源

第10章 Kubernetes运维管理

10.1 Node管理

10.1.1 Node的隔离与恢复

10.1.2 Node的扩容

10.2 更新资源对象的Label

10.3 Namespace:集群环境共享与隔离

10.3.1 创建Namespace

10.3.2 定义Context

10.3.3 设置工作组在特定Context中工作

10.4 Kubernetes资源管理

10.4.1 计算资源管理

10.4.2 资源配置范围管理(LimitRange)

10.4.3 资源服务质量管理(Resource QoS)

10.4.4 资源配额管理(Resource Quotas)

10.4.5 ResourceQuota和LimitRange实践

10.4.6 Pod中多个容器共享进程命名空间

10.4.7 PID资源管理

10.4.8 节点的CPU管理策略

10.4.9 拓扑管理器

10.5 资源紧缺时的Pod驱逐机制

10.5.1 驱逐时机

10.5.2 驱逐阈值

10.5.3 节点状态

10.5.4 节点状态的振荡

10.5.5 回收Node级别的资源

10.5.6 驱逐用户的Pod

10.5.7 资源最少回收量

10.5.8 节点资源紧缺情况下的系统行为

10.5.9 可调度的资源和驱逐策略实践

10.5.10 现阶段的问题

10.6 Pod Disruption Budget(主动驱逐保护)

10.7 Kubernetes集群监控

10.7.1 使用Metrics Server监控Node和Pod的CPU和内存使用数据

10.7.2 Prometheus+Grafana集群性能监控平台搭建

10.8 Kubernetes集群日志管理

10.8.1 容器应用和系统组件输出日志的各种场景

10.8.2 Fluentd+Elasticsearch+Kibana日志系统部署

10.8.3 部署日志采集sidecar工具采集容器日志

10.9 Kubernetes的审计机制

10.10 使用Web UI(Dashboard)管理集群

10.11 Helm:Kubernetes应用包管理工具

10.11.1 Helm的整体架构

10.11.2 Helm版本说明

10.11.3 Helm的安装

10.11.4 Helm的使用

10.11.5 Chart说明

10.11.6 搭建私有Chart仓库

第11章 Trouble Shooting指南

11.1 查看系统Event

11.2 查看容器日志

11.3 查看Kubernetes服务日志

11.4 常见问题

11.4.1 由于无法下载pause镜像导致Pod一直处于Pending状态

11.4.2 Pod创建成功,但RESTARTS数量持续增加

11.4.3 通过服务名无法访问服务

11.5 寻求帮助

第12章 Kubernetes开发中的新功能

12.1 对Windows容器的支持

12.1.1 在Windows Server上安装Docker

12.1.2 在Windows Server上部署Kubernetes Node组件

12.1.3 在Windows Server上部署容器应用和服务

12.1.4 Kubernetes支持的Windows容器特性、限制和发展趋势

12.2 对GPU的支持

12.2.1 环境准备

12.2.2 在容器中使用GPU资源

12.2.3 发展趋势

12.3 Pod的垂直扩缩容

12.3.1 VPA详解

12.3.2 安装Vertical Pod Autoscaler

12.3.3 为Pod设置垂直扩缩容

12.3.4 注意事项

12.4 Kubernetes生态系统与演进路线

12.4.1 Kubernetes与CNCF

12.4.2 Kubernetes的演进路线

12.4.3 Kubernetes的开发模式

附录A Kubernetes核心服务配置详解

后折页

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部