书籍作者:邱宝 | ISBN:9787111669364 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:9946 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
这是一本面向公有云容器产品学习者和使用者的实战指南。由腾讯云资深云计算技术专家撰写,以腾讯云TKE容器产品为例,在普及开源容器知识的基础上,结合多种标准方法和丰富案例,全方位地讲解了上云容器化的方法和技巧。
本书一共7章,每一章都是作者云上容器化落地的经验总结。
第1~2章 有针对性的讲解了Docker和Kubernetes等开源的容器技术的核心知识,帮助读者夯实基础;
第3~7章 以腾讯云的容器产品TKE为例,分两条主线:明线详细讲解了TKE的产品架构、产品功能、标准化操作、运维和企业级应用案例;暗线系统总结了上云容器化的方法和技巧。
这本书将帮助读者了解开源容器知识以及企业级公有云容器化操作,让读者逐步走进高效、低成本的云上容器世界,快速迈向云原生。
邱宝
资深云计算工程师,12年运维、云计算从业经验,曾就职于法国电信、IBM等知名企业,目前就职于腾讯云。擅长ELK、OpenStack、Kubernetes等开源技术,曾以专家身份参与过多家知名企业私有云、大数据日志分析等项目培训与方案设计,拥有丰富的云建设和架构优化经验。目前专注云计算产品、上云解决方案的研究和应用。
冯亮亮
资深云计算工程师,拥有多年云计算行业从业经验,曾就职于环球易购,目前就职于腾讯云。专注于云计算和运维架构等方面的研究,在云计算运维架构、业务上云领域有着非常丰富的项目经验,拥有多项云计算发明专利。
除了以上两位作者以外,以下人员也参与了部分章节的编写(按章节顺序):马凌鑫、王龙、杨泽华、王涛、安新海、肖华源、黄文才、陈勇。
(1)腾讯云资深云计算技术专家撰写
(2)官方一手资料全面讲解腾讯云容器产品TKE的架构、功能、应用和运维
(3)所有内容都是作者云上容器化经验的总结,详细呈现公有云容器化的方法和技巧
为什么要写这本书
这是一个技术井喷的时代,人工智能(AI)、大数据(Big data)、云计算(Cloud)三大方向组成的ABC让每一位IT人都踔厉风发,一往无前。
近几年,容器技术非常火爆,且日趋成熟,众多企业慢慢开始容器化建设,迈向云原生。此外,公有云也逐渐被各大、中、小企业所接受,大家纷纷选择上云,享受云带来的便利。但是云厂商的产品相对黑盒,有些上云方式和解决方案不容易获取,部分中小客户得不到专业架构师的指导,导致在上云过程中走了很多不必要的弯路。因此,为了加深中小客户对公有云产品的了解,传授给他们更多专业的上云方式,是很有必要的。
我们通过这本书,把公有云容器化的经验总结出来,分享给打算上云或者即将上云的朋友。本书以国内大型公有云—腾讯云TKE容器为例,在普及开源容器知识的基础上,结合多种标准上云方式和丰富的案例,全方位讲解上云容器化的一些方法。
读者对象
公有云接口负责人
云技术支持工程师
云研发工程师
云售前、售中架构师
运维工程师、运维开发工程师
高等院校相关专业师生
本书特色
本书是国内第一本专门讲解知名公有云产品标准化使用的书。
通俗地讲解Docker和Kubernetes技术。
帮助中小企业上云用户学习正确的云上容器化方式。
如何阅读本书
本书共7章,每一章都是我们团队云上容器化落地的经验总结。在公有云日渐成熟的今天,云上容器产品也逐渐功能齐全、稳定高效,可以减少相关人员日常繁杂的运维工作,降低IT成本。上云是企业当下非常正确的选择。在本书里,我们会从最基本的容器概念讲起,通过讲解Docker、Kubernetes、腾讯云TKE、实践案例等内容,带领读者一步步地走进高效、低成本的云上容器世界。
第1章 Docker容器基础
学习容器通常以了解Docker为起点。第1章从最基本的容器概念讲起,对Docker的由来、安装、使用、镜像、存储、网络、API等知识进行讲解,配合大量的案例实操辅助理解,希望读者能够尝试动手操作完成学习。
第2章 Kubernetes基础
容器技术火了之后,人们一直想找一个平台来有效地管理它。Google很早就预见到了容器的发展前景,因此迅速将其容器编排引擎开源,取名为Kubernetes(2015年发布了Kubernetes 1.0版本)。这个开源项目解决了容器资源的管理调度问题,整个IT界为之疯狂。不学Kubernetes,就很可能错失与IT技术一起发展的机会。第2章和第1章一样,将从基础概念讲起,带领读者从使用、搭建、网络、存储、安全等方面全方位学习Kubernetes。
第3章 腾讯云TKE产品介绍
若容器业务使用自建的Kubernetes系统,首先要对Kubernetes和Docker进行大量二次开发,其次需要全面考虑容器业务的日志、存储、监控等解决方案。我们既然选择了上云,那么在掌握了开源知识的同时,也要掌握云上产品侧的特性和正确的使用方法,这样才能顺利地使用云上产品快速部署我们的业务。第3章将分别从产品架构、功能、优势、成本等方面介绍腾讯云TKE产品。
第4章 腾讯云TKE标准化操作
只有容器标准化做得好,我们才能更好地去管理容器业务,特别是对于大规模复杂的业务场景。第4章主要从腾讯云TKE容器日志、镜像制作、Dockerfile、平台使用规范等方面讲解容器标准化操作。
第5章 腾讯云TKE应用案例
第5章结合几种典型的工作负载类型和日志应用、监控应用等案例来具体讲解腾讯云TKE的使用。
第6章 腾讯云TKE运维和排障
在生产环境中,容器化应用若出现容器业务故障,轻则影响业务访问,重则影响公司收入和口碑。云上环境也不能保证100%稳定,当出现一些常见故障时,我们在等待云服务技术支持的同时,应尽量控制风险,快速定位问题所在,将损失降到最低。第6章将介绍常见运维排障方式。
第7章 腾讯云TKE经典实践案例
按本书介绍的方法一步步运行,就可以对业务进行容器化上云操作。第7章将分享几个经典案例,以助力读者完成大规模业务场景的容器化落地。
勘误和支持
由于作者水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,我们特意创建了一个在线支持QQ群,阅读本书的朋友可以加入QQ群578717177交流探讨。书中的全部配置文件和代码除可以从华章网站www.hzbook.com下载外,还可以在本QQ群的群文件中下载。各位读者若发现相关错误和有相关建议,也可以在以下在线文档填写:https://docs.qq.com/sheet/DU3R2c1ZhbnFDY0Jw?c=E2A0A0。
勘误反馈表网站详情二维码如下:
致谢
首先感谢以下朋友和同事:马凌鑫、王龙、杨泽华、王涛、安新海、肖华源、黄文才、陈勇、陈鹏、张峻。他们为本书的编写提供了很多帮助,贡献了自己的力量。非常感谢各位技术道上朋友的支持,没有你们支持,本书也不可能顺利完成。
感谢机械工业出版社华章公司的编辑杨福川和韩蕊,他们始终支持着我们,鼓励、帮助、引导我们顺利完成全部书稿。
邱宝
Contents 目 录
前言
第1章 Docker容器基础1
1.1 什么是容器技术1
1.1.1 什么是容器1
1.1.2 容器技术的特点3
1.1.3 容器的标准化3
1.1.4 容器的主要应用场景4
1.2 什么是Docker5
1.2.1 Docker简介5
1.2.2 Docker的组成架构7
1.3 安装Docker8
1.3.1 安装的前提条件8
1.3.2 在CentOS 7.3上安装Docker9
1.3.3 在Windows 10 Pro上安装Docker11
1.4 Docker的基本用法11
1.4.1 用容器启动一个Nginx/MySQL/Redis服务12
1.4.2 如何进入容器16
1.4.3 如何停止、删除容器17
1.5 Docker镜像的基本操作18
1.5.1 获取镜像18
1.5.2 列出镜像20
1.5.3 导出/导入镜像22
1.5.4 删除本地镜像23
1.5.5 使用commit构建镜像24
1.6 用Dockerfile专业化定制镜像26
1.6.1 什么是Dockerfile26
1.6.2 常用的Dockerfile指令和语法27
1.7 镜像仓库35
1.7.1 共有仓库35
1.7.2 私有仓库37
1.8 存储基本配置39
1.8.1 什么是数据卷39
1.8.2 创建、挂载数据卷40
1.8.3 共享、同步数据卷42
1.8.4 备份、还原数据卷43
1.9 网络基本配置45
1.9.1 网络模型45
1.9.2 Docker原生的网络驱动47
1.9.3 Docker网络操作的基本命令48
1.10 Docker API的基本介绍和使用方式53
1.10.1 什么是API53
1.10.2 Docker API的种类54
1.10.3 API使用前的准备55
1.10.4 操作Docker API55
第2章 Kubernetes基础58
2.1 什么是容器云58
2.1.1 当前云计算的发展58
2.1.2 什么是IaaS、PaaS和SaaS59
2.1.3 容器云介绍61
2.2 什么是Kubernetes62
2.2.1 Kubernetes的基本介绍62
2.2.2 Kubernetes的技术架构65
2.2.3 Kubernetes解决了什么69
2.3 Kubernetes的基础知识70
2.4 深入理解Pod73
2.4.1 什么是Pod73
2.4.2 Pod的内部机制74
2.4.3 Pod的资源使用机制79
2.4.4 Pod的基本操作命令80
2.5 如何编写Pod YAML文件81
2.5.1 什么是YAML文件81
2.5.2 Pod YAML的参数定义82
2.6 如何理解编排85
2.6.1 通俗地理解编排85
2.6.2 Kubernetes与编排86
2.7 五种Kubernetes控制器88
2.7.1 为什么要有控制器88
2.7.2 Kubernetes有哪些控制器89
2.8 Kubernetes的网络91
2.8.1 虚拟化网络基础91
2.8.2 Docker的网络92
2.8.3 Kubernetes网络详解92
2.9 Kubernetes的存储98
2.9.1 存储虚拟化介绍98
2.9.2 Kubernetes存储机制设计100
2.9.3 Kubernetes CSI106
2.10 Kubernetes的安全机制108
2.10.1 节点侧安全108
2.10.2 Docker侧安全109
2.10.3 Kubernetes侧安全110
2.10.4 Kubernetes安全策略113
2.10.5 更安全的Kata Containers116
2.10.6 容器云平台安全的未来117
2.11 Kubernetes监控117
2.11.1 Pod的实时状态数据117
2.11.2 Pod的业务监控实现119
2.12 Kubernetes单点搭建121
2.12.1 安装环境121
2.12.2 初始化操作121
2.12.3 master节点初始化操作123
2.12.4 加入节点124
2.12.5 master节点安装进度124
2.12.6 安装flannel网络插件125
2.12.7 安装calico网络插件127
2.12.8 搭建总结129
2.13 Kubernetes高可用搭建130
2.13.1 安装环境130
2.13.2 初始化操作131
2.13.3 master节点初始化操作132
2.13.4 加入其他master节点133
2.13.5 加入节点134
2.13.6 master节点安装进度134
2.13.7 master节点安装flannel网络插件135
2.13.8 master节点安装calico网络插件138
2.13.9 搭建总结140
2.14 Kubernetes仪表板可视化141
2.14.1 私钥、证书签名和secret生成141
2.14.2 部署仪表板142
2.14.3 登录仪表板146
2.15 Kubernetes的API与源码147
2.15.1 Kubernetes的版本环境147
2.15.2 认证方式147
2.15.3 访问测试148
2.15.4 API示例149
2.15.5 代码解析155
2.15.6 主要功能介绍158
第3章 腾讯云TKE产品介绍184
3.1 产品介绍184
3.1.1 腾讯云TKE名词解释185
3.1.2 Docker镜像名词解释186
3.1.3 快速创建容器应用流程187
3.1.4 基于腾讯云TKE的业务交付187
3.2 腾讯云TKE产品架构188
3.3 腾讯云TKE产品功能189
3.3.1 集群管理189
3.3.2 应用管理190
3.3.3 服务管理190
3.3.4 配置项管理191
3.3.5 镜像管理191
3.4 腾讯云TKE产品优势192
3.4.1 腾讯云TKE与自建容器服务对比192
3.4.2 周边资源对比193
3.5 腾讯云TKE网络193
3.5.1 什么是私有网络193
3.5.2 GlobalRouter194
3.5.3 VPC-CNI197
3.6 腾讯云TKE与自建Kubernetes集群201
3.6.1 集群安装和升级201
3.6.2 集群网络201
3.6.3 存储202
3.6.4 负载均衡器202
3.6.5 镜像仓库202
3.6.6 集群运维及技术支持202
3.6.7 资金及人力成本203
第4章 腾讯云TKE标准化操作204
4.1 容器应用日志输出标准204
4.2 容器日志采集205
4.2.1 容器日志分类205
4.2.2 容器日志采集类型206
4.3 制作基础镜像207
4.4 Dockerfile编写规范212
4.5 容器业务类型214
4.5.1 腾讯云TKE集群类型214
4.5.2 节点类型215
4.5.3 工作负载选型215
4.5.4 业务StorageClass类型216
4.5.5 JVM内存限制217
4.5.6 业务选型总结217
4.6 腾讯云TKE平台使用规范218
第5章 腾讯云TKE应用案例219
5.1 腾讯云Docker镜像仓库授权连接GitLab219
5.1.1 镜像仓库开通219
5.1.2 源代码授权221
5.2 无状态服务部署WordPress应用224
5.2.1 Nginx和PHP基础镜像上传至腾讯云TKE镜像仓库224
5.2.2 验证镜像推送成功226
5.2.3 将Dockerfile上传至GitLab226
5.2.4 基于Dockerfile生成业务镜像228
5.2.5 构建镜像产生的日志说明230
5.2.6 业务镜像生成验证231
5.2.7 创建MySQL安全组232
5.2.8 创建MySQL数据库233
5.2.9 创建WordPress数据库237
5.2.10 部署WordPress容器网站服务239
5.3 无状态服务部署Java应用249
5.4 有状态服务部署MySQL应用252
5.5 Job任务型服务:Perl运算260
5.6 CronJob定时任务:echo定时应用264
5.7 DaemonSet守护任务:fluentd应用268
5.8 TKE Helm部署WordPress271
5.8.1 Helm架构272
5.8.2 开通TKE Helm272
5.8.3 Helm部署WordPress274
5.8.4 WordPress Chart部署信息275
5.8.5 访问验证277
5.9 Jenkins在TKE外网的架构及实现278
5.9.1 Jenkins持续集成278
5.9.2 Jenkins在TKE平台架构中的应用279
5.9.3 部署环境280
5.9.4 TKE集群侧配置280
5.9.5 Jenkins侧配置283
5.9.6 slave Pod构建配置292
5.9.7 构建测试296
5.9.8 自动化构建发布300
5.9.9 Jenkins批量构建配置307
5.10 部署案例之ELK308
5.11 容器日志的三种采集配置方式312
5.12 蓝绿部署328
5.13 灰度发布331
5.14 部署JMeter压测工具336
5.15 部署Prometheus监控341
5.16 部署Ingress kong网关347
5.17 部署Istio351
5.18 搭建Harbor仓库358
5.18.1 Harbor核心组件及部署环境358
5.18.2 非Harbor侧配置359
5.18.3 Harbor侧配置360
第6章 腾讯云TKE运维和排障369
6.1 容器服务高危操作369
6.2 WordPress容器化业务操作排错总结371
6.3 腾讯云TKE排障之节点与网络异常372
6.4 腾讯云TKE排障之Helm与镜像仓库375
6.5 腾讯云TKE排障之Service和Ingress异常376
6.6 腾讯云TKE排障之Pod异常382
6.7 腾讯云TKE排障之数据卷异常384
6.8 腾讯云TKE排障之控制台和监控异常384
6.9 腾讯云TKE健康检查385
6.9.1 脚本功能及使用385
6.9.2 自助健康检查387
第7章 腾讯云TKE经典实践案例390
7.1 腾讯云TKE应用跨区高可用部署方案(一)390
7.1.1 高可用部署架构390
7.1.2 使用腾讯云TKE进行高可用部署391
7.2 腾讯云TKE应用跨区高可用部署方案(二)402
7.2.1 使用Pod亲和性实现跨可用区部署403
7.2.2 部署原理分析408
7.3 腾讯自研业务上云:优化Kubernetes集群负载的技术方案探讨409
7.4 腾讯IEG游戏营销活动在腾讯云TKE中的实践415
7.5 基于腾讯云TKE的大规模强化学习实践421
7.5.1 项目挑战421
7.5.2 训练架构421
7.5.3 业务需求422
7.5.4 基于腾讯云TKE的大规模分布式强化学习解决方案422
7.5.5 创新性424
7.5.6 使用腾讯云TKE带来的价值424
7.5.7 遇到的问题426
7.6 云智天枢AI中台在腾讯云TKE中的实践427
7.6.1 云智天枢平台架构427
7.6.2 各核心窗口的架构设计429
7.7 某视频公司基于腾讯云TKE的微服务实践434
7.7.1 Spring Cloud微服务架构介绍434
7.7.2 Spring Cloud与Kubernetes的优势互补436
7.7.3 业务部署模式438
7.7.4 未来规划439
这段时间公司一直在做容器化改造,而且我们公司有用腾讯云,正好一筹莫展不知道如何下手弄,很有幸这本书刚刚出版,立马就京东买入了。书400多页,不多不少,内容由浅入深,该讲的都讲了,特别是云上容器TKE的使用注意事项以及如何配置维护。最后一章的案例也是比较干货,很有...
2020-12-23 13:54:03