Devops⑨
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 9 节(完结篇)· DevOps 项目实践案例回顾与学习路径推荐
🧱 DevOps 学习全流程回顾
从理念到落地,从容器到云端,我们构建了一条完整的 DevOps 知识链。
模块
关键词
实战内容
🌱 DevOps 基础
自动化、协作、CI/CD
DevOps 定义、核心价值与典型工作流
🐳 容器化技术
Docker
Dockerfile 构建、镜像运行、常用命令
🔁 CI/CD 流水线
GitHub Actions / Jenkins
自动测试、构建、部署 FastAPI 示例
☸️ 容器编排
Kubernetes / Serverless
Pod、Service、Lambda、冷启动机制
🧾 基础设施代码化
Terraform / IaC
一键创建 EC2、VPC、S3、SecurityGroup
🧰 配置与镜像
Ansible + Packer
自动化软件安装、构建自定义 AMI 镜像
📡 监控 ...
Devops⑧
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 8 节 · 云平台实战 —— AWS 上构建 DevOps 一体化工作流
☁️ 为什么选择 AWS?
AWS 是目前全球最主流的云平台,提供丰富的 DevOps 支持服务:
✅ 支持 IaC(Terraform / CloudFormation)
✅ 支持 Serverless(Lambda、API Gateway)
✅ CI/CD(CodePipeline、CodeBuild、GitHub Actions 集成)
✅ 监控(CloudWatch、X-Ray)
🧭 DevOps 全流程在 AWS 上的实现路径
🔧 常见 AWS 服务一览(DevOps 视角)
分类
服务
用途
计算
EC2 / Lambda / ECS / EKS
承载服务或函数
存储
S3 / EFS
文件或静态资源存储
网络
VPC / Subnet / Load Balancer
网络隔离与负载均衡
DevOps 工具
CodePipeline ...
Devops⑦
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 7 节 · Monitoring & Observability —— 监控与可观测性实战指南
📊 为什么监控与可观测性重要?
“系统跑起来不是终点,稳定运行才是。”
在 DevOps 实践中,监控(Monitoring) 和 可观测性(Observability) 让你能:
🧠 快速发现系统异常
🔍 快速定位问题根源
📈 持续优化性能体验
🧠 监控(Monitoring) VS 可观测性(Observability)
项目
Monitoring
Observability
定义
观察系统是否健康
解释系统为什么出问题
数据类型
主要是指标(Metrics)
包括指标、日志、追踪(三大支柱)
触发方式
基于规则报警
支持探索式分析
目标
提前报警
快速定位问题源头
🔍 可观测性的三大支柱
Metrics(指标) 📈
如 CPU、内存、请求延迟、错误率
Logs(日志) 📄
系 ...
Devops⑥
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 6 节 · Ansible 与 Packer —— 配置管理与镜像构建实战
🧠 什么是配置管理(Configuration Management)?
配置管理是指通过代码或脚本来管理服务器的状态,比如软件安装、服务启动、配置文件变更等。
目标是:
自动化系统配置
多台机器保持一致状态
替代 SSH 手动操作
🧰 Ansible 是什么?
Ansible 是一款开源自动化运维工具,专注于“配置管理 + 应用部署 + 自动化运维”。
特点:
✅ 无 Agent:只需目标机开启 SSH 即可
✅ YAML 配置,易读易写
✅ 可批量控制多台主机
📄 Ansible 示例:安装 nginx
- name: 安装 nginx hosts: web become: true tasks: - name: 更新 apt 缓存 apt: update_cache: yes - name: 安装 nginx ...
Devops⑤
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 5 节 · 基础设施即代码(IaC)与 Terraform 入门
💡 什么是基础设施即代码(Infrastructure as Code, IaC)?
IaC = 用代码来定义和管理服务器、数据库、网络等基础设施。
它的目标是:
✅ 自动化部署基础架构(不用手点控制台)
✅ 保持环境一致性(dev/test/prod 都一样)
✅ 支持版本控制、回滚(像代码一样被管理)
🧰 Terraform 是什么?
Terraform 是 HashiCorp 出品的开源工具,是目前最主流的 IaC 实现方式。
特点:
🌍 多云平台支持(AWS、Azure、GCP、K8s…)
🧱 声明式语法(你说“要什么”,它决定“怎么做”)
💾 状态文件(State)记录当前资源状况
📦 Terraform 核心概念
概念
说明
Provider
云服务提供商(如 AWS)
Resource
要创建的资源(如 EC2、S3)
Modu ...
Devops④
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 4 节 · 使用 Kubernetes 管理容器应用(含 Serverless 简介)
☸️ 什么是 Kubernetes(K8s)?
Kubernetes 是一个开源的容器编排平台,用于自动化容器应用的部署、扩容、负载均衡和管理。
它就像“容器集群的大脑”,可以帮你在成百上千台服务器之间调度容器。
🧠 为什么需要 K8s?
场景问题
Kubernetes 能解决什么
容器多、管理难
自动调度和管理容器运行状态
服务不可用
Pod 异常自动重启、自动迁移
流量暴增
自动扩容 Replica 数量
更新上线容易中断
滚动更新 + 回滚机制
🛠 Kubernetes 核心概念
概念
解释
Pod
最小的调度单元,包含一个或多个容器
Node
集群中的一台主机,可以运行 Pod
Deployment
控制 Pod 数量和滚动更新策略
Service
提供统一访问入口,实现负载均衡
Name ...
Devops③
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 3 节 · CI/CD 实践指南
🚀 什么是 CI/CD?
CI/CD 指的是:
CI(Continuous Integration)持续集成:每次代码变更后,自动化执行构建、测试等流程,确保新代码能和主干稳定集成。
CD(Continuous Delivery / Deployment)持续交付 / 持续部署:代码通过测试后,自动部署到测试或生产环境。
🧠 CI/CD 为什么重要?
传统流程里:
上线靠手动部署,容易出错
测试靠人工点击,流程慢又不稳定
一个 bug 可能要几小时甚至几天才能回滚
CI/CD 带来的改变:
目标
CI/CD 带来的好处
快速上线
自动构建 + 自动测试 + 自动部署
降低风险
小步快跑 + 每次变更可回退
团队协作
每人提交后就能自动验证是否会出问题
⚙️ 持续集成(CI)流程
常见步骤如下:
开发者 push 代码到 Git 仓库
CI 工具监听到变更(如 GitHub ...
Devops②
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 2 节 · 容器化与 Docker 入门
📦 什么是容器化(Containerization)?
容器化是一种将应用程序与它的运行时环境(依赖、配置、库)打包在一起运行的方式。
就像“打包快餐”:不管你在哪儿吃,都一样的味道 🍱
容器技术让“开发环境”和“生产环境”一致,解决了:
“我电脑上能跑,线上挂了” 这类经典问题。
🐳 Docker 是什么?
Docker 是最流行的容器化平台,它能让你:
构建:通过 Dockerfile 构建镜像
打包:将应用与依赖一起封装成镜像
运行:用镜像快速启动多个隔离的容器
分发:上传镜像到 Docker Hub 分享使用
🚀 Docker 工作流程
🧱 Dockerfile 示例
# 使用官方 Python 镜像作为基础FROM python:3.10# 设置工作目录WORKDIR /app# 复制代码到容器COPY . /app# 安装依赖RUN pip install -r requi ...
Devops①
Devops①Devops②Devops③Devops④Devops⑤Devops⑥Devops⑦Devops⑧Devops⑨
第 1 节 · DevOps 基础理解
🌱 什么是 DevOps?
DevOps = Development(开发) + Operations(运维)
它不是一门语言、也不是一套工具,而是一种文化理念和工程实践:
目标是打通开发和运维之间的壁垒,提升软件交付速度与质量。
🎯 DevOps 想解决什么问题?
问题
传统方式(没 DevOps)
DevOps 做法
开发上线慢
要等运维手动部署
自动化 CI/CD 部署流程
开发与运维脱节
“代码写完不管了”
开发也负责上线后的运行健康
出现 bug 难定位
日志杂乱、权限不清
可观测性 + 自动追踪机制
系统不稳定
手动操作易出错
自动化测试 + 自动回滚机制
🧠 DevOps 的核心理念(5 大关键词)
自动化(Automation)
从构建、测试、部署到监控,尽可能自动化
持续集成 / 持续交付(CI/CD)
自动化测试 + 自动上线,快速发布新功能 ...
Jenkins CICD 教程总结
培训目标 Training Objectives
掌握 Jenkins 的基础安装、配置、管理
学习 CI/CD 基础、Jenkins 合作 GitHub 实现进程自动化
了解 Jenkins Pipeline 的语法和应用
学习 Jenkins 多节点 (multi-node) 配置和运行
虚拟机 VM 配置 Virtual Machine Setup
建议使用 Google Cloud (GCP),提供 $300 免费 credit,可使用 3 个月
建议选择 Ubuntu 22 或 24版,配置至少 2 CPU + 8GB RAM
打开网络端口 22 (SSH),80 (HTTP),443 (HTTPS),8080 (Jenkins 默认端口)
建议使用 Docker 进行 Jenkins 快速部署
Jenkins 基础安装 Jenkins Basic Installation
使用 Docker 部署 Jenkins,配合 -p 给肉端口映射
eg: -p 8080:8080 -p 50000:50000
Jenkins ...
GitHub Actions CICD
一、基本概念 Basic Concepts
本次课程是 GitHub Actions 的继续课程,添加了对 CI/CD 线程的深入讲解。
This session is a continuation of GitHub Actions, going deeper into CI/CD workflows.
主要基于 Next.js 项目进行 Hands-on 实操。
Mainly involves hands-on practice with a Next.js project.
通过 GitHub Action 实现以下流程: build -> test -> publish.
Workflow: build -> test -> publish using GitHub Actions.
二、GitHub Actions 框架说明 Structure of GitHub Actions
Workflow: 一个 workflow 和 repo 关联,可包含多个 jobs
A workflow is tied to a repo and ...
蚂蚁上树
1.泡粉丝
开水泡泡得了
2.炒肉
起锅烧油
葱姜蒜
肉沫炒熟
炒出来多的水分倒掉
加豆瓣酱炒香
3.放调料
2 生抽 1 老抽
1 蚝油 1 糖
1 淀粉 1 孜然粉
半碗水搅匀
倒入肉翻炒
加入粉丝翻炒
4.出锅
大火收汁
撒葱花
云计算相关
CDN
CDN(Content Delivery Network)即内容分发网络,是一种通过网络来分发内容的技术。CDN 的基本原理是将内容分发到离用户最近的服务器上,这样用户可以更快地访问内容。CDN 可以提高网站的访问速度,减少服务器的负载,提高网站的稳定性。
CDN 的工作原理如下:
用户访问网站时,会先访问 CDN 的 DNS 服务器。
CDN 的 DNS 服务器会根据用户的 IP 地址,选择离用户最近的服务器。
用户访问 CDN 的服务器,获取网站的内容。
CDN 的服务器会缓存网站的内容,提高访问速度。
DNS
DNS(Domain Name System)即域名系统,是一种用来将域名转换为 IP 地址的系统。DNS 的基本原理是将域名映射到 IP 地址,这样用户可以通过域名来访问网站。
DNS 的工作原理如下:
用户输入域名,浏览器会向 DNS 服务器发送请求。
DNS 服务器会查询域名对应的 IP 地址。
DNS 服务器将 IP 地址返回给浏览器。
浏览器根据 IP 地址,访问网站的服务器。
负载均衡
负载均衡是一种通过分配任务到多个服务器上来提高系统性能和可靠 ...
一些常见的git命令
配置
git config --global user.name "name"git config --global user.email "email"
什么时候是用--global,什么时候不用呢?如果你只想在当前项目中使用这个配置,就不用--global
reset 和 revert
reset和revert都是用来撤销之前的提交,但是有一些区别。
reset是直接删除之前的提交,而revert是创建一个新的提交,这个提交是之前提交的反向操作。
merge 和 rebase
merge和rebase都是用来合并分支的,但是有一些区别。
merge是将两个分支的提交合并到一起,形成一个新的提交。rebase是将两个分支的提交按照时间顺序重新排序,然后合并到一起。
其他内容参考这里
海龟汤系列
红汤:有人死亡
清汤:无人死亡
黑汤:全员死亡
胡辣汤:有人受伤
鸳鸯汤:有人快要死亡
本格:现实生活中会发生的事
变格:现实生活中不会发生的事
汤面:根据汤面去猜汤底
汤底:有的汤面有隐喻
海龟汤
火车
汤面:这是一辆行驶的火车,我刚上车不久,坐上了最后一节车厢,车厢里流了很多血,我知道我快要活不长了
查看汤底
人体蜈蚣