云原生操作系统Kubernetes
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787121399473
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:24cm
- 页数:24,209页
- 出版时间:2021-01-01
- 条形码:9787121399473 ; 978-7-121-39947-3
本书特色
适读人群 :本书适合有一定基础的Kubernetes集群开发工程师和运维工程师阅读。遨游海域的座头鲸、成群结队的角马、群聚飞翔的火烈鸟……构成了一幅幅壮美的生存画面,迁徙是自然界令人叹为观止的景观。 数智时代的“上云”与自然界的“迁徙”何其相似啊! 2021年伊始,我们博文视点的编辑团队联合阿里云技术团队,为广大IT技术人员奉上“阿里云数字新基建系列”。这个系列包括5本书,题材涉及Kubernetes、混合云架构、云数据库、CDN原理与流媒体技术、云服务器运维(Windows),囊括了领先的云技术知识与阿里云技术团队独到的实践经验,是国内IT技术图书中又一套重磅作品! 《云原生操作系统Kubernetes》是这套系列书较早出版的一本,本书的特点请见宝贝长图!强烈建议您阅读!
内容简介
阿里云数字新基建系列包括5本书,题材涉及Kubernetes、混合云架构、云数据库、CDN原理与流媒体技术、云服务器运维(Windows),囊括了领先的云技术知识与阿里云技术团队独到的实践经验,是国内IT技术图书又一套重磅作品! 本书是阿里云容器服务产品线上实践的技术沉淀,主要包括理论篇和实践篇两部分内容。理论篇注重理论介绍,核心是Kubernetes on Cloud,即着重介绍Kubernetes和阿里云产品的结合。实践篇是疑难问题的诊断案例,希望通过案例来和读者分享Kubernetes深度问题诊断经验。 我们相信,Kubernetes on Cloud是未来十年云原生应用的底座,在这个底座之上势必会产生无数创新和实践,所以我们希望这本书可以对此技术的发展产生些许推动作用。
目录
上篇 理论篇(技术进阶)
第1章 鸟瞰云上Kubernetes
1.1 内容概要 002
1.2 云资源层
1.2.1 专有版
1.2.2 托管版
1.2.3 Serverless版
1.3 单机系统层
1.4 集群系统层
1.4.1 专有版
1.4.2 托管版
1.4.3 Serverless版
1.5 功能扩展层
1.5.1 监控
1.5.2 日志
1.5.3 DNS
1.6 总结
第2章 认识集群的大脑
2.1 从控制器视角看集群
2.2 控制器的产生与演进
2.2.1 设计一台冰箱
2.2.2 统一操作入口
2.2.3 引入控制器
2.2.4 统一管理控制器
2.2.5 Shared Informer
2.2.6 List Watcher
2.3 控制器示例
2.3.1 服务控制器
2.3.2 路由控制器
2.4 总结
第3章 网络与通信原理
3.1 背景
3.2 阿里云Kubernetes集群网络大图
3.3 集群网络搭建
3.3.1 初始阶段
3.3.2 集群阶段
3.3.3 节点阶段
3.3.4 Pod阶段
3.4 通信原理
3.5 总结
第4章 节点伸缩的实现
4.1 节点增加原理
4.1.1 手动添加已有节点
4.1.2 自动添加已有节点
4.1.3 集群扩容
4.1.4 自动伸缩
4.2 节点减少原理
4.3 节点池原理
4.4 总结
第5章 认证与调度系统
5.1 “关在笼子里”的程序
5.1.1 代码
5.1.2 “笼子”
5.1.3 地址
5.2 得其门而入
5.2.1 入口
5.2.2 双向数字证书验证
5.2.3 KubeConfig文件
5.2.4 访问
5.3 择优而居
5.3.1 两种节点,一种任务
5.3.2 择优而居
5.3.3 Pod配置
5.3.4 日志级别
5.3.5 创建Pod
5.3.6 预选
5.3.7 优选
5.3.8 得分
5.4 总结
第6章 简洁的服务模型
6.1 服务的本质是什么
6.2 自带通信员
6.3 让服务照进现实
6.4 基于Netfilter的实现
6.4.1 过滤器框架
6.4.2 节点网络大图
6.4.3 升级过滤器框架
6.4.4 用自定义链实现服务的反向代理
6.5 总结
第7章 监控与弹性能力
7.1 阿里云容器服务Kubernetes的监控总览
7.1.1 云服务集成
7.1.2 开源集成方案
7.2 阿里云容器服务Kubernetes的弹性总览
7.2.1 调度层弹性组件
7.2.2 资源层弹性组件
7.3 总结
第8章 镜像下载自动化
8.1 镜像下载这件小事
8.2 理解OAuth 2.0协议
8.3 Docker扮演的角色
8.3.1 整体结构
8.3.2 理解docker login
8.3.3 拉取镜像是怎么回事
8.4 Kubernetes实现的私有镜像自动拉取
8.4.1 基本功能
8.4.2 进阶方式
8.5 阿里云实现的ACR credential helper
8.6 总结
第9章 日志服务的集成
9.1 日志服务介绍
9.2 采集方案介绍
9.2.1 方案简介
9.2.2 运行流程
9.2.3 配置方式
9.3 核心技术介绍
9.3.1 背景
9.3.2 实现方式
9.3.3 alibaba-log-controller内部实现
9.4 总结
第10章 集群与存储系统
10.1 从应用的状态谈起
10.1.1 无状态的应用
10.1.2 有状态的应用
10.2 基本单元:Pod Volume
10.3 核心设计:PVC与PV体系
10.4 与特定存储系统解耦
10.4.1 Volume Plugin
10.4.2 in-tree(内置) Volume Plugin
10.4.3 out-of-tree(外置) Volume Plugin
10.5 Kubernetes CSI管控组件容器化部署
10.6 基于Kubernetes的存储
10.7 总结
第11章 流量路由Ingress
11.1 基本原理
11.1.1 解决的问题
11.1.2 基础用法
11.1.3 配置安全路由
11.1.4 全局配置和局部配置
11.1.5 实现原理
11.2 场景化需求
11.2.1 多入口访问Ingress
11.2.2 部署多套Ingress Controller
11.3 获取客户端真实IP地址
11.3.1 理解客户端真实IP地址的传递过程
11.3.2 ExternalTrafficPolicy的影响
11.3.3 如何获取客户端真实IP地址
11.4 白名单功能
11.5 总结
第12章 升级设计与实现
12.1 升级预检
12.1.1 核心组件检查项
12.1.2 前置检查增项
12.2 原地升级与替代升级
12.2.1 原地升级
12.2.2 替代升级
12.3 升级三部曲
12.3.1 升级Master节点
12.3.2 升级Worker节点
12.3.3 核心组件升级
12.4 总结
下篇 实践篇(诊断之美)
第13章 节点就绪状态异常(一)
13.1 问题介绍
13.1.1 就绪状态异常
13.1.2 背景知识
13.1.3 关于PLEG机制
13.2 Docker 栈
13.2.1 docker daemon调用栈分析
13.2.2 Containerd调用栈分析
13.3 什么是D-Bus
13.3.1 runC请求D-Bus
13.3.2 原因并不在D-Bus
13.4 Systemd是硬骨头
13.4.1 “没用”的core dump
13.4.2 零散的信息
13.4.3 代码分析
13.4.4 Live Debugging
13.4.5 怎么判断集群节点NotReady是这个问题导致的
13.5 问题的解决
13.6 总结
第14章 节点就绪状态异常(二)
14.1 问题介绍
14.2 节点状态机
14.3 就绪三分钟
14.4 止步不前的PLEG
14.5 无响应的Terwayd
14.6 原因
14.7 修复
14.8 总结
第15章 命名空间回收机制失效
15.1 问题背景介绍
15.2 集群管控入口
15.3 命名空间控制器的行为
15.3.1 删除收纳盒里的资源
15.3.2 API、Group、Version
15.3.3 控制器不能删除命名空间里的资源
15.4 回到集群管控入口
15.5 节点与Pod的通信
15.6 集群节点访问云资源
15.7 问题回顾
15.8 总结
第16章 网络安全组加固对与错
16.1 安全组扮演的角色
16.2 安全组与集群网络
16.3 怎么管理安全组规则
16.3.1 限制集群访问外网
16.3.2 IDC与集群互访
16.3.3 使用新的安全组管理节点
16.4 典型问题与解决方案
16.4.1 使用多个安全组管理集群节点
16.4.2 限制集群访问公网或运营商级NAT保留地址
16.4.3 容器组跨节点通信异常
16.5 总结
第17章 网格应用存活状态异常
17.1 在线一半的微服务
17.2 认识服务网格
17.3 代理与代理的生命周期管理
17.4 就绪检查的实现
17.5 控制面和数据面
17.6 简单的原因
17.7 阿里云服务网格(ASM)介绍
17.8 总结
第18章 网格自签名根证书过期
18.1 连续重启的Citadel
18.2 一般意义上的证书验证
18.3 自签名证书验证失败
18.4 大神定理
18.5 Citadel证书体系
18.6 经验
18.7 总结
附录A 本书插图索引
附录B 本书部分缩略语 P210
节选
第 6 章 简洁的服务模型 在 CNCF(云原生计算基金会)对云原生的定义中,容器、微服务、服务网格、不可变基础设施和声明式 API 被作为云原生的代表性技术。其中的容器、不可变基础设施和声明式 API 的作用是建立一个自动化的、容错性强的应用承载平台 ;而微服务和服务网格的作用则是为应用提供优秀的内部模块间的互通机制和对外服务接口机制。 Kubernetes 作为云原生的操作系统,实现了一套默认的服务机制。这套机制的特点是足够健壮且足够简单,基本上能够满足大多数业务需求,用户可以在这套机制的基础上搭建自己的微服务环境。 虽然 Kubernetes 的服务机制上手比较容易,但是在对云上海量问题的处理过程中,我们发现大多数工程师对服务机制,或者说机制背后的原理不是很清楚,这会严重影响工程师的运维开发效率。 本章以 Kubernetes 服务为主题,希望通过深入的解释,可以让读者理解服务的本质及实现原理。 6.1 服务的本质是什么 从概念上来讲,Kubernetes 集群的服务,其实就是负载均衡或反向代理。这跟阿里云的负载均衡产品有很多类似的地方。和负载均衡一样,服务有它的 IP 地址以及前端端口,同时服务后面会挂载多个容器组作为其“后端服务器”,这些“后端服务器”有自己的 IP 地址以及监听端口,如图 6-1 所示。 当这样的负载均衡和后端的架构与 Kubernetes 集群结合的时候,我们可以想到的*直观的实现方式,就是集群中某一个节点专门做负载均衡(类似Linux 虚拟服务器)的角色(见图 6-2),而其他节点则用来承载后端容器组。 这样的实现方法有一个巨大的缺陷,就是单点问题。Kubernetes 集群是 Google 多年来自动化运维实践的结晶,这样的实现显然与其自动化运维的哲学是相背离的。 6.2 自带通信员 边车(sidecar)模式是微服务领域的核心概念。边车模式换一个通俗一点的说法,就是自带通信员模式。熟悉服务网格的读者肯定对它很熟悉了,但是可能很少有人注意到,其实 Kubernetes 集群原始服务的实现,也是基于边车模式的,如图 6-3 所示。 在 Kubernetes 集群中,服务的实现实际上是为每一个集群节点部署了一个反向代理 sidecar。而所有对集群服务的访问,都会被节点上的反向代理转换成对服务后端容器组的访问。基本上,节点和这些 sidecar 的关系如图 6-4所示。 6.3 让服务照进现实 我们在前面两节中看到了,Kubernetes 集群的服务本质上是负载均衡,即反向代理 ;同时我们知道了,在具体实现中,这个反向代理,并不是部署在集群某一个节点上的,而是作为集群节点的 sidecar 部署在每个节点上的。 在这里让服务“照”进反向代理这个“现实”的,是 Kubernetes 集群的一个控制器,即 kube-proxy。简单来说,kube-proxy 作为部署在集群节点上的控制器,通过集群 API Server 监听着集群状态变化。当有新的服务被创建的时候,kube-proxy 会把集群服务的状态、属性,翻译成反向代理的配置,整个过程如图 6-5 所示。 那剩下的问题就是反向代理(即图 6-5 中的 Proxy)的实现了。
作者简介
阿里云全球技术服务部团队在支持企业架构云原生化方面,积累了丰富的实战经验,服务了数万个国内外企业客户。本书作者均来自该团队。 罗建龙,阿里云互联网行业解决方案架构师,阿里云售后云原生技术领头人。专注于传统操作系统、显卡操作系统、云原生操作系统等领域。 刘中巍,阿里云容器高级技术专家。在加入阿里巴巴之前,曾在微软亚洲研究院做虚拟现实方向研究。现主要负责阿里云容器服务产品的弹性伸缩与监控、大数据的研发,从事容器的持续交付、持续集成方案的设计与实现。在云计算、分布式系统、图像识别与虚拟现实方向有多年的开发实践经验。 张城,阿里云日志服务技术专家。负责阿里巴巴集团、蚂蚁金服、阿里云等的日志采集基础设施,服务数万名内外部客户。同时负责云原生相关的日志解决方案,包括系统组件、负载均衡、审计、安全、Service Mesh、事件、应用等日志方案。目前主要关注可观察性、AIOps、大规模分析引擎等方向。 黄珂,阿里巴巴高级研发工程师,主要负责Kubernetes容器存储和网络相关的基础研发工作,参与了阿里集团内部有状态应用的带存储和网络的迁移,以及大规模实施在线业务存储计算分离项目。对Kubernetes中存储相关组件的设计,以及规模化场景的性能优化具有很深的理解和丰富的实践经验。 苏夏,阿里云智能AES专家服务高级技术工程师,现主要负责阿里云大客户售后技术支持以及重点项目的专家服务工作,在云原生kubernetes、服务网格、弹性计算、负载均衡等领域有多年的技术支持经验。 高相林,阿里云原生应用平台高级开发工程师,主要负责阿里云容器服务产品的集群和组件生命周期管理系统研发,以及版本生命周期管理。Kubernetes开源社区成员。 盛训杰,阿里云高级技术支持工程师。在阿里云全球技术服务部,负责阿里云弹性计算产品及容器服务产品的技术支持工作,在企业上云及应用容器化转型方面有着丰富的实施落地经验。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
基于3D打印技术的产品创新设计方法
¥45.8¥88.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0