云计算进阶:OpenStack 核心组件概览

前言 公有云用得再熟,也总有一天会遇到"数据必须放自己机房"的需求——那时绕不开 OpenStack:开源界的"云操作系统",用于自建 IaaS。这篇把它的核心组件和运作机制讲清楚。 ...

2026-01-03 · 4 min · zy

Git 分支模型与团队协作

前言 一个人写代码,Git 怎么用都对;一个团队写代码,分支模型就是交通规则。这篇讲主流模型的取舍、PR 工作流和冲突处理的正确姿势。 一、分支模型选型 GitHub Flow(现代主流,推荐) main ──●────●────●────●──► (随时可部署的稳定线) \ \ \ feature ●──┘ ●──┘ (短命特性分支, 合完即删) hotfix ●───┘ 规则只有四条: ...

2025-12-20 · 4 min · zy

K8s 滚动更新与回滚机制

前言 kubectl set image 一敲,服务就完成了一次"无感升级"。这篇解剖滚动更新的完整机制——参数怎么调、探针怎么配合、出事怎么秒回滚,以及发布卡住的 N 种原因。 ...

2025-12-06 · 3 min · zy

容器底层原理:Namespace 与 Cgroup

前言 用了这么久容器,是时候回答那个经典问题了:“容器到底是什么?” 答案:被内核特性"圈"起来的一组进程。三大支柱:Namespace(隔离)、Cgroup(限额)、OverlayFS(镜像分层)。今天亲手搓一个。 ...

2025-11-01 · 4 min · zy

MySQL 索引基础与慢查询优化

前言 “接口突然变慢"十有八九是慢 SQL。这篇面向运维/后端,把 MySQL 索引原理、执行计划分析和慢查询治理套路讲清楚——不需要 DBA 深度,但足够定位和解决 80% 的问题。 ...

2025-10-18 · 4 min · zy

Linux 网络排查实战:tcpdump 与 ss

前言 日志说不清、ping 测不明的问题,最后都要靠看包。tcpdump 是网络排查的显微镜——这篇从过滤语法到典型故障的"包形态",练出直接读包排障的能力。 ...

2025-10-04 · 4 min · zy

Shell 脚本进阶:函数与常见陷阱

前言 会写脚本和写好脚本之间,隔着无数深夜的坑。这篇把 Bash 的函数进阶用法和那些"约定俗成但没人明说"的陷阱一次讲清。 一、函数的正确写法 #!/usr/bin/env bash # 定义(function 关键字可省, 括号必须有) function log() { # local 变量: 不污染全局 —— 函数内赋值一律 local! local level=$1 msg=$2 printf '[%s] [%s] %s\n' "$(date '+%F %T')" "$level" "$msg" } # 调用(参数像脚本参数一样传) log INFO "服务启动" log ERROR "连接超时" 参数与返回值: ...

2025-09-06 · 4 min · zy

K8s 存储体系:PV 与 PVC

前言 容器生来无常,Pod 一删数据就没了。K8s 存储体系要回答:怎么给易逝的 Pod 一个持久的家。这篇讲透 PV/PVC/StorageClass 三层抽象和实战用法。 一、问题与分层 开发者视角: "我要 10Gi 读写快的存储" ← PVC(声明) │ 谁来满足? 集群管理员视角: "我有一堆 NFS/云盘供给" ← PV(资源) + StorageClass(供给方式) │ 挂给谁? Pod 视角: volumeMounts 挂载点 ← Volume(使用) 为什么隔一层 PVC? 开发者不应该关心"存储在哪台 NFS/哪种云盘"——就像申请内存不需要指定物理内存条编号。解耦需求与供给。 ...

2025-08-02 · 4 min · zy

Nginx HTTPS 配置实战

前言 没有 HTTPS 的网站在 2025 年已经"裸奔"得不能再裸奔:浏览器标"不安全"、备案检查、小程序/H5 全要求 HTTPS。这篇把证书到配置的全流程走通。 ...

2025-07-05 · 3 min · zy

Linux 系统启动流程详解

前言 服务器卡在启动界面进不去系统时,看懂启动流程就是看懂排障地图。这篇从固件到 shell,一步步走完 Linux 的"出生过程"。 一、总览:六个阶段 ① 固件自检 (BIOS/UEFI) ▼ ② 引导加载 (GRUB2) ▼ ③ 内核加载 (vmlinuz + initramfs) ▼ ④ PID 1 (systemd 启动) ▼ ⑤ 并行拉起服务 (target + 依赖) ▼ ⑥ 登录 (getty / sshd) 二、阶段一:固件(BIOS/UEFI) BIOS(老) UEFI(现代) 按 MBR 磁盘前512字节引导 读 FAT 格式的 ESP 分区里的 .efi 文件 │ │ ▼ ▼ MBR: 引导代码446B + 分区表64B /boot/efi/EFI/.../grubx64.efi + 魔数 55AA # 看自己的机器是哪种 [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS # UEFI 下看启动项 efibootmgr -v # 固件层常见故障: 启动顺序错了 / 磁盘没认出来 # → 进 BIOS Setup 检查 Boot Order 与磁盘是否识别 三、阶段二:GRUB2 引导 GRUB 的任务:找到内核与 initramfs,把控制权交出去。 ...

2025-06-07 · 3 min · zy