运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表

运维技术栈知识点清单,覆盖 Linux + Docker + Kubernetes + Jenkins / GitLab CI,按模块分层,便于查漏补缺和做学习/复习路线图。


一、Linux 基础与系统运维

1. 系统基础

  • Linux 发行版:CentOS / Rocky / Alma / Ubuntu / Debian

  • 目录结构:/etc/var/usr/proc/sys/dev

  • 运行级别: systemd / target

  • 常用命令速查:ls/ ``cd/ pwd/ ``cp/ ``mv/ ``rm/ ``mkdir/ ``touch

  • 查看文件:cat / less / more / head / tail / grep

  • 软硬链接:ln

  • 压缩解压:tar / gzip / zip / unzip

2. 文本处理三剑客

  • grep:正则匹配、递归查找

  • sed:流式编辑(替换、删除、插入)

  • awk:字段处理、统计、报表

3. 用户与权限

  • 用户 / 组管理:useraddusermodpasswdgroupadd、id、sudo

  • 权限模型:rwx、chmod(数字 & 符号)、chownchgrp、umask

  • sudo 配置:/etc/sudoersvisudo

  • 特殊权限:SUID / SGID / Sticky Bit

  • ACL:setfaclgetfacl

  • 文件权限模型(rwx、SUID/SGID/sticky)

  • SELinux 基础(enforcing / permissive / disabled)

4. 进程与服务管理
  • 进程查看:pstophtoppidstat、pidof

  • 信号管理:killpkillkillall

  • systemd:systemctljournalctl、unit 文件编写

  • 后台运行:nohup&screentmux、jobs、 fg、 bg

5. 软件包与仓库

  • RPM 系:yumdnfrpm

  • DEB 系:aptdpkg

  • 源码编译:./configure && make && make install

  • 私有仓库(了解)

6. 文件系统与磁盘

  • 文件系统类型:ext4、xfs

  • 分区与挂载:fdiskpartedmount/etc/fstab

  • LVM:PV / VG / LV

  • inode / 软硬链接 / 文件句柄

  • 磁盘监控:dfduiostat

7. 网络管理

  • 网络配置:ipifconfignmcli

  • DNS:/etc/resolv.confnslookupdig

  • 端口与服务:ss -lntp、netstatlsof

  • 防火墙:iptables(表/链/规则)、firewalld(zone / service / port)、ufw

  • 路由:routeip route

  • 抓包:tcpdumpwireshark(基础)

8. 日志与排错

  • 日志位置:/var/log/messages/var/log/syslogjournalctl

  • 日志轮转:logrotate

  • 常见故障排查流程:网络 → 服务 → 资源 → 日志

9. 性能监控与调优

  • CPU:topmpstatuptimeload average、sar

  • 内存:freevmstatsar

  • IO:iostatiotop

  • 网络:netstat / ss

  • 综合:sardstatnmon

  • 基础调优:swappiness、文件句柄数(ulimit

10. 安全基础

  • SSH:密钥登录、禁用 root、改端口

  • sudo 精细化授权

  • 防火墙策略

  • 基础审计:lastwhohistory

  • 常见攻击防范:暴力破解、DDoS(概念)

11. 系统服务与启动管理

  • SysVinit:service / chkconfig

  • systemd:

    • systemctl start|stop|enable|status

    • Unit 文件结构(/etc/systemd/system

    • 日志:journalctl

12. Shell 脚本编程

  • 变量、数组、环境变量

  • 条件判断:if / case

  • 循环:for / while / until

  • 函数

  • 常用特殊变量:$0 $1 $# $? $$

  • 调试:set -x / -e

  • 实战脚本:备份、日志切割、监控告警


二、Docker 容器技术

1. Docker 基础

  • Docker 架构:Client / Daemon / Image / Container / Registry

  • 核心概念:镜像(Image)、容器(Container)、仓库(Registry)、Dockerfile、Volume、Network

  • 安装与配置:docker-ce、镜像加速、daemon.json

  • Docker vs 虚拟机

2. Docker 安装与配置

  • 安装方式(yum / apt / 官方脚本)

  • 镜像加速(/etc/docker/daemon.json

  • 存储驱动(overlay2)

  • cgroup / namespace 基础认知

3. Docker 镜像

  • 镜像分层原理

  • Dockerfile 指令:

    • FROMRUNCMDENTRYPOINT

    • COPYADD

    • ENVARG

    • EXPOSEWORKDIRUSER

    • HEALTHCHECKLABEL

  • 多阶段构建(Multi-stage build)

  • .dockerignore

  • 镜像优化:合并 RUN、清理缓存、选择 slim/alpine

4. Docker 镜像管理

  • 镜像操作:pull / push / build / tag / rmi

  • 镜像分层与 UnionFS

  • 镜像优化:

    • 减少层数

    • 多阶段构建(multi-stage build)

    • 精简基础镜像(alpine / distroless)

5. Dockerfile 编写

  • 常用指令:

    • FROM / RUN / CMD / ENTRYPOINT

    • COPY / ADD

    • ENV / ARG

    • WORKDIR / EXPOSE

    • USER / HEALTHCHECK

  • CMD vs ENTRYPOINT 区别

  • build cache 机制

6. Docker 容器生命周期管理

  • 生命周期:runstartstoprestartrm

  • 前台 / 后台运行:-d-it

  • 查看:pslogsinspectstats

  • 进入容器:execattach

  • 资源限制:-m--cpus--memory-swap

  • docker run(端口映射、卷挂载、环境变量)

  • docker ps / logs / exec / stop / start / rm

  • 容器状态:created / running / exited / paused

  • 前台 vs 后台运行(-d)

7. Docker 存储,数据持久化

  • Volume:volume createmount, docker volume create / ls / inspect

  • Bind Mount:-v /host:/container

  • tmpfs mount

  • volume 驱动(了解)Volume 生命周期与清理

8. Docker 网络管理

  • 网络模式:bridge(默认)、host、none、container

  • 自定义 bridge 网络

  • 端口映射:-p / -P

  • DNS、link(旧)、network connect、容器间通信

  • overlay 网络(为 K8s 铺垫)

9. Docker Compose

  • docker-compose.yml 结构语法

  • 常用字段:versionservicesimagebuildportsvolumesnetworksenvironmentdepends_on

  • 常用命令:updownpslogsexec

  • 多环境配置:docker-compose.override.yml

  • 多容器应用编排示例(Web + DB)

10. 私有仓库

  • Docker Hub

  • Harbor(重点,企业常用)

  • 镜像推送 / 拉取、权限控制

11. Docker 安全与运维

  • 非 root 用户运行容器

  • 镜像漏洞扫描(Trivy / Clair,了解)

  • 资源限制防止单容器拖垮主机

  • Docker daemon 加固

12. Docker 原理与进阶

  • Namespace:PID / NET / MNT / UTS / IPC / USER

  • Cgroups:CPU / memory / blkio

  • rootfs / 联合挂载

  • 容器逃逸风险与防护


三、Kubernetes(K8s)

1. K8s 架构与核心概念

  • 集群角色:Master(Control Plane) / Worker Node

  • 核心组件:

    • API Server

    • etcd

    • Controller Manager

    • Scheduler

    • Kubelet

    • kube-proxy

    • CoreDNS

  • 核心对象:Pod、Deployment、Service、ConfigMap、Secret、Namespace、Ingress、PVC / PV

  • Pod 是最小调度单元

2. 核心工作负载资源

Pod
  • Pod 定义与 YAML

  • Pod 本质:最小调度单元

  • 单容器 / 多容器 Pod(sidecar / initContainer)

  • 容器共享网络 / 存储

  • 生命周期:Pending / Running / Succeeded / Failed / CrashLoopBackOff

  • 重启策略:Always / OnFailure / Never

  • 健康检查:livenessProbe / readinessProbe / startupProbe

  • 探针:livenessProbereadinessProbestartupProbe

  • 资源定义:requests / limits

  • 污点 & 容忍(Taint / Toleration)

Controller 控制器
  • Deployment:无状态应用、滚动更新、回滚,滚动更新、回滚、扩缩容

  • ReplicaSet:副本管理

  • StatefulSet:有状态应用(稳定网络标识、持久存储,MySQL、ES 等)

  • DaemonSet:节点级守护进程

  • Job / CronJob:批处理任务

3. 集群部署方式(了解即可)

  • kubeadm(最常用)

  • 二进制部署(难,偏底层)

  • 云厂商托管:EKS / GKE / ACK / TKE

4. Service 与网络

  • Service 类型:ClusterIP、NodePort、LoadBalancer、ExternalName

  • Endpoints / EndpointSlice

  • kube-proxy 模式:iptables / ipvs

  • Ingress / Ingress Controller(Nginx / Traefik)

  • DNS:CoreDNS 原理与使用、Service 域名解析

  • NetworkPolicy:网络隔离(类似防火墙)

5. 存储

  • Volume 类型:emptyDir、hostPath

  • PV / PVC / StorageClass

  • StorageClass 动态供给(Dynamic Provisioning)

  • CSI(概念即可)

  • ConfigMap / Secret 作为卷挂载

6. 配置与密钥

  • ConfigMap:配置分离

  • Secret:Base64、Opaque / docker-registry、密码、Token、TLS 证书

  • Downward API

  • 热更新限制(需要 reload 机制配合)

7. 调度与亲和性

  • nodeSelector

  • nodeAffinity / podAffinity / podAntiAffinity

  • Taint / Toleration

  • 优先级与抢占(PriorityClass)(了解)

  • 资源请求与限制:requests / limits

  • QoS 等级:Guaranteed / Burstable / BestEffort

8. 发布与升级策略

  • 滚动更新(RollingUpdate)

  • 蓝绿部署

  • 金丝雀发布(Canary)

  • 回滚:kubectl rollout undo

  • 灰度发布配合 Ingress / Service Mesh

9. 高可用与自愈

  • Pod 自动重启

  • Deployment 滚动升级策略

  • PodDisruptionBudget(PDB)

  • HPA(Horizontal Pod Autoscaler)

  • VPA(了解)

10. K8s 运维工具

  • kubectl:常用命令全集(getdescribelogsexecapplydeleterollout

  • YAML 编写与校验

  • Helm:

    • Chart 结构

    • helm install/upgrade/rollback/uninstall

    • values.yaml

    • 私有 Helm 仓库

  • 集群部署工具:kubeadm、kind、minikube、k3s(轻量)

11. K8s 运维与排错

  • 日志查看:kubectl logskubectl describe

  • 事件查看:kubectl get events

  • 常见问题:ImagePullBackOff、CrashLoopBackOff、OOMKill

  • etcd 备份与恢复(概念 + 命令)

  • 集群升级流程(kubeadm 为例)

  • kubectl 常用命令:

    • get / describe / logs / exec / port-forward

    • apply / delete

  • 集群状态:kubectl get cs

  • 节点维护:cordon / drain / uncordon

  • Pod 异常状态排查(ImagePullBackOff / CrashLoopBackOff / Pending)

12. K8s 安全与权限

  • RBAC:Role / ClusterRole / RoleBinding / ClusterRoleBinding

  • ServiceAccount

  • PodSecurityPolicy(旧)/ Pod Security Admission(新)

  • NetworkPolicy实战

  • Secrets 管理(Vault 可了解)

13. 可观测性

  • Metrics:metrics-server / kubectl top

  • 日志:

    • 容器日志路径

    • EFK / Loki 架构概念

  • 监控:

    • Prometheus + Grafana 核心概念

    • ServiceMonitor / PodMonitor

  • 链路追踪(OpenTelemetry 概念)

14. 高级与生态

  • Operator 模式

  • CRD(CustomResourceDefinition)

  • CNI 插件:Calico / Flannel / Cilium

  • CSI 插件

  • GitOps:Argo CD / Flux

  • Service Mesh:Istio(流量治理、安全、观测)

15. Helm 包管理

  • Helm 架构:Chart / Release / Repository

  • Chart 目录结构

  • helm install / upgrade / rollback / uninstall

  • values.yaml 模板渲染

  • Helm Hook


四、CI/CD:Jenkins

1. Jenkins 基础

  • 架构:Master / Agent(Node)

  • 安装方式:war、Docker、k8s 部署

  • 插件体系:推荐插件、离线安装

  • 用户与权限:Role-based Authorization Strategy

2. Job 类型

  • Freestyle Project

  • Pipeline Project(重点)

  • Multibranch Pipeline

  • Folder / View 组织项目

3. Jenkins Pipeline

  • Jenkinsfile(Declarative / Scripted)

  • 基本结构:pipeline { agent { ... } stages { ... } post { ... } }

  • stage / step

  • 环境变量:environment {}withEnv

  • 参数化构建:parameters {}

  • 凭证管理:credentials()withCredentials

  • 触发方式:SCM 轮询、Webhook、定时(cron

4. 流水线实战环节

  • 拉取代码(Git / GitLab)

  • 代码编译(Maven / Gradle / npm)

  • 单元测试 & 覆盖率

  • 静态代码扫描(SonarQube,了解)

  • Docker 镜像构建 & 推送

  • 部署到 K8s(kubectl / helm)

  • 通知:Email、钉钉、企业微信

5. Jenkins 与 K8s

  • Jenkins Agent on K8s(Pod Template)

  • 动态 Agent(按需创建)

  • 在容器中执行流水线步骤

  • 常见坑:权限、kubeconfig、镜像拉取

6. Jenkins 运维

  • 备份:JENKINS_HOME

  • 日志排查

  • 插件管理、版本升级

  • 性能调优:并发数、内存、Agent 规划


五、CI/CD:GitLab CI

1. GitLab CI 基础

  • 核心概念:Pipeline / Stage / Job

  • .gitlab-ci.yml

  • GitLab Runner:

    • 安装与注册

    • Executor 类型:shell、docker、kubernetes

  • Runner 标签(tags)

2. .gitlab-ci.yml 详解

  • stagesjob 定义

  • scriptbefore_scriptafter_script

  • variablesextendsincluderules

  • only / except(旧)、rules(新)

  • cacheartifacts

  • needs:DAG 流水线

  • when:on_success / on_failure / always / manual

3. 常见 CI 场景

  • 代码检出

  • 编译构建

  • 单元测试

  • Docker 镜像构建 & 推送到 Harbor

  • 部署到 K8s(kubectl / helm)

  • 环境区分:dev / test / prod(变量 + rules)

4. GitLab CI + Docker + K8s

  • Docker-in-Docker(dind)

  • Kaniko(更安全,推荐了解)

  • K8s Executor 原理

  • Service 容器:services: - docker:dind

  • 使用私有镜像仓库

5. GitLab CI 运维与安全

  • Runner 扩容与高可用

  • 缓存优化(加快构建)

  • 敏感信息管理:CI/CD Variables

  • 权限控制:Protected Branches / Tags

  • Pipeline 成本与效率优化


六、DevOps 综合与实践

1. 基础设施即代码(IaC)

  • Terraform(云资源、K8s 集群,了解)

  • Ansible:批量部署、配置管理(强烈建议掌握)

2. 监控与告警

  • Prometheus + Grafana

  • Metrics:CPU、内存、Pod、容器

  • AlertManager

  • kube-state-metrics、node-exporter

3. 日志系统

  • EFK / ELK:Elasticsearch + Fluentd/Fluent Bit + Kibana

  • 容器日志采集方案

  • Loki + Promtail + Grafana(云原生日志,推荐)

4. 微服务与中间件运维

  • Nginx / Ingress 配置

  • MySQL / Redis / MQ 在 K8s 中部署与运维

  • 服务发现、配置中心(Consul / Nacos,了解)

5. 生产实践要点

  • 蓝绿发布 / 金丝雀发布

  • 灰度发布(Ingress + 权重)

  • 回滚策略

  • 灾备与高可用设计

  • CI/CD 流程规范(分支策略:Git Flow / Trunk Based)


七、面试高频考点(提炼)

  • Linux:CPU load、OOM、inode、软硬链接、权限、网络排查

  • Docker:镜像分层、Dockerfile 优化、volume vs bind mount

  • K8s:Pod 生命周期、探针、deployment 升级策略、HPA、Service 区别、Ingress、PV/PVC、RBAC

  • Jenkins:Pipeline 语法、Jenkinsfile、凭据、Agent 动态调度

  • GitLab CI:.gitlab-ci.yml 结构、cache vs artifacts、rules、K8s executor

  • 综合:CI/CD 全流程设计、K8s 排错思路、生产故障处理思路

30--60 天运维技术栈学习计划

30--60 天运维技术栈学习计划 ,覆盖 Linux → Docker → Kubernetes → Jenkins / GitLab CI

可以按 30 天速成版 (每天 2--3h)或 60 天扎实版(每天 1.5--2h)来执行。


一、整体学习路线总览

主线逻辑:

Linux 打底 → Docker 容器化 → K8s 编排 → CI/CD 自动化 → 综合实战

阶段 时间 核心目标
入门 第 1--10 天 Linux + Docker 基础,能独立跑容器
进阶 第 11--30 天 K8s 核心 + Jenkins/GitLab CI,能搭完整流水线
精通 第 31--45 天 K8s 高级特性 + 运维体系(监控/日志/安全)
实战 第 46--60 天 企业级项目 + 面试复盘

二、入门阶段(第 1--10 天)

目标:能熟练用 Linux,能写 Dockerfile,能跑容器

第 1--3 天:Linux 基础

✅ 必会内容:

  • 常用命令:ls/cd/cp/mv/rm/ps/top/netstat/ss

  • 权限:chmod/chown/sudo

  • 网络:ip/ss/netstat/ping

  • 日志:/var/logjournalctl

  • 编辑:vim(至少会保存、退出、搜索)

📌 每日任务:

  • 装一台 Rocky / Ubuntu VM

  • 所有操作 只用命令行

  • 完成 20 个常见故障模拟(文件删不掉、端口占用、服务起不来)


第 4--6 天:Linux 运维常用技能

✅ 必会内容:

  • systemd:systemctljournalctl

  • 磁盘:df/du/fdisk/mount

  • 性能:top/htop/vmstat/iostat

  • 网络排查:telnet/nc/curl/tcpdump(基础)

📌 小目标:

  • 手动部署一个 Nginx + MySQL

  • 能通过日志定位启动失败原因


第 7--10 天:Docker 基础

✅ 必会内容:

  • 镜像 / 容器 / 仓库概念

  • Dockerfile:FROM/RUN/CMD/ENTRYPOINT/COPY/ADD

  • 常用命令:run/exec/ps/logs/rmi/build

  • Volume / bind mount

  • 网络:bridge / host / port mapping

📌 实战任务:

  • 写一个 Spring Boot / Python / Node 项目 Dockerfile

  • 构建镜像并运行

  • docker-compose 启动 Web + DB

✅ 阶段产出:

能用 Docker 跑一个前后端 + 数据库项目


三、进阶阶段(第 11--30 天)

目标:能独立搭建 K8s 集群 + 一条完整 CI/CD 流水线

第 11--15 天:K8s 核心概念

✅ 必会内容:

  • 架构:Master / Node / etcd

  • Pod / Deployment / Service

  • YAML 编写

  • kubectl 常用命令

📌 实战:

  • kubeadm / kind / k3s​ 搭一个本地集群

  • 部署一个 nginx deployment

  • 暴露 service(ClusterIP / NodePort)


第 16--20 天:K8s 工作负载 & 网络

✅ 必会内容:

  • Pod 探针:liveness / readiness

  • Deployment 滚动更新 & 回滚

  • ConfigMap / Secret

  • Service / Ingress(Nginx)

📌 实战:

  • 部署一个 Web 应用

  • 通过 ConfigMap 注入配置

  • 用 Ingress 暴露域名访问


第 21--23 天:Jenkins CI/CD

✅ 必会内容:

  • Jenkins 安装(Docker / 物理机)

  • Freestyle + Pipeline

  • Jenkinsfile(Declarative)

  • Git + Maven + Docker 构建

📌 实战:

  • Jenkins 拉代码 → 构建 → 打镜像 → 推 Harbor

第 24--26 天:GitLab CI

✅ 必会内容:

  • GitLab Runner 安装与注册

  • .gitlab-ci.yml

  • stages / jobs / cache / artifacts

  • Docker executor

📌 实战:

  • GitLab CI 构建 Docker 镜像

  • 推送到私有仓库


第 27--30 天:K8s + CI/CD 打通

✅ 必会内容:

  • kubectl / helm 部署应用

  • CI 中执行 kubectl

  • 简单回滚策略

📌 实战项目(非常重要):

Git push → CI 构建镜像 → 推送仓库 → K8s 自动部署

✅ 阶段产出:

拥有 一条完整的 DevOps 流水线


四、精通阶段(第 31--45 天)

目标:能解决生产问题,懂运维体系

第 31--33 天:K8s 高级调度

  • nodeSelector / affinity

  • taint / toleration

  • HPA / VPA(概念)

  • PodDisruptionBudget

第 34--36 天:K8s 存储 & 安全

  • PV / PVC / StorageClass

  • RBAC:Role / ClusterRole / Binding

  • ServiceAccount

  • NetworkPolicy

第 37--39 天:Helm

  • Chart 结构

  • values.yaml

  • helm install/upgrade/rollback

  • 私有 Helm 仓库

第 40--42 天:监控 & 日志

  • Prometheus + Grafana

  • kube-state-metrics

  • EFK / Loki(选学 Loki,更轻量)

第 43--45 天:K8s 排错专项

  • Pod 常见错误:

    • ImagePullBackOff

    • CrashLoopBackOff

    • OOMKilled

  • Event / Describe / Logs

  • 网络不通排查思路

✅ 阶段产出:

能独立定位和解决 80% 的常见 K8s 故障


五、实战阶段(第 46--60 天)

目标:企业级项目 + 面试级别

第 46--50 天:综合项目

做一个 完整 DevOps 平台示例

  • GitLab 管理代码

  • Jenkins / GitLab CI 构建

  • Harbor 存镜像

  • K8s 部署

  • Ingress 暴露服务

  • Prometheus + Grafana 监控

📌 可选加分项:

  • Helm 管理应用

  • 蓝绿 / 金丝雀发布

  • 钉钉 / 企业微信通知


第 51--55 天:Ansible + 运维自动化

  • Playbook

  • Inventory

  • 批量部署 K8s 节点

  • 批量发布应用


第 56--60 天:面试冲刺

✅ 重点复习:

  • Linux 常见故障

  • Docker 镜像分层 & 优化

  • K8s Pod 生命周期

  • Deployment 升级策略

  • CI/CD 流程设计题

  • 一次线上事故的处理思路

📌 输出:

  • 自己的 运维知识脑图

  • 一份 项目简历

  • 10 个能讲清楚的实战案例


六、每日学习模板(通用)

复制代码
早上(30min):
- 看文档 / 视频 / 官方文档
- 记笔记(强烈建议用 Markdown)

晚上(1.5--2h):
- 动手实验
- 故意制造错误并修复
- 写总结(发博客 / 笔记)

每周日:
- 复盘本周内容
- 重做一次最复杂的实验

七、工具与环境建议

类别 推荐
虚拟机 VMware / VirtualBox
操作系统 Rocky 9 / Ubuntu 22.04
K8s k3s / kind(本地最快)
CI Jenkins + GitLab
笔记 Obsidian / Typora / Notion
画图 draw.io(画架构图)

八、给你 3 条关键建议(少走半年弯路)

  1. 不要只看书,一定要敲命令

  2. 每个 K8s YAML 都要自己手写一遍

  3. CI/CD 一定要从"Git push"开始,到"浏览器访问"结束

相关推荐
名字还没想好☜1 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
冰封之寂2 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
Baron X2 小时前
Gitea Docker 部署教程
docker·gitea
隔振消音专家2 小时前
冷水机组振动传导影响及专业化减振适配治理方案
大数据·运维
Brilliantwxx2 小时前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
skywalk81632 小时前
在FreeBSD的Uubntu兼容环境下安装Reasonix
linux·运维·freebsd
^yi2 小时前
【Linux系统编程】对操作系统的理解
linux·运维·服务器·操作系统·系统调用·os
Kina_C3 小时前
LVS-NAT 负载均衡实验从环境搭建到规则持久化
linux·运维·服务器·负载均衡·lvs
小肝一下3 小时前
7. 库制作与原理
linux·c语言·操作系统·bash·shell·动静态库