教程云原生【免费下载链接】learn-to-cloudA courseware built on the belief that anyone can learn foundational cloud engineering skills with the right guide and discipline项目地址https://gitcode.com/gh_mirrors/le/learn-to-cloud点击查看免费下载本篇文章带你解读开源课程 learn-to-cloud位于仓库根目录的 docs/phase4/README.md 及其葡萄牙语版本 i18n/pt/docusaurus-plugin-content-docs/current/phase4/README.md中的第 4 阶段内容DevOps 基础。你将系统理解 DevOps 作为一种文化而非单一工具的本质掌握 CI/CD、基础设施即代码IaC、容器化、容器编排与监控五大实践并获得可复制的每周学习计划、上手任务、实战项目与能力验收清单。DevOps 是什么先理解文化再学习工具第 4 阶段课程开篇就点明了一个关键立场DevOps 是文化而不是某个具体的工具或服务。它涵盖的是把解决方案从实现阶段带到持续更新阶段所涉及的一切目标是让软件交付更高效、更可靠。DevOps 并非云计算的专属概念它在**本地数据中心on-premise和混合云hybrid**模型中同样适用。它也不局限于某个固定职位——虽然很多公司设有专职的 DevOps 工程师岗位但课程明确指出如果你的目标是成为 DevOps 工程师本阶段只提供入门级介绍后续还需要更深入的学习与实战积累。课程建议学习者先阅读以下行业资料建立认知此处仅列出名称便于对照学习不附外部链接Microsoft 官方的《What is DevOps?》AWS 官方的《What is DevOps?》IBM 的《A complete guide to DevOps》此外还推荐了两本经典读物小说形式的《The Phoenix Project》以虚构故事讲解 DevOps 文化的重要性读起来很有趣和更接近教科书风格的《The DevOps Handbook》主题相近、内容更系统。前置要求从第 3 阶段无缝衔接进入本阶段前你需要已经完成第 2 阶段的版本控制学习Git 相关基础详见 i18n/pt/docusaurus-plugin-content-docs/current/phase2/README.md第 3 阶段云平台基础含 Capstone 结业项目见 docs/phase3/README.md若此前完成了 [Cloud Resume Challenge]云简历挑战赛它会提前向你展示 DevOps 的概念若还不熟悉建议回头完成它再进入本阶段。阶段路线图5 周五大主题课程为第 4 阶段规划了 5 个主题每项大约投入 1 周时间顺序主题建议投入时间1使用 GitHub Actions 实现 CI/CD1 周2使用 Terraform 实现 IaC1 周3使用 Docker 进行容器化1 周4使用 Kubernetes 进行容器编排1 周5使用 Prometheus 进行监控1 周课程强调这份时间线是应学习者要求添加的参考你可以完全按自己的节奏安排。每一项 DevOps 实践都很重要但以上 5 项是入门/初级岗位最常用的能力组合。仓库中英文版课程为每个主题准备了独立文档1-containers.md、2-cicd.md、3-infrastructure-as-code.md、4-container-orchestration.md、5-monitoring.md下文每个主题的操作细节均来自这些文档。主题一CI/CD 与 GitHub Actions——告别手动构建部署在完成第 3 阶段后你会遇到一个现实痛点每次代码变更都要手动执行构建与推送命令繁琐且容易出错。CI/CD持续集成 / 持续部署管线就是为了自动化这个过程每次代码变更后自动完成构建、测试与部署。常见的 CI/CD 工具有 Jenkins、GitHub Actions、GitLab CI 等它们基于代码提交、Pull Request、定时事件等触发器自动执行任务并部署代码。课程推荐从 GitHub Actions 入手配合仓库本身即托管在 GitHub 的工程实践上手成本最低。基础 CI/CD 管线上手任务针对上一阶段容器化的应用为你的容器化应用搭建一条基础 CI/CD 管线使用 GitHub Actions或 Jenkins自动完成构建应用 → 运行测试 → 构建 Docker 镜像 → 推送镜像到容器仓库如 DockerHub、AWS ECR、GCP GCR配置管线在代码提交到main分支时自动触发添加简单的通知机制在部署成功或失败时提醒你。可选进阶挑战实现多环境部署管线——先部署到 staging 环境运行测试通过后再提升promote到生产环境。仓库本身就是一个持续交付的实例根目录 Dockerfile 定义了开发、生产构建、多阶段服务的完整镜像流程package.json 中的start、build、serve、deploy等 npm 脚本构成了站点构建与发布的基本工序可以作为把项目自动打包成可交付产物的直观参照。主题二基础设施即代码IaC与 TerraformIaC 允许你用代码而非手动点击控制台的方式来管理和供给基础设施从而保证云资源管理的一致性、可重复性与可扩展性。Terraform 之所以流行是因为它是**云平台无关cloud-agnostic**的——同一份配置可以部署到任意云厂商。核心命令生命周期terraform init初始化工作目录terraform plan预览将要执行的变更terraform apply真正创建资源terraform destroy销毁资源、完成清理。基础 IaC 上手项目在你的系统上安装 Terraform编写 Terraform 配置文件实现以下任选目标在偏好的云平台上创建一台虚拟机配置安全组以允许 SSH 访问或向所选云厂商部署一个静态站点依次执行terraform init→terraform plan→terraform apply完成部署在云平台控制台验证资源确实已创建最后执行terraform destroy清理资源。可选进阶挑战结合 GitHub Copilot 设计模块化 Terraform复用第 2 阶段学到的 AI 协作能力将基础设施组织为可复用模块VPC公有/私有子网与路由、Web 服务层计算与负载均衡、数据库层托管数据库与备份配置、安全层安全组、IAM 角色、加密使用变量variables参数化配置创建模块输出outputs用于模块间通信实现后端状态state管理部署并验证资源完成后销毁清理。课程同时列出了若干自测问题供深入思考例如IaC 的收益是什么Terraform 如何保证资源管理的幂等性terraform state文件的用途如何管理 API 密钥等敏感数据plan与apply的区别以及如何使用编码助手生成 IaC 模板、如何保证 AI 生成 IaC 的质量与安全——这些问题都指向AI 辅助基础设施开发这一现代 DevOps 实践。主题三Docker 容器化——从 Dockerfile 到镜像仓库容器化是现代应用部署与管理的核心手段它将软件、工具及其依赖打包成轻量、可移植的容器。相比虚拟机容器在资源利用上更高效并能在开发、测试、生产环境之间保持高度一致同时简化部署与扩缩容并提供应用间的隔离。常见的容器化工具包括 Docker、Podman、containerd 等课程以 Docker 为主线。基础容器化项目 7 步走创建一个简单应用或复用现有应用为应用编写 Dockerfile构建 Docker 镜像在本地运行容器并测试功能注册 DockerHub或其他容器仓库账号为镜像打标签tag并推送到仓库在另一台机器上拉取并运行镜像验证可移植性。容器仓库需要理解镜像仓库Container Registry的概念并至少实践一种主流仓库的推送流程DockerHub、AWS ECR、Azure Container Registry、Google Container Registry。仓库中的多阶段 Dockerfile 示例本仓库根目录的 Dockerfile 就是一个完整的容器化范例它展示了 Docusaurus 站点的多阶段构建策略# Stage 1: Base image. FROM node:lts as base ENV FORCE_COLOR0 RUN corepack enable WORKDIR /opt/docusaurus # Stage 2a: Development mode. FROM base as dev EXPOSE 3000 CMD [ -d node_modules ] npm run start --host 0.0.0.0 --poll 1000 || npm run install npm run start --host 0.0.0.0 --poll 1000 # Stage 2b: Production build mode. FROM base as prod COPY . /opt/docusaurus/ RUN npm ci RUN npm run build # Stage 3a: Serve with docusaurus serve. FROM prod as serve EXPOSE 3000 CMD [npm, run, serve, --, --host, 0.0.0.0, --no-open] # Stage 3b: Serve with Caddy. FROM caddy:2-alpine as caddy COPY --fromprod /opt/docusaurus/Caddyfile /etc/caddy/Caddyfile COPY --fromprod /opt/docusaurus/build /var/docusaurus这个示例直观体现了容器化的几个关键实践多阶段构建base → dev/prod → serve/caddy避免把构建工具链带进运行镜像、环境变量控制输出FORCE_COLOR0让日志更易读、npm ci保证依赖安装的可复现性以及镜像间通过COPY --from只传递构建产物。学习时可以对照这份真实配置理解每一行指令的作用。进阶任务以容器方式本地运行 GitHub MCP Server将容器能力与 AI 工具链结合确保已安装 Docker Desktop 与 GitHub Copilot在 Docker Desktop 中安装官方 GitHub MCP Server创建 GitHub Personal Access Token 并提供给服务器在 VSCode 命令面板中执行docker mcp gateway run启用 MCP Gateway在 GitHub Copilot 中启用 Agent 模式查询自己的仓库并执行 GitHub 操作完成探索与测试。常见问题排查参考 Docker 官方常见问题与解决方案文档以及 Dockerfile 最佳实践文档关注层数、缓存利用、安全扫描等主题。主题四Kubernetes 容器编排——从 Pod 到 Service学会单机容器化之后自然要面对如何编排大量容器的问题这正是 Kubernetes常简称 K8s的用武之地它是开源容器编排平台自动化容器的部署、扩缩容与管理广泛应用于云原生环境保证应用的高可用、可扩展与韧性。为什么需要 Kubernetes当应用复杂度上升后手动管理容器变得困难K8s 提供自动化部署与扩缩容基于资源用量或自定义指标自动部署、扩缩容器自愈能力重启失败容器、替换无响应容器、在健康节点上重新调度容器负载均衡在容器间分发流量以保证高可用服务发现自动为服务分配 DNS 名称与 IP声明式配置用 YAML/JSON 清单定义应用的期望状态。核心概念集群Cluster由管理集群并调度工作负载的Master 节点与运行容器化应用的Worker 节点组成PodKubernetes 中最小的可部署单元可包含一个或多个容器共享存储、网络与单一 IPService将应用暴露到网络常见类型有ClusterIP集群内访问、NodePort在每个节点的特定端口暴露、LoadBalancer对接云厂商实现外部暴露Deployment声明式管理应用的期望状态处理滚动更新、回滚与扩缩容ConfigMap 与 Secret分别以键值对形式存储配置数据与密码/API 密钥等敏感数据。本地与云端环境本地开发可用 Minikube单节点集群或 Kind在 Docker 容器中运行集群云端则推荐托管服务AWS EKS、Azure AKS、Google GKE课程还提供了一个用 Terraform 在 Azure AKS 上搭建最小 K8s 集群的视频示例与主题二形成联动。常用命令# 查看集群信息 kubectl cluster-info # 列出集群中所有节点 kubectl get nodes # 部署应用 kubectl apply -f deployment.yaml # 查看运行中的 Pod kubectl get pods # 查看 Pod 日志 kubectl logs pod-name # 删除资源 kubectl delete -f deployment.yaml上手练习安装 Minikube 或 Kind 后用下面这份 YAML 创建 Deployment2 个 nginx 副本apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80然后依次执行kubectl apply -f deployment.yaml kubectl get pods kubectl expose deployment nginx-deployment --typeNodePort --port80最后在浏览器中通过 NodePort 访问应用。思考题包括Pod 与容器的区别、kubectl apply与kubectl create的区别、如何扩缩容 Deployment、托管 K8s 服务的收益等。主题五监控与可观测性——Prometheus、Grafana 与 AI Agent监控与可观测性是理解应用与基础设施健康、性能和可靠性的关键实践尤其对分布式、动态、跨多服务运行的云原生应用至关重要它们能帮助快速发现问题、缩短停机时间为系统健康与用户体验提供可见性支撑主动告警与排障并通过识别瓶颈与故障支撑可扩展性与可靠性。核心概念Metrics指标关于系统的量化数据CPU、内存、请求量等Alerting告警基于指标阈值的自动化通知Dashboards仪表盘指标的图形化展示便于快速洞察Instrumentation插桩通过代码或 exporter 暴露指标。上手任务 1搭建 Prometheus。创建最小配置prometheus.ymlglobal: scrape_interval: 15s scrape_configs: - job_name: prometheus static_configs: - targets: [localhost:9090]用 Docker 安装 Prometheusdocker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus之后按需把应用的指标端点加入static_configs。上手任务 2搭建 Grafanadocker run -d --namegrafana -p 3000:3000 grafana/grafana访问http://localhost:3000默认账号密码均为admin添加 Prometheus 数据源URL 填http://host.docker.internal:9090或http://localhost:9090也可按需接入云厂商指标如 AWS CloudWatch、Azure Monitor。上手任务 3创建仪表盘。新建仪表盘并用 PromQL 查询添加面板如up、http_requests_total可视化应用或基础设施指标。上手任务 4为示例应用插桩。Node.js 应用可用prom-client暴露指标Python 应用可用prometheus_client随后把指标端点加入 Prometheus 配置并在 Grafana 中可视化。上手任务 5用 n8n 构建 AI Agent 实现自动化告警响应——这是本主题的亮点把监控与 AI 代理工作流结合docker run -d -p 5678:5678 --name n8n n8nio/n8n:latest访问http://localhost:5678创建账号登录后按以下步骤构建 Agent创建 Schedule 触发器例如每 1–2 分钟查询 Prometheus API 获取特定指标添加 If 节点判断指标是否超过阈值调用 LLM 分析异常给出根因与修复建议通过邮件或 Slack 发送分析结果可选添加自动修复步骤。测试故意向被监控应用施压制造高流量或错误验证 Agent 能否检测异常、分析根因并采取行动。AI Agent 之所以能增强监控体系是因为它能够在无人工延迟的情况下即时响应告警自动分析日志与指标定位根因独立执行修复动作重启服务、扩缩资源、回滚部署从事件中学习改进后续响应把团队从重复排障中解放出来聚焦长期可靠性。阶段验收结束时你必须掌握的能力课程为本阶段设定了明确的能力验收标准能够解释每一项 DevOps 实践它们为什么重要、各自做什么、每项实践最流行的工具有哪些在 GitHub 上拥有个人项目且至少 2 个项目满足以下要求配置了 CI/CD 管线每个项目都有 IaC 文件每个项目都实现了监控并能读懂日志与指标数据当项目出问题时知道如何排查解决。进阶路线值得关注的 DevOps 认证课程为想继续深入的学习者推荐了两条认证方向此处仅列名称供检索对照AWS Certified DevOps Engineer – ProfessionalMicrosoft Certified: DevOps Engineer Expert。如何自测把 AI 当成面试官课程建议用 AI 助手如 ChatGPT、Claude、Google Gemini检验理解程度让它扮演面试官一次问一个问题、不立即给答案、针对回答给出反馈并引导修正每个答案后补充真实案例。可以这样开场Im learning about containers and Docker. Id like you to act as an interviewer: - Ask me questions one at a time about containerization concepts - Dont provide the answers immediately - Give me feedback on my responses - If Im incorrect, guide me toward the right answer - Share relevant real-world examples after each answer Can we start?小技巧把上下文告诉 AI例如我正在用 Docker 容器化一个 Node.js 应用请围绕这个场景提问能让提问更贴近实战。仓库英文版各主题文档1-containers.md、2-cicd.md、3-infrastructure-as-code.md、4-container-orchestration.md、5-monitoring.md都附带了完整的自测问题清单与主题完成清单建议逐项对照打勾。结语learn-to-cloud 第 4 阶段以DevOps 是一种文化为起点用 5 周时间串起 CI/CD、IaC、容器化、容器编排与监控五大实践并以每个项目都要有管线、IaC 和监控作为硬性验收标准确保学习者不只知道而是真正做到。完成本阶段后你便可以带着这套自动化、可观测的工程能力进入第 5 阶段——云安全Securing Your Cloud Applications把安全实践嵌入到你已构建的 DevOps 体系中。赞分享教程云原生【免费下载链接】learn-to-cloudA courseware built on the belief that anyone can learn foundational cloud engineering skills with the right guide and discipline项目地址https://gitcode.com/gh_mirrors/le/learn-to-cloud点击查看免费下载相关推荐learn-to-cloud 第 4 阶段DevOps 基础——从 CI/CD 到 Kubernetes 与可观测性的完整学习路线learn to cloud 第 4 阶段DevOps 基础——从 CI/CD 到 Kubernetes 与可观测性的完整学习路线 本篇技术指南以 learn教程云原生learn-to-cloud 第四阶段学习指南掌握 DevOps 基础容器化、CI/CD、Terraform、Kubernetes 与可观测性learn to cloud 第四阶段学习指南掌握 DevOps 基础容器化、CI/CD、Terraform、Kubernetes 与可观测性 本指南对应教程云原生learn-to-cloud 阶段四DevOps 基础——从 CI/CD、IaC 到容器与监控的完整学习路线learn to cloud 阶段四DevOps 基础——从 CI/CD、IaC 到容器与监控的完整学习路线 本指南对应 learn to cloud 开源课教程云原生上一篇9Router 故障排除完全指南配额、认证、连接与性能问题的系统化排查手册下一篇qwen-code 聊天记录离线投影从 Append-only JSONL 到 DaemonTranscriptBlock 的共享回放内核创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考