# interview **Repository Path**: leiwangliu123/interview ## Basic Information - **Project Name**: interview - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-12 - **Last Updated**: 2026-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 中高级运维工程师(Linux / DevOps)实战实验笔记 > 目标岗位:**中高级运维工程师(Linux / DevOps),15K** > 一切内容基于**真实服务器、真实命令、真实排障**,所有步骤均在实验环境中实际执行并验证通过。 > 本仓库不是"八股文合集",而是一份**可照着一步步复现**的实验手册。 --- ## 一、实验环境(真实环境,非虚构) | 主机名 | IP | 角色 | CPU | 内存 | 磁盘 | 系统 | |---|---|---|---|---|---|---| | k8s-master1 | 192.168.10.34 | master / etcd / LB | 4C | 3.8G | 30G | Ubuntu 22.04.5 LTS | | k8s-master2 | 192.168.10.38 | master / etcd / LB | 4C | 3.8G | 30G | Ubuntu 22.04.5 LTS | | k8s-master3 | 192.168.10.35 | master / etcd / LB | 4C | 3.8G | 30G | Ubuntu 22.04.5 LTS | | k8s-worker1 | 192.168.10.39 | worker | 2C | 3.8G | 30G | Ubuntu 22.04.5 LTS | | k8s-worker2 | 192.168.10.40 | worker | 2C | 3.8G | 30G | Ubuntu 22.04.5 LTS | | k8s-worker3 | 192.168.10.41 | worker | 2C | 3.8G | 30G | Ubuntu 22.04.5 LTS | | **VIP(Keepalived)** | **192.168.10.100** | apiserver 高可用入口 | — | — | — | 浮动 IP | **技术选型**:Kubernetes **v1.31.14**(二进制部署)+ containerd + Calico + HAProxy/Keepalived。 版本号在笔记中全部抽为变量,升级只需改一处。 --- ## 二、目标架构 ``` ┌─────────────────────────────┐ 客户端 / kubectl ──▶│ VIP 192.168.10.100:16443 │ (Keepalived 主备漂移) └──────────────┬──────────────┘ │ HAProxy 反向代理 ┌───────────────────────┼───────────────────────┐ ▼ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ │ k8s-master1 │ │ k8s-master2 │ │ k8s-master3 │ │ 192.168.10.34 │ │ 192.168.10.38 │ │ 192.168.10.35 │ │ ─ apiserver :6443 │ │ ─ apiserver :6443 │ │ ─ apiserver :6443 │ │ ─ controller-mgr │ │ ─ controller-mgr │ │ ─ controller-mgr │ │ ─ scheduler │ │ ─ scheduler │ │ ─ scheduler │ │ ─ etcd :2379/2380 │◀▶│ ─ etcd :2379/2380 │◀▶│ ─ etcd :2379/2380 │ │ ─ kubelet/kube-proxy│ │ ─ kubelet/kube-proxy│ │ ─ kubelet/kube-proxy│ └─────────┬──────────┘ └─────────┬──────────┘ └─────────┬──────────┘ │ │ │ └───────────┬───────────┴───────────┬───────────┘ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ k8s-worker1/2/3 │ │ Calico 覆盖网络 │ │ .39 / .40 / .41 │ │ Pod CIDR │ │ kubelet/kube-proxy│ │ 10.244.0.0/16 │ └────────────────────┘ └────────────────────┘ ``` --- ## 三、仓库目录结构 ``` . ├── README.md ← 你在这里(总索引 + 学习路线) ├── 00-规划/ │ └── 00-环境规划与架构设计.md ← 端口规划、版本选型、风险清单 ├── 01-二进制部署K8s高可用集群/ ← 【阶段一】核心实验,逐篇推进 │ ├── 01-环境初始化.md │ ├── 02-证书体系.md │ ├── 03-部署ETCD集群.md │ ├── 04-HAProxy与Keepalived高可用.md │ ├── 05-部署Master组件.md │ ├── 06-部署Node组件.md │ ├── 07-部署CNI网络插件.md │ ├── 08-集群验证与高可用测试.md │ └── scripts/ ← 可直接复用的脚本 ├── 02-容器与镜像/ ← 【阶段二】✅ 已完成(Docker / Helm / Harbor) │ ├── 01-Docker核心与面试高频.md │ ├── 02-Helm包管理与实战.md │ └── 03-Harbor镜像仓库.md ├── 03-负载均衡与高可用服务/ ← 【阶段三】✅ 已完成(Nginx / Keepalived / LVS) │ ├── 01-Nginx负载均衡实战.md │ ├── 02-Keepalived高可用与Nginx整合.md │ └── 03-四层七层负载均衡与LVS.md ├── 04-数据库与缓存/ ← 【阶段四】✅ 已完成(MySQL / Redis,含真实切换演练) │ ├── 01-MySQL主从复制与高可用.md │ └── 02-Redis主从哨兵与集群.md ├── 05-CICD流水线/ ├── 06-监控告警体系/ ├── 07-日志平台/ ├── 08-AI大模型与网关/ ├── 09-云平台上搭建实验(阿里云)与自动化/ ├── 10-云原生生态/ ├── 11-AI智能运维实战项目集/ ← 运维实战项目集合(项目 01 诊断 Agent、项目 08 公网流量全链路等) └── 99-面试题库/ ← 按岗位 JD 逐条对应的面试问答 + 07 运维八股文 50 题(标准答案版) + 08 运维架构设计题(私有云/公有云/混合云 9 大架构) ├── 01-运维面试速查156题.md ├── 02-面试必背TOP50.md ├── 03-面试场景题与项目讲述.md ├── 04-Python面试速查.md ← 运维够用:12 个必会语法 + 18 题 + 2 个案例 ├── 05-15k运维岗面试精选(152篇面经提炼).md ← 从 151 篇真实面经筛出 50 题 + 12 道王牌题完整话术 ├── 06-AI运维能力专项(8题·答案已核实).md ← AI 运维专项:MCP/RAG/安全门禁/落地,答案对照项目核实 └── python-demo/ ← 可运行短脚本:并发巡检 / Nginx 日志分析 ``` --- ## 四、学习路线(按此顺序推进) | 阶段 | 内容 | 对应 JD 要求 | 状态 | |---|---|---|---| | **阶段一** | 二进制部署 K8s 高可用集群(3 master + 3 worker + VIP) | Kubernetes、Keepalived、HAProxy | ✅ 已完成 | | **阶段二** | Docker 深入、Helm、镜像仓库 Harbor | Docker、Kubernetes、Helm、Harbor | ⬜ 进行中 | | **阶段三** | Nginx 负载均衡实战、Keepalived/HAProxy 高可用服务 | Nginx、Keepalived、HAProxy | ⬜ | | **阶段四** | MySQL 主从/高可用、Redis 主从哨兵/集群、数据持久化 | MySQL、Redis | ⬜ | | **阶段五** | Jenkins / GitLab CI 流水线(Java/Go/Python/Node) | CI/CD、多语言构建 | ⬜ | | **阶段六** | Prometheus + Grafana + Alertmanager 监控告警体系 | 监控告警 | ⬜ | | **阶段七** | Fluent Bit + OpenObserve 日志平台(全文检索 + 全链路 request_id) | 日志采集、全文检索 | ✅ 已完成 | | **阶段八** | LiteLLM 网关 + 大模型部署(Ollama/vLLM) | AI 大模型、AI 网关 | ⬜ | | **阶段九** | 云平台资源管理(阿里云/AWS/腾讯云)、Ansible、Terraform | 云平台、Ansible、Terraform | ⬜ | | **阶段十** | MinIO / Ceph 对象存储、云原生生态整合 | MinIO、Ceph | ⬜ | | **阶段十一** | **AI 智能运维实战项目集**:当前项目 01 为只读诊断 Agent,后续持续扩展 AI 巡检、智能发布等项目 | AI 运维、MCP、RAG、AIOps | ✅ 项目 01 已完成 | | **面试冲刺** | 按 JD 逐条整理高频面试题 + 故障排查场景题 | 全部 | ⬜ | --- ## 五、笔记阅读约定 每篇笔记统一包含以下要素,保证"照着做不会错": | 标记 | 含义 | |---|---| | 🔧 **前置条件** | 执行本步前必须已完成的动作 | | 📋 **操作步骤** | 可直接复制粘贴的命令(标注在**哪台机器**执行) | | ✅ **验证方法** | 如何确认这一步真的成功了(这一步最容易被教程省略) | | ⚠️ **避坑指南** | 我实际踩到/验证过的坑,以及报错原文与解决方案 | | 🎯 **面试考点** | 这一步背后的面试问题与标准答法 | --- ## 六、免责与说明 - 所有实验均为**离线可复现**环境,命令已在真实机器执行验证。 - 涉及 `github.com` 的资源已全部替换为国内可达源(实测 `github.com` 在本环境不可达)。 - 资源紧张(单节点 3.8G 内存)时的降级方案,会在对应实验内单独标注。