饮墨

子安饮墨馀三斗,留与卿儿作赋来

Kubernetes 部署 vLLM 推理服务实战:4 步打造生产级大模型 Serving

7 views

痛点:大模型上了 K8s,但推理服务总是翻车

越来越多团队把 LLM 推理服务搬上 Kubernetes——听起来很美,实际落地全是坑。

典型场景:团队用 FastAPI 包了个 Hugging Face Transformers 模型,丢进 K8s 跑。结果呢?单个请求吃满 24GB 显存,并发一上来就 OOM;模型加载要 3 分钟,Pod 重启一次用户等到崩溃;GPU 利用率忽高忽低,A100 一个月烧几万刀却跑不满。

核心问题:传统的模型推理方式没有针对 LLM 的长序列、大显存、高并发做优化。你需要一个专为 LLM 设计的推理引擎,而 vLLM 就是目前最成熟的选择。

方案:vL...

Read more

Gitleaks 代码仓库密钥泄漏检测实战:3 步构建从本地到 CI/CD 的 Secrets 防线

4 views

痛点:密钥泄漏,运维最怕的"低级错误"

你有没有经历过这样的场景:某天安全团队突然告警,说公司的 AWS Access Key 出现在了 GitHub 公开仓库里。一查提交记录,是某位同事三个月前不小心把 .env 文件提交了上去。虽然后来删除了文件,但 git log 里白纸黑字,密钥早已被扫描机器人抓取。

这不是个案。GitGuardian 的年度报告显示,仅公开仓库每年就有超过 1200 万条密钥泄漏。更可怕的是内部仓库——没有外部审计,泄漏往往数月甚至数年无人发现。

传统做法是靠 .gitignore 和口头规范,但人总会犯错。我们需要的是自动化检测机制,在密钥进入 Git 历史...

Read more

Kubeshark 实战:基于 eBPF 的 Kubernetes 集群实时流量抓包与分析

9 views

痛点:K8s 网络排障为什么这么难

Kubernetes 集群里微服务之间的调用链路错综复杂,一旦出现 5xx 错误、接口超时或数据不一致,传统排查手段几乎寸步难行:

  • tcpdump 抓不到:Pod 网络经过 CNI 虚拟化,你在 Node 上抓包看到的是 VXLAN/Geneve 封装后的数据,根本无法直接解析 HTTP 请求
  • kubectl logs 不够:日志只记录了应用自己打印的内容,中间件调用、DNS 解析、TLS 握手这些关键环节完全是黑盒
  • Istio/Envoy sidecar 太重:为了看流量装一套 Service Mesh,资源开销和运维复杂度直接翻倍
  • 临时 debu...

Read more

3 步集成 Checkov 到 CI/CD:Terraform 和 Kubernetes 配置安全扫描实战

10 views

痛点:IaC 配置写完就上线,安全漏洞全靠事后补

你用 Terraform 管理云资源、用 YAML 管理 Kubernetes 工作负载,基础设施即代码(IaC)让一切变得可重复、可审计。但有个问题常被忽视:IaC 代码本身的安全性谁来保障?

现实中这些场景屡见不鲜:

  • Terraform 里 S3 Bucket 开了 Public Access,上线后数据泄露
  • Kubernetes Deployment 用了 privileged: true,容器逃逸风险直接暴露
  • Security Group 放通了 0.0.0.0/0:22,SSH 暴露公网被暴力破解
  • Dockerfile 用 r...

Read more

Prowler 实战:开源 AWS 安全审计利器,5 分钟自动扫描 300+ 合规检查项

22 views

痛点:AWS 安全审计为什么这么难

你管着 3 个 AWS 账户、十几个 Region,老板突然说下周要过 CIS Benchmark 合规审计。

打开 AWS Security Hub 看了一眼——检查项 300 多条,从 IAM 密码策略到 S3 公开访问,从 CloudTrail 日志到 VPC Flow Logs,手动逐条核查少说两天。更头疼的是,每次基础设施变更后都得重新检查,人工审计根本跟不上变更频率。

现实中很多团队的做法是:出了安全事件才回头补,平时全靠"应该没问题吧"。这不是懒,是手动审计的成本太高,高到不可持续。

方案:Prowler——一条命令扫完全账户

Prowl...

Read more

Semgrep 代码安全扫描实战:3 步将 SAST 嵌入 CI/CD Pipeline,上线前拦截高危漏洞

19 views

痛点:代码安全漏洞总在上线后才被发现

团队辛辛苦苦做了 Code Review、写了单元测试,上线后安全扫描一跑——SQL 注入、硬编码密钥、SSRF、路径穿越,一堆高危漏洞排着队等你修。

传统 SAST(Static Application Security Testing)工具如 Fortify、Checkmarx,动辄几十万年授权费,扫描慢、误报多、规则配置像在写论文。小团队根本用不起,大团队用了也怨声载道。免费的 linter 工具只管代码风格,对安全漏洞视而不见。

结果就是:安全扫描要么不做,要么在上线后才补救——而这时修复成本已经翻了 10 倍。

方案:Semgrep — 轻...

Read more

Kueue 实战:Kubernetes 原生批处理调度器,4 步搞定 AI/ML 工作负载队列管理

42 views

痛点:AI 训练任务抢 GPU,集群资源乱成一锅粥

跑过 AI/ML 训练任务的运维都知道这个痛:团队 A 提交了一个 8 卡 GPU 的大模型微调任务,团队 B 同时提交了 20 个数据预处理 Job,结果所有任务一起抢资源,谁都跑不动。更头疼的是:

  • 原生 Job 没有排队机制:kubectl apply 之后 Pod 直接创建,不管资源够不够,Pending 一堆
  • 多团队资源配额靠 ResourceQuota 太粗糙:只能限制上限,不能做公平调度和借用
  • GPU 等昂贵资源没有优先级抢占:低优先级任务占着 GPU 不释放,高优先级任务干等
  • 批处理和在线服务混部时互相干扰:没有统一的准...

Read more

Teleport 实战:3 步部署零信任访问网关,统一管理 SSH/K8s/数据库

38 views

痛点:传统堡垒机 + VPN 的三重困局

你的团队是不是也面临这样的局面?

  • SSH 密钥散落一地 — 每台服务器都有一堆 authorized_keys,员工离职后没人敢删,也不知道哪些还在用
  • VPN 一旦接入就是全网暴露 — 开发拿到 VPN 账号后能摸到生产数据库,横向移动毫无阻拦
  • 审计形同虚设 — 堡垒机只记录了"谁登录了",至于登录后执行了什么,出了事故才发现日志早就轮转没了

传统方案的核心问题是:认证和授权是割裂的。VPN 管网络层准入,堡垒机管 SSH 登录,数据库有自己的账号体系,Kubernetes 又是另一套 RBAC。每多一层基础设施,就多一套凭据要管理。

Tel...

Read more

你永远修不完所有 bug,人生也是

29 views

你永远修不完所有 bug,人生也是

凌晨三点的告警把我叫醒。

Prometheus 大盘一片红,核心服务 5xx 飙到 30%,Slack 里已经炸了。我一边 ssh 上跳板机,一边在脑子里过可能的原因:配置变更?流量突增?依赖服务挂了?

排查 40 分钟,发现上游服务连接池耗尽,级联超时。根因是两周前一次"无害"的参数调整——连接超时从 3 秒改成 10 秒,觉得"宽裕点总没错"。没人 review,因为改动太小了。

修完写完复盘,凌晨五点。躺回床上睡不着,脑子里冒出一个念头:这种事永远不会结束。

不是这个 bug,就是下一个。系统足够复杂之后,故障不是意外,而是常态。


做运维这些年...

Read more

SRE Error Budget 实战:3 步落地错误预算驱动发布决策,告别拍脑袋上线

46 views

痛点

每周五下午,运维群总有人问"这个版本能不能发"。SRE 看了看最近的告警数量,拍脑袋说"先别发吧"——但研发说 deadline 到了,最终强行上线,周末果然出事。

问题出在哪?发布决策缺乏量化依据。 没有一个客观标准告诉你:系统当前的可靠性余量还够不够"冒一次险"。

Google SRE 提出的 Error Budget 模型把这个问题量化了:SLO 是 99.9%,一个月允许 43.2 分钟不可用。本月已消耗 40 分钟,剩余预算只有 3.2 分钟——这时候发版就是在赌命。反过来,如果预算还剩 80%,说明系统很稳,正是加速迭代的好时机。

Error Budget 的核心价值:...

Read more