90DaysOfDevOps 2022 学习路线图全解:90 天从零构建 DevOps 基础能力的 13 大领域实战指南

发布时间:2026/9/30 2:06:32

90DaysOfDevOps 2022 学习路线图全解:90 天从零构建 DevOps 基础能力的 13 大领域实战指南 文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载本文是一份围绕2022.md学习路线图的完整技术指南系统拆解 2022 年 90 天 DevOps 挑战的发起逻辑、时间投入规则、13 大学习领域及其在仓库中的配套源码、配置与实操清单。读完本文你将掌握该路线图每一阶段的技术主题、可运行示例文件的仓库位置以及如何按照每天 1 小时的节奏把 DevOps 的工程实践落地为可复现的学习路径。90DaysOfDevOps 项目起源于作者 Michael Cade 的一次公开学习Learning in Public实验从 2022 年 1 月 1 日到 3 月 31 日每天投入约 1 小时用 90 天覆盖 13 个 DevOps 核心领域并将全部过程记录在 2022.md 这张总路标与 2022/Days/ 目录下按天编号的文档中。它不追求面面俱到而是围绕原理、流程、工具与用例四个维度为开发、运维、QA 等不同背景的读者建立可复用、可扩展的 DevOps 知识底座。一、挑战的起源与学习规则1.1 为什么是 90 天、每天 1 小时路线图开篇即明确了挑战的三个核心设定周期2022 年 1 月 1 日至 3 月 31 日共 90 天投入每天约 1 小时累计 90 小时目标对 13 个 DevOps 领域建立基础级foundational理解而非成为某一领域的专家。作者在 day01.md 中特别强调DevOps 不是一种可以购买的工具、不是软件 SKU、不是编程语言而是一套在软件开发中做更聪明的事的实践组合其核心目标是缩短从产品构思到交付给最终用户之间的时间同时打破开发、运维、QA 之间的部门孤岛。文中明确点出DevOps 视角下开发、测试、部署统一落在 DevOps 团队职责内而这一切高效运转的前提是自动化。1.2 进度清单的语义设计2022.md的主体是 90 个已完成✔️的进度条目按 13 个领域分组每条采用统一格式[✔️] 领域图标 天数 主题标题并链接到对应日期的正文文档如2022/Days/day01.md。这种设计让读者既能按顺序逐日推进也能按主题跳读——这正是该仓库被社区广泛用作结构化学习地图的原因。二、第一阶段DevOps 基础与理念Day 1–6这一阶段完全聚焦概念与流程不涉及任何工具安装Day主题核心内容1Introduction挑战背景、DevOps 定义、DevOps 不是工具2Responsibilities of a DevOps EngineerDevOps 工程师职责边界3DevOps Lifecycle - Application Focused以应用为中心的 DevOps 生命周期4DevOps AgileDevOps 与敏捷的协同5Plan Code Build Testing Release Deploy Operate Monitor端到端流水线八阶段6DevOps - The real stories社区真实落地案例Day 5 的Plan Code Build Testing Release Deploy Operate Monitor八阶段链条是整个后续课程的主干框架Day 7–27 覆盖 Code编程语言、Linux、网络Day 35–41 覆盖 Release/Deploy 的版本控制基础Day 70–76 则把这些阶段自动化成 CI/CD 流水线。三、学习一门编程语言GoDay 7–13该阶段选择Go作为 DevOps 工程师的第一门语言理由在于 Go 是 Kubernetes、Docker、Terraform 等云原生工具的主要实现语言学习它等于同时获得阅读云原生源码的能力。Day 7DevOps 与编程语言的宏观关系Day 8环境搭建与 Hello World —— 从 go.dev 下载安装、验证go version、创建标准 Go 工作区目录结构bin/pkg/src、安装 VS CodeDay 9逐行拆解 Hello World 代码Day 10Go 工作区、编译与运行Day 11变量、常量与数据类型Day 12指针与用户输入完成第一个可交互程序Day 13用写好的 App 发布学习进度推文。仓库 2022/Days/Go/ 保留了这一阶段全部可编译源码例如最基础的 hello.gopackage main import fmt func main() { fmt.Println(Until tomorrow #90DaysOfDevOps) }Day 11 的四个示例文件 day11_example1.go 至 day11_example4.go 分别演示变量声明、常量、基本数据类型与类型推导Day 12 的 day12_example1.go 至 day12_example4.go 覆盖指针、用户输入与完整小程序Day 13 的 day13_example1.go 至 day13_example3.go 则是发推文 App的迭代版本。目录中的 makefile 提供了标准构建入口读者可以make一键编译验证。四、掌握 Linux 基础Day 14–20该阶段通过 Vagrant 拉起一台测试虚拟机仓库根目录的 Vagrantfile 可参考同一套虚拟化思路用vagrant ssh进入系统后学习Day 14DevOps 与 Linux 的宏观关系Day 15常用 Linux 命令 ——man手册页、sudo/sudo su临时提权与持续提权、clear、mkdir、cd、rmdir、pwd、touch等基础操作Day 16系统、文件系统与存储管理Day 17文本编辑器 nano vs vimDay 18SSH 与 LAMP Web 服务器搭建Day 19用 bash 脚本自动化任务Day 20开发者工作站美化与效率配置。Day 19 的 bash 自动化主题在 2022/Days/Linux/ 目录下有配套脚本示例。Day 15 还强调了man手册页的价值任何命令的选项都可以通过man command查询按q退出。五、理解网络Day 21–27网络是 DevOps 工程师部署与排障的基础该阶段从理论到动手层层递进Day 21DevOps 与网络的宏观关系Day 22OSI 七层模型Day 23网络协议Day 24网络自动化Day 25用 Python 做网络自动化Day 26搭建网络实验环境LabDay 27Python 网络动手实践。仓库 2022/Days/Networking/ 目录保留了 5 个.py网络自动化脚本与 Day 25/27 的动手内容对应可作为练习网络的直接素材。六、专注一个云厂商Microsoft AzureDay 28–34路线图的策略是stick to one cloud provider坚持一个云厂商选择 Azure 并系统覆盖Day 28DevOps 与云的宏观关系Day 29Azure 基础概念订阅、资源组、区域等Day 30Azure 安全模型身份、权限、合规Day 31Azure 计算模型VM、VMSS、容器、无服务器Day 32Azure 存储与数据库模型Day 33Azure 网络模型与 Azure 管理Day 34Azure 动手实战场景。仓库 2022/Days/Cloud/ 目录包含 6 个.jsonAzure 资源管理模板/策略定义与 4 个.ps1PowerShell 脚本对应 Day 29–34 的云端实操读者可在 Azure 订阅中配合 PowerShell 与 ARM JSON 模板复现演练。七、高效使用 GitDay 35–41版本控制是协作与交付的地基Day 35Git 版本控制宏观图Day 36Git 安装与配置git config用户信息等Day 37Git 核心概念工作区、暂存区、提交Day 38Staging 与变更git add、git commitDay 39查看、取消暂存、丢弃与恢复git status、git reset、git restore等Day 40代码的社交网络GitHubDay 41开源协作工作流Fork、PR、Code Review。Day 35–41 正是后续 IaC、CI/CD 与多语言翻译协作见第九节反复使用的协作基础。八、容器与编排Day 42–558.1 容器阶段Day 42–48Day 42容器宏观图Day 43Docker 是什么与安装Day 44Docker 镜像与 Docker Desktop 动手Day 45Docker 镜像的解剖结构镜像分层、Dockerfile 指令Day 46Docker Compose多容器编排Day 47Docker 网络与安全Day 48Docker 的替代方案。2022/Days/Containers/ 目录保留了这一阶段的 Dockerfile / compose / config 配套文件配合 Day 44–46 使用。8.2 Kubernetes 阶段Day 49–55Day 49Kubernetes 宏观图Day 50如何选择 Kubernetes 平台Day 51部署第一个 K8s 集群Day 52搭建多节点 Kubernetes 集群Day 53Rancher 概览与动手Day 54Kubernetes 应用部署Day 55Kubernetes 中的 State状态与 Ingress。2022/Days/Kubernetes/ 目录是这一阶段的完整实验场包含Vagrantfile 与 scripts/common.sh、master.sh、node.sh用于自动化拉起多节点集群configs/config、configs/token 与 configs/join.sh对应kubeadm join加入集群的配置与令牌nginx-stateless-demo.yaml无状态应用三件套Namespace Deployment Service的完整示例是 Day 54 应用部署的直接模板statefulset.yaml 与 pacman-stateful-demo.yaml有状态应用StatefulSet示例pacman-ingress.yamlIngress 流量入口示例。以 nginx-stateless-demo.yaml 为例它展示了 Kubernetes 声明式部署的标准结构Namespace nginx隔离资源、Deployment以replicas: 1声明期望副本数、Service通过selector.app: nginx-deployment将 80 端口暴露给集群内部——这正是 Day 54 所讲应用部署的最小完整闭环。九、基础设施即代码IaCDay 56–62Day 56IaC 宏观图Day 57Terraform 入门Day 58HashiCorp 配置语言HCLDay 59用 Terraform 与变量创建 VMDay 60Docker 容器、Provisioner 与模块Day 61Kubernetes 与多环境管理Day 62测试、工具与替代方案。2022/Days/IaC/ 按场景拆分了完整可运行模块Hello-world/main.tfTerraform 的Hello World仅声明一个输出变量hello_world并设定required_version 0.12.26用于理解 HCL 最小语法与版本约束Docker/docker.tf 与 Docker-Wordpress/docker-wordpress.tf用 Terraform 驱动 Docker 容器对应 Day 60Virtualbox/virtualbox.tf用 Terraform 管理 VirtualBox 虚拟机对应 Day 59 的 VM 创建Kubernetes/kubernetes.tf用 Terraform 管理 K8s 资源对应 Day 61Terratest/包含 test/terraform_test.go 与完整的examples/provider.tf、vars.tf、instance.tf、terraform.tfvars等对应 Day 62 的基础设施测试——用 Go 编写的 Terratest 对 Terraform 输出做断言验证把测试带进 IaC 环节。十、自动化配置管理AnsibleDay 63–69Day 63配置管理宏观图Day 64Ansible 入门Day 65Ansible PlaybookDay 66Playbook 进阶Day 67使用 Roles 并部署负载均衡器Day 68Tags、变量、Inventory 与数据库服务器配置Day 69Ansible 生态其余部分——Automation Controller、AWX、Vault。2022/Days/Configmgmt/ 是仓库中示例最丰富的目录115 个.yml、20 个.j2模板按 ansible-scenario1 到 ansible-scenario7 渐进式组织simple_play.yml最小的 Playbook包含ping连通性测试与debug输出ansible_os_family变量是 Ansible 入门第一课ansible-scenario1/单 Playbook 两个 Jinja2 模板index.html.j2、ports.conf.j2覆盖 Apache 部署ansible-scenario2/引入 handlers/main.yml 与 tasks/apache2_install.yml讲解 Handler 与任务拆分ansible-scenario3/首次引入roles/apache2标准角色目录defaults/、handlers/、meta/、tasks/、templates/、vars/、tests/对应 Day 67 的 Roles 主题ansible-scenario4/角色扩展为apache2commonnginx三个角色对应负载均衡nginx与公共层拆分的实战ansible-scenario5/加入 facts.json 与 mysite.j2演示基于事实Facts的配置生成ansible-scenario6/引入 group_vars/all/ 的组变量管理对应 Day 68 的变量与 Inventoryansible-scenario7/角色扩展至apache2commonnginxmysql覆盖数据库服务器配置对应 Day 68 后半段。整套场景从单 Playbook一路演进到多角色 组变量 数据库的生产级布局配合 Vagrantfile 可在本地虚拟机中完整复现 Day 63–69 的全部练习。十一、CI/CD 流水线Day 70–76Day 70CI/CD 宏观图Day 71Jenkins 是什么Day 72Jenkins 动手实践Day 73构建 Jenkins 流水线Day 74Hello World - Jenkinsfile App PipelineDay 75GitHub Actions 概览Day 76ArgoCD 概览。2022/Days/CICD/Jenkins/ 提供了在 Kubernetes 上部署 Jenkins 的完整清单组jenkins-namespace.ymlJenkins 命名空间jenkins-sa.yml服务账号ServiceAccountjenkins-values.ymlHelm 部署 Jenkins 的值覆盖jenkins-volume.yml持久化卷保存 Jenkins 数据steps.md分步操作说明Pipeline/Dockerfile、Pipeline/index.html、Pipeline/Jenkinsfile流水线三件套。其中 Jenkinsfile 展示了云原生 CI/CD 的关键模式通过podTemplate在 Kubernetes Pod 中并行运行maven构建与kaniko无 Docker Daemon 的镜像构建两个容器/kaniko/executor --context \pwd --destination michaelcade1/helloworld:1.0 直接构建并推送镜像——这正是 Day 73/74Jenkins 流水线 镜像构建的核心实现。十二、监控、日志管理与数据可视化Day 77–83Day 77监控宏观图Day 78监控工具动手实践Day 79日志管理宏观图Day 80ELK StackElasticsearch、Logstash、KibanaDay 81Fluentd 与 FluentBitDay 82EFK StackElasticsearch、Fluentd/FluentBit、KibanaDay 83数据可视化——Grafana。2022/Days/Monitoring/ 目录包含 15 个.yml配置、Prometheus/Alertmanager 相关配置文件与 grafana 配置以及 Go 编写的 exporter 示例覆盖指标采集、告警规则与可视化面板的完整链路。该阶段承接 Day 5 八阶段链条的最后一环Monitor让部署完成不等于工作结束。十三、数据存储与保护Day 84–90Day 84数据管理宏观图Day 85数据服务Day 86全平台备份Day 87备份与恢复动手实践Day 88以应用为中心的备份Day 89灾难恢复Disaster RecoveryDay 90数据与应用迁移Mobility。2022/Days/Data/ 目录保留了该阶段的数据服务配置示例。Day 84–90 的定位是补全 DevOps 生命周期中常被忽视的数据安全底座——备份、恢复、容灾与应用迁移与 Day 5 的 Operate 阶段形成闭环。十四、如何按这份路线图学习14.1 三档使用方式顺序式从 day01.md 开始按 1–90 逐日推进保持每天 1 小时的节奏主题式按本文 13 个板块任意切入每个板块的 Day 文档与配套源码目录一一对应复现式对照各板块的配置/源码目录如 2022/Days/IaC/、2022/Days/Configmgmt/、2022/Days/Kubernetes/在本地或云端环境重新执行把读过变成做过。14.2 多语言版本与社区参与该路线图已由社区翻译为多种语言入口分别位于 2022/es/README.md西班牙语、2022/zh_cn/README.md简体中文、2022/zh_tw/README.md繁体中文、2022/ja/README.md日语、2022/pl/README.md波兰语、2022/vi/README.md越南语、2022/ko/README.md韩语。各语言目录内的 Days/ 保留了与英文版一一对应的每日文档与源码中文读者可直接从 2022/zh_cn/Days/day01.md 开始。14.3 仓库根目录的延伸资源完成 90 天路线图后可继续延伸2023.md 与 2024.md后续年份的进阶路线图如 2023 年聚焦 Kubernetes、DevSecOps 与平台工程等方向Resources.md全主题资源清单template_repository/用于发起新挑战的 90 天模板blog/社区博客文章。十五、总结2022.md的价值不在于90 个打勾的链接而在于它把庞杂的 DevOps 知识体系组织成了一条可执行、可验证、可扩展的 90 步路径从理念Day 1–6到语言Go、系统Linux、网络、云、版本控制、容器与编排、IaC、配置管理、CI/CD、可观测性再到数据保护每 7 天一个主题闭环且仓库为每个主题都保留了可运行的源码与配置证据。对初学者它是零基础入门的完整地图对有经验的工程师它是查漏补缺与团队培训的现成素材对讲师与社区组织者它是学习公开化的最佳实践样本。赞分享文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载相关推荐Anarlog 的 macOS 原生通知系统Collapsed/Expanded 双形态交互与自动关闭计时器实现解析Anarlog 的 macOS 原生通知系统Collapsed/Expanded 双形态交互与自动关闭计时器实现解析 Anarlog 是一个开源 Granol文档/教程2025最全面DSA学习指南从零基础到算法大师的实战路线图2025最全面DSA学习指南从零基础到算法大师的实战路线图 你是否还在为算法面试中频繁碰壁而焦虑是否面对海量刷题资源却不知从何下手本文将系统解析GitHuUndom核心功能解析为什么这个1KB库能成为JSDOM的高效替代品Undom核心功能解析为什么这个1KB库能成为JSDOM的高效替代品 Undom是一个仅1KB大小的轻量级DOM Document实现它为开发者提供了一个上一篇Rerast vs rust-analyzer终极结构化搜索替换工具对比与选择指南下一篇解锁跨平台开发新范式uv-ui多端UI框架全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/30 2:06:32

03 xilinx除法IP核的使用

xilinx除法器IP核配置 Algorithm Type:算法类型,可选High Radix、LutMult、Radix2,一般常用Radix2 Operand Sign:有符号和无符号选择 Dividend Width:被除数宽度 Divisor Width:除数宽度 Remainder Type &a…

2026/9/30 2:01:32

3ds Max到WebGL的三维交付链:gltf、TypeScript与性能实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 3:11:35

嵌入式开发AI agent环境搭建(arm-none-eabi / SDCC / OpenOCD)

推荐架构:Windows VSCode AI Agent,工具链覆盖 arm-none-eabi-gcc、SDCC、OpenOCD。 推荐架构 角色 工具 用途 编辑器 VSCode C/C 编辑、终端、任务管理 编译器 arm-none-eabi-gcc ARM Cortex-M / RTOS 项目 编译器 SDCC 51、STC、部分 8051 兼容 MCU …

2026/9/30 3:11:35

WiFi大师专业版4.0.5独立部署与流量主广告接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 3:11:35

从二进制数1开始:进制转换、位运算与工程实战复盘

1. 从“二进制数1”说起:为什么每日一题要从进制开始刷最早在牛客的每日一题列表里看到《二进制数1》这个标题时,我其实有点不以为然。心想二进制嘛,十进制转二进制、二进制转十进制,大一C语言课早就学过的东西,还需要…

2026/9/30 3:11:35

Cloud Functions WebSocket部署失败排查与迁移指南

如果你在一个Python项目里同时看到OperationError: code3的红色输出,和requirements.txt里躺着websockets这一行,那大概率已经踩到了Google Cloud Functions和长连接之间最深的那个坑。我最初是在一个实时聊天服务里遇到这个问题的:本地用Pyt…

2026/9/30 3:06:35

Spring Boot+Vue 3家具商城实战:数据库设计、库存扣减与Docker部署

1. 家具商城这个选题,难的不是商城而是家具先说个有意思的现象。每年到毕设季,或者想自己做点东西充实简历的时候,"商城系统"永远是出现频率最高的题目。书城、电商城、服装城、二手交易平台,改个名字就是一套新的。但如…

2026/9/29 11:07:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/29 21:48:03

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 0:01:22

MATLAB+Yalmip+CPLEX实战:综合能源系统优化调度全流程解析

做综合能源系统优化调度这活儿,最痛苦的不是建模本身,而是模型写完之后不知道该怎么求解。看论文里轻飘飘一句“采用Yalmip调用CPLEX求解”,自己上手时却往往卡在环境配置、变量声明、约束写法和求解状态判读上,一耗就是两三天。这…

2026/9/30 0:01:22

I3C比I2C快10倍?RK3576实战:速率、DTS配置与混合总线避坑指南

I3C 比 I2C 快 10 倍?这句话在嵌入式群里传了很久,每次都能吵出一堆截图。前段时间我正好在 RK3576 上调板级 I3C 接口,从控制器寄存器一路摸到 Linux DTS 配置,踩了不少坑,也把这笔速度账彻底算明白了。本文就用 RK35…

2026/9/30 0:01:22

字符串转对象:JSON.parse、new Function与URLSearchParams

“字符串转对象”这几个字,我在技术群里见过的问法至少有十几种:有人拿着一串{a:1,b:2}说 JSON.parse 直接报错,有人要从 URL 里抠出参数,还有人只是想把abc变成能挂属性的东西。js 这门语言里,字符串和对象之间的转换…

2026/9/29 3:53:39

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/29 9:46:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/29 6:36:14

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑