DevOps-Core-Course

inno-devops-labs更新放缓

一套 18 个动手实验的 DevOps 核心课程,带你从 Docker、CI/CD 一路做到 Kubernetes、GitOps、可观测性和 Terraform,边做边搭出一个真实服务。

🚀 DevOps core course — 18 hands-on labs building a real service from Docker and CI/CD through Kubernetes, Helm, GitOps with ArgoCD, Argo Rollouts, observability (Prometheus/Grafana/Loki), Terraform, Ansible, secrets management, and Nix reproducible builds.

暂无版本331star338fork同步于 2026-11-07 07:32 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    DevOps Engineering: Core Practices

    main labs bonus exam duration focus

    Master production-grade DevOps through hands-on labs. You take a single web service and, week by week, containerize it, wire CI/CD, provision its infrastructure, make it observable, orchestrate it on Kubernetes, and ship it through GitOps and progressive delivery — ending with a multi-service, self-healing, fully-observable system and a portfolio that proves you can run software in production.

    "You build it, you run it." — Werner Vogels


    Course Roadmap

    The arc is build → integrate → provision → observe → orchestrate → deliver → operate at scale. Each lab builds on the last; your service grows from one container to a three-service cluster.

    WeekLabModuleKey Topics & Tooling (May 2026)
    11Web Application DevelopmentPython 3.13, Flask/FastAPI, health endpoints
    22ContainerizationDocker 29, multi-stage, distroless, Trivy scan, GHCR
    33Continuous IntegrationGitHub Actions, testing pyramid, supply-chain safety
    44Infrastructure as CodeTerraform 1.15 + Pulumi 3.243, state, OpenTofu
    55Configuration Managementansible-core 2.21, roles, idempotency, Vault
    66Continuous DeploymentAdvanced Ansible, Compose v2, CI/CD with OIDC
    77LoggingLoki 3.7, Grafana Alloy 1.16 (Promtail EOL), LogQL
    88MonitoringPrometheus 3.x, PromQL, RED/USE, Grafana 13
    99KubernetesK8s 1.36 "Haru", Deployments, Services — 2nd service joins
    1010HelmHelm 4.1, charts, templating, hooks, OCI registries
    1111Secrets ManagementK8s Secrets, OpenBao 2.5, External Secrets Operator
    1212Configuration & StorageConfigMaps, PV/PVC, StorageClass, hot-reload
    1313GitOpsArgoCD 3.4, ApplicationSet — 3rd service joins
    1414Progressive DeliveryArgo Rollouts 1.8, canary, blue-green, AnalysisTemplate
    1515StatefulSetsHeadless services, volumeClaimTemplates, operators
    1616Cluster Monitoringkube-prometheus, ServiceMonitor, init containers
    —Bonus Labs
    —17Edge DeploymentCloudflare Workers, V8 isolates, global edge
    —18Reproducible BuildsNix flakes, deterministic builds

    📅 16-week schedule. If your semester runs shorter, lectures pair up (two per week) so the lab cadence stays one-per-week. Lectures 1-16 map 1:1 to Labs 1-16; bonus labs 17-18 are covered by Lecture 16.


    The Project: a service that grows into a system

    You start with one Python service (Lab 1) and never throw it away — every lab adds a production capability to the same project. Two course-provided plumbing services join later to make orchestration concepts real:

    graph LR
        U[User] -->|HTTP| WEB[web :8080<br/>your Python service]
        WEB -->|Lab 9+| ECHO[echo :8081<br/>plumbing]
        WEB -.->|Lab 13+| HEALTH[health :8082<br/>plumbing]
    
        style WEB fill:#2196F3,color:#fff
        style ECHO fill:#FF9800,color:#fff
        style HEALTH fill:#607D8B,color:#fff
    
    ServiceRoleOwnerWhen it appears
    webYour Python web service — the project spineYou build itLab 1
    echoGo companion — makes Service + kube-DNS meaningfulCourse plumbing (plumbing/echo/)Lab 9
    healthGo companion — gives ArgoCD ApplicationSet a 3rd targetCourse plumbing (plumbing/health/)Lab 13

    You never write the plumbing services — you deploy and wire them. They expose Prometheus metrics so your Lab 7-8-16 observability stack picks them up automatically.


    What Ships vs. What You Produce

    In this repo (course-provided)In YOUR fork (you produce)
    lectures/ — 16 lecturesapp_python/ — your service
    labs/ — 18 lab specsk8s/ — your manifests (Lab 9+)
    plumbing/ — echo + health servicesansible/, terraform/ — your IaC (Labs 4-6)
    README.md — this file.github/workflows/ — your CI (Lab 3+)
    monitoring/ — your Prometheus/Loki config (Labs 7-8)

    Student-produced directories are gitignored in this repo so the upstream stays clean. You commit them to your fork.


    Lab Structure

    Each main lab (1-16) is worth 10 points of main tasks + up to 2 bonus points:

    • Main tasks sum to 10 pts. Split varies by lab (e.g. 6+4, or 2+3+3+2) — Task 1 is always standalone so later labs never depend on a task you skipped.
    • Bonus tasks sum to 2 pts, flat. Genuinely challenging extensions, not busywork.
    • Bonus labs (17, 18) follow the same 10 + 2 shape and are the exam-alternative track.

    Acceptance criteria and a rubric table close every lab. Minimum passing per lab: 6/10.


    Grading

    Five components. Maximum contributions sum to 139%, capped at 100% — so there are multiple paths to an A and no single component is mandatory.

    ComponentRawWeightRewards
    Main labs 1-16 (main tasks)16070%Diligent weekly project work — the floor
    Bonus tasks (2 pts × 16 labs, flat)3214%Going beyond on weekly topics
    Quiz leaderboards (5 rolling windows, top-10 share a pool)—5%Engagement + lecture mastery
    Bonus labs 17 + 18 (10 pts each)2020%Edge + reproducible-build mastery; the exam alternative
    Final exam—30%Optional — written, comprehensive
    Sum (capped at 100%)139%

    Paths to an A (≥90%)

    • Practice path: all main labs (70%) + bonuses (14%) + both bonus labs (20%) → 104% → capped A, no exam.
    • Exam path: all main labs (70%) + bonuses (14%) + a solid exam (30%) → A, no bonus labs.
    • Mixed: main labs + some bonuses + one bonus lab + a decent exam.
    GradePercentage
    A90-100%
    B75-89%
    C60-74%
    Dbelow 60%

    Quiz Leaderboards

    Each lecture has a 15-question post-quiz. Quizzes feed 5 rolling leaderboard windows across the semester:

    WindowLecturesWeeks
    1lec 1-31-3
    2lec 4-64-6
    3lec 7-97-9
    4lec 10-1210-12
    5lec 13-1613-16

    The top-10 students in each window split that window's small point pool (≈1% each, ~5% total). Late-joining students can still win later windows.


    Technology Stack (pinned May 2026)

    LayerToolVersion
    RuntimePython3.13
    ContainerDocker Engine29.5
    RegistryGHCR—
    ScanningTrivyv0.69.3+ (post-CVE-2026-33634 safe)
    CI/CDGitHub Actionsubuntu-24.04 runners
    IaCTerraform / OpenTofu / Pulumi1.15 / 1.12 / 3.243
    Config mgmtansible-core2.21
    LogsLoki + Grafana Alloy3.7 / 1.16
    MetricsPrometheus + Grafana3.x / 13
    OrchestrationKubernetes1.36 "Haru"
    Local clusterk3d (k3s-in-Docker)5.7
    PackagingHelm4.1
    SecretsOpenBao2.5
    GitOpsArgoCD3.4
    Progressive deliveryArgo Rollouts1.8

    Submission Workflow

    graph LR
        A["Fork repo"] --> B["Branch lab&lt;N&gt;"]
        B --> C["Complete tasks"]
        C --> D["Push & open PR"]
        D --> E["Submit PR URL via Moodle"]
        E --> F["Receive feedback"]
        style A fill:#4CAF50,color:#fff
        style D fill:#F44336,color:#fff
        style E fill:#00BCD4,color:#fff
    
    git checkout -b lab1
    # ... complete the lab ...
    git add app_python/
    git commit -m "Complete lab1"
    git push -u origin lab1
    # Open a PR from your-fork:lab1 → your-fork:main, submit the PR URL on Moodle
    
    • All main tasks completed
    • Documentation written (docs/LABNN.md)
    • Screenshots/CLI output where required
    • Code tested and working
    • Markdown validated
    • PR opened and URL submitted

    Key Books & Resources

    DevOps foundations

    • The Phoenix Project — Gene Kim et al. (2013)
    • The DevOps Handbook (2e) — Kim, Humble, Debois, Willis (2021)
    • Accelerate — Forsgren, Humble, Kim (2018)

    Tooling

    • Docker Deep Dive — Nigel Poulton
    • Terraform: Up & Running (4e) — Yevgeniy Brikman
    • Ansible for DevOps — Jeff Geerling
    • Kubernetes Up & Running (3e) — Burns, Beda, Hightower
    • Learning Helm (2e) — Butcher, Farina, Dolitsky

    Observability & reliability

    • Observability Engineering — Majors, Fong-Jones, Miranda
    • Site Reliability Engineering — Beyer et al. (free at sre.google/books) — pairs with the SRE-Intro elective

    Online


    Ready? Start with Lab 1. Questions → course Moodle or office hours.