书籍作者:韩先超 | ISBN:9787302644347 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3080 |
创建日期:2024-04-18 | 发布日期:2024-04-18 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书作者从事容器技术方面的研究和实践已近十年,还是一位Kubernetes讲师和社区贡献者,其录制的Kubernetes视频课入选了工信部人才交流中心官方认证课程,本书是在总结多年来不断改进的视频课的基础上精心编撰而成,内容经过学员检验,值得依赖。
本书从Docker容器基础开始,介绍了Kubernetes的基础知识、集群构建、核心资源和应用场景,书中还给出大量企业级项目与DevOps案例,这些案例也是当前Kubernetes应用的热点,如流理治理、监控、高吞吐量日志收集、自动化扩缩容和容器平台构建、灰度发布等。对于初学者来说,一本易物理解的Kubernetes教程可以节省不少学习时间,因此,本书对大部分命令和配置资源都给出了详尽细致的注释和说明,并对操作步骤给出了详细步骤解析,这一点对于初学者者来说非常友好。
本书除介绍Kubernetes本身,还介绍了很多周边相关技术,比如,Jekins、CI\CD、Istio、Prommethues、Ingress、K3s等,有助于读者整合运用这些技术,真正解决生产实践中遇到的问题。
总之,这是一本理解兼备实践,注重实操的Kubernetes好书,期待读者从本书中收获多多。
韩先超
高级运维,Kubernetes架构师,国内最早一批Kubernetes布道者,曾就职于世界500强上市公司,拥有 RHCE、RHCA、CKA等认证证书,对于Linux、DevOps、Kubernetes和自动化等领域有着深入的理解和实践经验。
在 CSDN、51CTO等平台发表过多篇Linux、DevOps、Kubernetes、自动化等方面的文章,累计阅读量突破100万;在 51CTO平台的Kubernetes课程拥有近200万学员;推出的Kubernetes课程被选入工信部人才交流中心官方认证课程 。
在2021年5月28日由51CTO主办,中关村数智人工智能产业联盟指导的《数启创新 云触未来! Web3.0云响力新一 代云计算大会》中作为主讲嘉宾分享Kubernetes如何助力企业转型,被北京日报和环球网发文专题报道;受Linux 基金会邀请,作为主讲嘉宾分享Kubernetes在企业中的发展趋势和具体应用场景;曾为国家电网、振兴银行、中 国移动、中国电信,天翼物联、任子行等大型企业提供Kubernetes技术培训;还积极参与企业内训项目,为各大 企业提供技术培训和解决方案支持。
亲爱的读者,很高兴向你介绍我的新书《Kubernetes从入门到DevOps企业应用实战》。在过去的几年中,我一直从事容器和Kubernetes的相关工作,通过实践和培训,我意识到学习Kubernetes对于企业的发展至关重要。
从2013年Docker容器推出到2014年Kubernetes开源项目推出至今,我接触容器技术也有了差不多十年时间,在学习和实践期间,深刻感受到Kubernetes这个工具如果完全靠自学,还是有一定难度的,为了使读者尽快掌握这个工具,我推出了Kubernetes系列视频课程,受到了广大学员的欢迎,并入选了工信部人才交流中心认证课程,本书就是在系列课程的基础上编撰完成的。
本书的特点是以实践为主,内容涵盖容器技术、Kubernetes核心资源以及基于Kubernetes的企业实践。我将使用循序渐进、逐步深入的方式,从容器的基础知识开始,向读者介绍Kubernetes各个方面的知识,并辅之以操作范例和应用场景,书中还给出了大量有实用价值的案例和项目,既可以帮助读者深入理解Kubernetes的概念和原理,又能够在实际工作中进行 实践。
第1~3章讲解容器技术,这是理解Kubernetes的必要基础,重点介绍容器的定义、创建和管理容器、容器网络和存储等方面的知识。
第4章讲解如何使用Kubeadm和二进制文件安装高可用Kubernetes集群。
第5~12章讲解Kubernetes的核心资源,包括Pod、Deployment、Service、Ingress等资源的定义、使用和管理方法,以及实际应用场景。
第13~20章讲解基于Kubernetes的企业实践,主要通过实际项目或案例介绍如何使用Kubernetes解决实际问题,包括使用Kubernetes进行应用程序的部署、容器云平台的构建、流量治理、监控、自动化扩缩容和灰度发布等。
本书提供了丰富的资源文件,包括Kubernetes的官方文档、Kubernetes的学习资源、Kubernetes的工具和插件等。这些资源可以帮助读者更好地学习和理解Kubernetes,可扫描以下二维码获取:
Kubernetes配书资源.part1 Kubernetes配书资源.part2 Kubernetes配书资源.part3 配书资源使用说明
本书基于Kubernetes 1.27新版本编写(本书的内容也适合1.20之后的所有版本),从零基础开始,涵盖理论知识、企业案例,以及自动化运维DevOps体系和一些大厂架构设计思路,适合云原生领域的从业者、Kubernetest初学者、运维和开发人员使用,也可作为企业内训、培训机构和大中专院校的教学用书。
如果你对Kubernetes和本书有任何问题或建议,请随时联系我,你还可以在Gitee上找到我做的项目(联系方式参见下载文件)。
最后,感谢清华大学出版社的编辑王金柱老师的全力支持和指导,以及我的妻子王静女士和各位技术同行的支持和鼓励。希望这本书能够帮助各位读者学习和使用Kubernetes,从而推动企业的发展和进步。
韩先超
2023年5月
第1章 Docker初探 1
1.1 Docker概述 1
1.1.1 Docker是什么 1
1.1.2 Docker的版本 2
1.1.3 学习Docker的方式 2
1.2 Docker的组成与特点 2
1.2.1 Docker的组成 2
1.2.2 Docker的特点 4
1.3 安装和配置Docker 5
1.3.1 配置主机名 5
1.3.2 关闭Firewalld防火墙 6
1.3.3 关闭SELinux 6
1.3.4 配置时间同步 7
1.3.5 编写计划任务 7
1.3.6 重启crond服务使计划任务生效 8
1.3.7 安装基础软件包 8
1.3.8 安装Docker-CE 9
1.3.9 修改内核参数 11
1.3.10 配置Docker镜像加速器 13
1.4 Docker镜像与容器 14
1.4.1 Docker镜像 14
1.4.2 Docker容器 17
1.5 案例:通过Docker部署Nginx服务 24
1.5.1 基于CentOS镜像运行一个Docker容器 24
1.5.2 查看Docker容器是否正常运行 24
1.5.3 在Docker中安装Nginx容器 25
1.5.4 在Docker容器中通过yum安装Nginx 26
1.6 本章小结 28
第2章 Dockerfile构建企业级镜像 29
2.1 Dockerfile语法详解 29
2.2 Dockerfile构建企业级镜像 43
2.2.1 案例:Dockerfile构建Nginx镜像 43
2.2.2 案例:Dockerfile构建Tomcat镜像 48
2.3 本章小结 50
第3章 Docker私有镜像仓库Harbor 51
3.1 Harbor的概念及证书签发 51
3.2 安装Harbor 53
3.3 Harbor图形界面使用说明 57
3.4 测试使用Harbor私有镜像仓库 59
3.5 Harbor高可用 62
3.6 本章小结 63
第4章 Kubeadm快速搭建Kubernetes集群 64
4.1 初始化实验环境 65
4.1.1 配置静态IP地址 67
4.1.2 配置机器主机名 68
4.1.3 配置主机hosts文件 68
4.1.4 配置控制节点到工作节点无密码登录 68
4.1.5 关闭交换分区 69
4.1.6 修改机器内核参数 70
4.1.7 关闭Firewalld防火墙 72
4.1.8 关闭SELinux 72
4.1.9 配置安装Docker和Containerd需要的阿里云的在线yum源 73
4.1.10 配置安装Kubernetes组件需要的阿里云的在线yum源 74
4.1.11 配置时间同步 75
4.1.12 安装Docker-CE和Containerd服务 76
4.2 安装Kubernetes集群 80
4.2.1 安装初始化Kubernetes集群需要的软件包 80
4.2.2 Kubeadm初始化Kubernetes集群 81
4.2.3 配置Kubectl的配置文件config 83
4.3 扩容Kubernetes集群 85
4.3.1 添加第一个工作节点 85
4.3.2 添加第二个工作节点 86
4.4 安装Kubernetes网络插件Calico 88
4.4.1 安装Calico 88
4.4.2 Calico的配置 89
4.4.3 calico-kube-controllers解析 94
4.5 测试Kubernetes集群是否健康 95
4.5.1 测试在Kubernetes中创建的Pod是否可以正常访问网络 95
4.5.2 测试CoreDNS是否正常 96
4.5.3 延长证书 96
4.6 本章小结 99
第5章 Kubernetes核心资源Pod 100
5.1 Pod是什么 100
5.1.1 Pod基本介绍 100
5.1.2 Pod如何管理多个容器 101
5.1.3 Pod网络 102
5.1.4 Pod存储 102
5.2 Pod的工作方式 103
5.2.1 自主式Pod 103
5.2.2 控制器管理的Pod 107
5.3 如何创建一个Pod资源 111
5.3.1 通过YAML文件创建Pod资源 112
5.3.2 Pod资源清单编写技巧 113
5.3.3 创建一个完整的Pod资源 141
5.3.4 和Pod相关的命令解读 144
5.4 nodeName和nodeSelector 146
5.4.1 nodeName实例 147
5.4.2 nodeSelector实例 148
5.5 亲和性、污点和容忍度 149
5.5.1 节点亲和性 149
5.5.2 Pod亲和性和反亲和性 154
5.5.3 污点和容忍度 160
5.6 Pod生命周期和健康探测 165
5.6.1 初始化容器initcontainer 166
5.6.2 存活探测 167
5.6.3 就绪探测 170
5.6.4 容器钩子 172
5.7 本章小结 174
第6章 ReplicaSet和Deployment控制器管理Pod 175
6.1 ReplicaSet如何管理Pod 176
6.1.1 ReplicaSet概述 176
6.1.2 ReplicaSet资源清单文件的编写技巧 176
6.2 ReplicaSet管理Pod案例:部署Guestbook留言板 178
6.3 ReplicaSet管理Pod实例:扩容、缩容、更新 180
6.4 Deployment如何管理Pod 183
6.4.1 Deployment概述 183
6.4.2 Deployment如何管理ReplicaSet和Pod 184
6.5 Deployment资源清单文件的编写技巧 185
6.5.1 查看Deployment资源对象YAML文件的组成 186
6.5.2 查看Deployment下的spec字段 186
6.6 Deployment管理Pod案例解析 188
6.7 Deployment管理Pod:扩容和缩容 190
6.7.1 电商网站访问量急增——扩容Pod 190
6.7.2 电商网站淡季或业务低峰期——缩容Pod 191
6.8 基于Deployment实现Pod滚动更新——WebApp应用版本升级 192
6.9 本章小结 195
第7章 Service四层负载均衡 197
7.1 Service的概念与原理 197
7.1.1 Service基本介绍 197
7.1.2 Kubernetes集群中的3类IP地址 198
7.2 创建Service资源 200
7.2.1 创建Service资源的方法 200
7.2.2 案例:用YAML文件创建Service资源 200
7.2.3 查看定义Service资源需要的字段 202
7.2.4 Service的4种Type类型 203
7.2.5 Service的端口定义 206
7.2.6 创建Service:类型是ClusterIP 207
7.2.7 创建Service:类型是NodePort 209
7.2.8 创建Service:类型是ExternalName 212
7.3 本章小结 215