运维技术栈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 / unzip2. 文本处理三剑客grep正则匹配、递归查找sed流式编辑替换、删除、插入awk字段处理、统计、报表3. 用户与权限用户 / 组管理useradd、usermod、passwd、groupadd、id、sudo权限模型rwx、chmod数字 符号、chown、chgrp、umasksudo 配置/etc/sudoers、visudo特殊权限SUID / SGID / Sticky BitACLsetfacl、getfacl文件权限模型rwx、SUID/SGID/stickySELinux 基础enforcing / permissive / disabled4. 进程与服务管理进程查看ps、top、htop、pidstat、pidof信号管理kill、pkill、killallsystemdsystemctl、journalctl、unit 文件编写后台运行nohup、、screen、tmux、jobs、 fg、 bg5. 软件包与仓库RPM 系yum、dnf、rpmDEB 系apt、dpkg源码编译./configure make make install私有仓库了解6. 文件系统与磁盘文件系统类型ext4、xfs分区与挂载fdisk、parted、mount、/etc/fstabLVMPV / VG / LVinode / 软硬链接 / 文件句柄磁盘监控df、du、iostat7. 网络管理网络配置ip、ifconfig、nmcliDNS/etc/resolv.conf、nslookup、dig端口与服务ss -lntp、netstat、lsof防火墙iptables表/链/规则、firewalldzone / service / port、ufw路由route、ip route抓包tcpdump、wireshark基础8. 日志与排错日志位置/var/log/messages、/var/log/syslog、journalctl日志轮转logrotate常见故障排查流程网络 → 服务 → 资源 → 日志9. 性能监控与调优CPUtop、mpstat、uptime、load average、sar内存free、vmstat、sarIOiostat、iotop网络netstat / ss综合sar、dstat、nmon基础调优swappiness、文件句柄数ulimit10. 安全基础SSH密钥登录、禁用 root、改端口sudo 精细化授权防火墙策略基础审计last、who、history常见攻击防范暴力破解、DDoS概念11. 系统服务与启动管理SysVinitservice / chkconfigsystemdsystemctl start|stop|enable|statusUnit 文件结构/etc/systemd/system日志journalctl12. 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.jsonDocker vs 虚拟机2. Docker 安装与配置安装方式yum / apt / 官方脚本镜像加速/etc/docker/daemon.json存储驱动overlay2cgroup / namespace 基础认知3. Docker 镜像镜像分层原理Dockerfile 指令FROM、RUN、CMD、ENTRYPOINTCOPY、ADDENV、ARGEXPOSE、WORKDIR、USERHEALTHCHECK、LABEL多阶段构建Multi-stage build.dockerignore镜像优化合并 RUN、清理缓存、选择 slim/alpine4. Docker 镜像管理镜像操作pull / push / build / tag / rmi镜像分层与 UnionFS镜像优化减少层数多阶段构建multi-stage build精简基础镜像alpine / distroless5. Dockerfile 编写常用指令FROM / RUN / CMD / ENTRYPOINTCOPY / ADDENV / ARGWORKDIR / EXPOSEUSER / HEALTHCHECKCMD vs ENTRYPOINT 区别build cache 机制6. Docker 容器生命周期管理生命周期run、start、stop、restart、rm前台 / 后台运行-d、-it查看ps、logs、inspect、stats进入容器exec、attach资源限制-m、--cpus、--memory-swapdocker run端口映射、卷挂载、环境变量docker ps / logs / exec / stop / start / rm容器状态created / running / exited / paused前台 vs 后台运行-d7. Docker 存储,数据持久化Volumevolume create、mount,docker volume create / ls / inspectBind Mount-v /host:/containertmpfs mountvolume 驱动了解Volume 生命周期与清理8. Docker 网络管理网络模式bridge默认、host、none、container自定义 bridge 网络端口映射-p / -PDNS、link旧、network connect、容器间通信overlay 网络为 K8s 铺垫9. Docker Composedocker-compose.yml结构语法常用字段version、services、image、build、ports、volumes、networks、environment、depends_on常用命令up、down、ps、logs、exec多环境配置docker-compose.override.yml多容器应用编排示例Web DB10. 私有仓库Docker HubHarbor重点企业常用镜像推送 / 拉取、权限控制11. Docker 安全与运维非 root 用户运行容器镜像漏洞扫描Trivy / Clair了解资源限制防止单容器拖垮主机Docker daemon 加固12. Docker 原理与进阶NamespacePID / NET / MNT / UTS / IPC / USERCgroupsCPU / memory / blkiorootfs / 联合挂载容器逃逸风险与防护三、KubernetesK8s1. K8s 架构与核心概念集群角色MasterControl Plane / Worker Node核心组件API ServeretcdController ManagerSchedulerKubeletkube-proxyCoreDNS核心对象Pod、Deployment、Service、ConfigMap、Secret、Namespace、Ingress、PVC / PVPod 是最小调度单元2. 核心工作负载资源PodPod 定义与 YAMLPod 本质最小调度单元单容器 / 多容器 Podsidecar / initContainer容器共享网络 / 存储生命周期Pending / Running / Succeeded / Failed / CrashLoopBackOff重启策略Always / OnFailure / Never健康检查livenessProbe / readinessProbe / startupProbe探针livenessProbe、readinessProbe、startupProbe资源定义requests/limits污点 容忍Taint / TolerationController 控制器Deployment无状态应用、滚动更新、回滚滚动更新、回滚、扩缩容ReplicaSet副本管理StatefulSet有状态应用稳定网络标识、持久存储MySQL、ES 等DaemonSet节点级守护进程Job / CronJob批处理任务3. 集群部署方式了解即可kubeadm最常用二进制部署难偏底层云厂商托管EKS / GKE / ACK / TKE4. Service 与网络Service 类型ClusterIP、NodePort、LoadBalancer、ExternalNameEndpoints / EndpointSlicekube-proxy 模式iptables / ipvsIngress / Ingress ControllerNginx / TraefikDNSCoreDNS 原理与使用、Service 域名解析NetworkPolicy网络隔离类似防火墙5. 存储Volume 类型emptyDir、hostPathPV / PVC / StorageClassStorageClass 动态供给Dynamic ProvisioningCSI概念即可ConfigMap / Secret 作为卷挂载6. 配置与密钥ConfigMap配置分离SecretBase64、Opaque / docker-registry、密码、Token、TLS 证书Downward API热更新限制需要 reload 机制配合7. 调度与亲和性nodeSelectornodeAffinity / podAffinity / podAntiAffinityTaint / Toleration优先级与抢占PriorityClass了解资源请求与限制requests / limitsQoS 等级Guaranteed / Burstable / BestEffort8. 发布与升级策略滚动更新RollingUpdate蓝绿部署金丝雀发布Canary回滚kubectl rollout undo灰度发布配合 Ingress / Service Mesh9. 高可用与自愈Pod 自动重启Deployment 滚动升级策略PodDisruptionBudgetPDBHPAHorizontal Pod AutoscalerVPA了解10. K8s 运维工具kubectl常用命令全集get、describe、logs、exec、apply、delete、rolloutYAML 编写与校验HelmChart 结构helm install/upgrade/rollback/uninstallvalues.yaml私有 Helm 仓库集群部署工具kubeadm、kind、minikube、k3s轻量11. K8s 运维与排错日志查看kubectl logs、kubectl describe事件查看kubectl get events常见问题ImagePullBackOff、CrashLoopBackOff、OOMKilletcd 备份与恢复概念 命令集群升级流程kubeadm 为例kubectl 常用命令get / describe / logs / exec / port-forwardapply / delete集群状态kubectl get cs节点维护cordon / drain / uncordonPod 异常状态排查ImagePullBackOff / CrashLoopBackOff / Pending12. K8s 安全与权限RBACRole / ClusterRole / RoleBinding / ClusterRoleBindingServiceAccountPodSecurityPolicy旧/ Pod Security Admission新NetworkPolicy实战Secrets 管理Vault 可了解13. 可观测性Metricsmetrics-server / kubectl top日志容器日志路径EFK / Loki 架构概念监控Prometheus Grafana 核心概念ServiceMonitor / PodMonitor链路追踪OpenTelemetry 概念14. 高级与生态Operator 模式CRDCustomResourceDefinitionCNI 插件Calico / Flannel / CiliumCSI 插件GitOpsArgo CD / FluxService MeshIstio流量治理、安全、观测15. Helm 包管理Helm 架构Chart / Release / RepositoryChart 目录结构helm install / upgrade / rollback / uninstallvalues.yaml模板渲染Helm Hook四、CI/CDJenkins1. Jenkins 基础架构Master / AgentNode安装方式war、Docker、k8s 部署插件体系推荐插件、离线安装用户与权限Role-based Authorization Strategy2. Job 类型Freestyle ProjectPipeline Project重点Multibranch PipelineFolder / View 组织项目3. Jenkins PipelineJenkinsfileDeclarative / Scripted基本结构pipeline { agent { ... } stages { ... } post { ... } }stage / step环境变量environment {}、withEnv参数化构建parameters {}凭证管理credentials()、withCredentials触发方式SCM 轮询、Webhook、定时cron4. 流水线实战环节拉取代码Git / GitLab代码编译Maven / Gradle / npm单元测试 覆盖率静态代码扫描SonarQube了解Docker 镜像构建 推送部署到 K8skubectl / helm通知Email、钉钉、企业微信5. Jenkins 与 K8sJenkins Agent on K8sPod Template动态 Agent按需创建在容器中执行流水线步骤常见坑权限、kubeconfig、镜像拉取6. Jenkins 运维备份JENKINS_HOME日志排查插件管理、版本升级性能调优并发数、内存、Agent 规划五、CI/CDGitLab CI1. GitLab CI 基础核心概念Pipeline / Stage / Job.gitlab-ci.ymlGitLab Runner安装与注册Executor 类型shell、docker、kubernetesRunner 标签tags2. .gitlab-ci.yml 详解stages、job定义script、before_script、after_scriptvariables、extends、include、rulesonly/except旧、rules新cache、artifactsneedsDAG 流水线whenon_success / on_failure / always / manual3. 常见 CI 场景代码检出编译构建单元测试Docker 镜像构建 推送到 Harbor部署到 K8skubectl / helm环境区分dev / test / prod变量 rules4. GitLab CI Docker K8sDocker-in-DockerdindKaniko更安全推荐了解K8s Executor 原理Service 容器services: - docker:dind使用私有镜像仓库5. GitLab CI 运维与安全Runner 扩容与高可用缓存优化加快构建敏感信息管理CI/CD Variables权限控制Protected Branches / TagsPipeline 成本与效率优化六、DevOps 综合与实践1. 基础设施即代码IaCTerraform云资源、K8s 集群了解Ansible批量部署、配置管理强烈建议掌握2. 监控与告警Prometheus GrafanaMetricsCPU、内存、Pod、容器AlertManagerkube-state-metrics、node-exporter3. 日志系统EFK / ELKElasticsearch Fluentd/Fluent Bit Kibana容器日志采集方案Loki Promtail Grafana云原生日志推荐4. 微服务与中间件运维Nginx / Ingress 配置MySQL / Redis / MQ 在 K8s 中部署与运维服务发现、配置中心Consul / Nacos了解5. 生产实践要点蓝绿发布 / 金丝雀发布灰度发布Ingress 权重回滚策略灾备与高可用设计CI/CD 流程规范分支策略Git Flow / Trunk Based七、面试高频考点提炼LinuxCPU load、OOM、inode、软硬链接、权限、网络排查Docker镜像分层、Dockerfile 优化、volume vs bind mountK8sPod 生命周期、探针、deployment 升级策略、HPA、Service 区别、Ingress、PV/PVC、RBACJenkinsPipeline 语法、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/log、journalctl编辑vim至少会保存、退出、搜索 每日任务装一台Rocky / Ubuntu VM所有操作只用命令行完成 20 个常见故障模拟文件删不掉、端口占用、服务起不来第 4–6 天Linux 运维常用技能✅ 必会内容systemdsystemctl、journalctl磁盘df/du/fdisk/mount性能top/htop/vmstat/iostat网络排查telnet/nc/curl/tcpdump基础 小目标手动部署一个Nginx MySQL能通过日志定位启动失败原因第 7–10 天Docker 基础✅ 必会内容镜像 / 容器 / 仓库概念DockerfileFROM/RUN/CMD/ENTRYPOINT/COPY/ADD常用命令run/exec/ps/logs/rmi/buildVolume / 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 / etcdPod / Deployment / ServiceYAML 编写kubectl 常用命令 实战用kubeadm / kind / k3s​ 搭一个本地集群部署一个 nginx deployment暴露 serviceClusterIP / NodePort第 16–20 天K8s 工作负载 网络✅ 必会内容Pod 探针liveness / readinessDeployment 滚动更新 回滚ConfigMap / SecretService / IngressNginx 实战部署一个 Web 应用通过 ConfigMap 注入配置用 Ingress 暴露域名访问第 21–23 天Jenkins CI/CD✅ 必会内容Jenkins 安装Docker / 物理机Freestyle PipelineJenkinsfileDeclarativeGit Maven Docker 构建 实战Jenkins 拉代码 → 构建 → 打镜像 → 推 Harbor第 24–26 天GitLab CI✅ 必会内容GitLab Runner 安装与注册.gitlab-ci.ymlstages / jobs / cache / artifactsDocker executor 实战GitLab CI 构建 Docker 镜像推送到私有仓库第 27–30 天K8s CI/CD 打通✅ 必会内容kubectl / helm 部署应用CI 中执行 kubectl简单回滚策略 实战项目非常重要Git push → CI 构建镜像 → 推送仓库 → K8s 自动部署✅ 阶段产出拥有一条完整的 DevOps 流水线四、精通阶段第 31–45 天目标能解决生产问题懂运维体系第 31–33 天K8s 高级调度nodeSelector / affinitytaint / tolerationHPA / VPA概念PodDisruptionBudget第 34–36 天K8s 存储 安全PV / PVC / StorageClassRBACRole / ClusterRole / BindingServiceAccountNetworkPolicy第 37–39 天HelmChart 结构values.yamlhelm install/upgrade/rollback私有 Helm 仓库第 40–42 天监控 日志Prometheus Grafanakube-state-metricsEFK / Loki选学 Loki更轻量第 43–45 天K8s 排错专项Pod 常见错误ImagePullBackOffCrashLoopBackOffOOMKilledEvent / Describe / Logs网络不通排查思路✅ 阶段产出能独立定位和解决80% 的常见 K8s 故障五、实战阶段第 46–60 天目标企业级项目 面试级别第 46–50 天综合项目做一个完整 DevOps 平台示例GitLab 管理代码Jenkins / GitLab CI 构建Harbor 存镜像K8s 部署Ingress 暴露服务Prometheus Grafana 监控 可选加分项Helm 管理应用蓝绿 / 金丝雀发布钉钉 / 企业微信通知第 51–55 天Ansible 运维自动化PlaybookInventory批量部署 K8s 节点批量发布应用第 56–60 天面试冲刺✅ 重点复习Linux 常见故障Docker 镜像分层 优化K8s Pod 生命周期Deployment 升级策略CI/CD 流程设计题一次线上事故的处理思路 输出自己的运维知识脑图一份项目简历10 个能讲清楚的实战案例六、每日学习模板通用早上30min - 看文档 / 视频 / 官方文档 - 记笔记强烈建议用 Markdown 晚上1.5–2h - 动手实验 - 故意制造错误并修复 - 写总结发博客 / 笔记 每周日 - 复盘本周内容 - 重做一次最复杂的实验七、工具与环境建议类别推荐虚拟机VMware / VirtualBox操作系统Rocky 9 / Ubuntu 22.04K8sk3s / kind本地最快CIJenkins GitLab笔记Obsidian / Typora / Notion画图draw.io画架构图八、给你 3 条关键建议少走半年弯路不要只看书一定要敲命令每个 K8s YAML 都要自己手写一遍CI/CD 一定要从“Git push”开始到“浏览器访问”结束