图书前言

前言

PREFACE

在这个信息技术迅猛发展的时代, DevOps、容器化、微服务、持续集成与持续部署等概念已经成为现代软件开发和运维领域的基石。随着云计算、大数据、人工智能等技术的不断进步,企业对于 IT基础设施的搭建和运维提出了更高的要求,以实现快速迭代、高效交付和数字化转型。本书旨在为读者提供一套全面、系统的 DevOps知识体系,并结合实际项目案例,深入剖析各项技术的实践应用。

本书共 15 章,内容涵盖了从基础服务搭建、仓库管理器、自动化工具、镜像仓库、代码托管、持续交付、代码质量管理、容器编排、项目部署、接口抓取与调试、接口压测,到 DevOps的多方面,本书的主要特点如下。

(1)实用性强:以实际操作为主线,从零开始讲解,逐步带领读者掌握各项技能,助力解决在实际工作中遇到的问题。

(2)内容全面:覆盖了基础设施建设、代码管理、持续集成、持续部署、监控等各个环节,帮助读者构建完整的知识体系。

(3)步骤详细:每个操作步骤都进行了详细介绍,确保读者能够轻松跟随并掌握所学内容。

(4)案例丰富:通过实际项目案例,讲解如何在企业级项目中应用所学知识,提高项目交付效率。

(5)易于上手:从基础知识讲起,逐步深入,适合不同层次的读者学习。 通过阅读本书,读者将掌握以下技能:

(1)搭建稳定可靠的基础服务,如 SSL/TLS、Nginx、Docker、DNS、NTP等。

(2)使用 Nexus和 Harbor搭建私有仓库,实现高效的依赖管理和镜像存储。

(3)利用 Ansible实现自动化运维,提高工作效率。

(4)部署 GitLab和 Jenkins,实现代码托管和持续集成。

(5)使用 SonarQube进行代码质量管理,提高项目质量。

(6)搭建 Kubernetes集群,实现容器编排和自动化部署。

(7)掌握 API抓取与调试技巧,提高问题排查能力。

(8)进行接口压测,评估系统性能。

(9)理解 DevOps理念,构建高效、稳定的 IT运维体系。

本书适合广大软件开发人员、运维人员、 IT架构师及对 DevOps感兴趣的读者阅读。无论您是初学者还是有一定经验的从业者都能从本书中获得宝贵的知识和经验。希望本书能够成为您学习和实践 DevOps过程中的得力助手,帮助您不断提升自己的技术水平和团队协作能力,共同推动软件开发和运维领域的发展。

在这个快速发展的数字化时代,技术的迭代更新速度前所未有,企业对于 IT基础设施的依赖性也在不断增强。DevOps文化的兴起,以及容器化、自动化和云原生技术的普及,为企业的竞争力提供了强有力的支持。让我们一起踏上这场 DevOps的实践之旅,共同迎接更加美好的未来。

本书在撰写过程中所采用的硬件配置及价格详情见表 1。需要注意,表内各项所标注的价格均为作者购买时的参考价,由于市场价格波动,这些价格可能会随时间而有所变化,因此这些价格仅供参考,以助各位读者了解相关成本。

表 1硬件配置及价格列表

硬 件 型 号 价格/元  

CPU  E52696V3(二手)  248  

散热器  6管散热器  65  

主板  X99 DDR3主板  200  

内存  32GB 1600MHz(二手) × 4  308  

显卡 亮机卡(二手)  45  

硬盘  M.2接口固态硬盘 1TB  365  

电源  500W功率电源  139  

机箱 普通机箱  88  

总计  1458  

所有机器为使用 VMware创建的虚拟机,系统为 Ubuntu 22.04,其配置见表 2。

表 2机器配置列表 

IP地址 主 机 名  CPU  内存/GB 书中简称  

192.168.163.199  node199.net.ymyw  4核  4  node199节点  

192.168.163.200  node200.net.ymyw  4核  16  node200节点  

192.168.163.201  node201.net.ymyw  4核  8  node201节点  

192.168.163.210  k-master210.net.ymyw  4核  2  k-master210节点  

192.168.163.211  k-node211.net.ymyw  4核  4  k-node211节点  

192.168.163.212  k-node212.net.ymyw  4核  4  k-node212节点 

此书涉及很多不同服务,这些服务与机器的对应关系见表 3,没有基础的读者可以完全按照此服务列表和部署概况来部署相关服务。

表 3服务部署概览 

IP地址服务 

192.168.163.199生成 CA证书、 Nginx、Ansible、DNS、Nexus 

192.168.163.200 Harbor、Jenkins、GitLab、SonarQube、Nacos、Redis、MySQL 

192.168.163.201 Jenkins-slave 

192.168.163.210 Kubernetes主节点 

192.168.163.211 Kubernetes工作节点 

192.168.163.212 Kubernetes工作节点

一个服务的旧版本对于新版本的主要优势是稳定,除此之外便没有什么其他显而易见的优势了,但是生产环境最主要的指标就是稳定。除非有严重的安全性问题,否则生产环境上主要使用稳定的旧版本。新版本对于旧版本的主要优势就是拥有更多的功能和更高的性能,安全性也相对较高。本书为从头搭建环境,并没有版本上的依赖,所以尽可能地使用了较新的版本,其版本及发布时间见表 4。

表 4服务镜像版本及发布时间

镜像名称 发布时间  

sonatype/nexus3:3.75.1  2024.12.6  

technitium/dns-server:13.3.0  2024.12.21  

harbor-v2.12.1  2024.12.24  

jenkins/jenkins:2.479.2-lts-jdk21  2024.11.27  

gitlab/gitlab-ce:17.7.0-ce.0  2024.12.19  

sonarqube:10.7.0-community  2024.10.24  

nacos/nacos-server:v2.4.3  2024.10.12  

redis:7.4.1  2024.12.4  

mysql:8.4.3  2024.11.22  

nginx:1.27.3  2024.12.3  

本书的诞生是一个偶然的情况,没有清华大学出版社赵佳霓编辑的发掘和邀请就不会有编写本书的想法,在此表示衷心感谢。还要特别感谢我的妻子李雪女士,她对家庭无微不至的关怀和照顾,是我能够专心完成这本书的坚强后盾。没有她的付出,就没有这本书的诞生。

资源下载提示 

素材(源码)等资源:扫描目录上方的二维码下载。 视频等资源:扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。

笔者的阅历有限,书中难免存在疏漏,希望读者热心指正,在此表示感谢。

马腾飞 

2026年 1月