饮墨

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

Terraform 状态管理 5 大踩坑与最佳实践:团队协作不翻车

痛点:State 文件一乱,基础设施全崩

用 Terraform 管理云资源的团队,迟早会在 State 文件上栽跟头。典型场景:

  • 两个工程师同时 terraform apply,State 被覆盖,资源漂移
  • State 文件提交到 Git,敏感信息(数据库密码、Access Key)泄漏
  • 误删 State 文件后 terraform plan 显示要重建全部资源,直接吓出冷汗
  • 多环境(dev/staging/prod)State 混用,一次 apply 把生产打了

State 是 Terraform 的核心——它记录了"真实世界的资源"和"代码声明"之间的映射关系。State 管理...

Read more

eBPF 正在重塑 Kubernetes 可观测性:从内核追踪到零侵入监控实战

传统 Kubernetes 监控靠 Sidecar 注入、应用埋点、日志采集三板斧。但 Sidecar 吃资源、埋点改代码、日志延迟高——能不能不改一行应用代码,直接从内核层拿到网络延迟、系统调用、DNS 解析全链路数据?eBPF 给出了答案。


痛点:K8s 可观测性的三个老大难

  1. Sidecar 资源开销大——Istio Envoy sidecar 每个 Pod 占 50-100MB 内存,千级 Pod 集群光 sidecar 就吃掉几十 GB
  2. 应用埋点侵入性强——接入 OpenTelemetry SDK 要改代码、重新构建镜像,老系统改不动
  3. 网络层问题难定位——Pod 之间延迟...

Read more

4 种主流 AI Agent 架构模式详解:从 ReAct 到 Multi-Agent,附可运行代码

2026 年,AI Agent 已经不是概念了——它在生产环境里跑着自动化运维、客服、数据分析。但很多团队一上来就 "调 API + 写 Prompt",没想清楚架构,结果上线后翻车:幻觉失控、循环调用烧 Token、多步任务半路断掉。本文拆解 4 种经过验证的 Agent 架构模式,每种都给出 Python 可运行示例。


痛点:为什么 "裸调 LLM" 撑不住复杂任务

直接用 LLM 做 Agent 最大的问题:

  1. 单次推理无规划——让模型 "先想后做" 全靠 Prompt 祈祷
  2. 工具调用失控——没有循环终止条件,Token 费用爆炸
  3. 多步骤状态丢失——上下文窗口不够时,前面的中...

Read more

用 ELK 定位慢查询:从日志采集到 3 秒内找到问题 SQL

线上数据库突然变慢,DBA 在几百 GB 日志里翻了两小时才找到根因。这篇文章用 ELK 堆栈把"人肉翻日志"变成"3 秒定位"。


痛点:日志里有答案,但你找不到

一个真实场景:某电商平台大促前夜,MySQL 响应时间从 50ms 飙到 3s。运维看监控只知道"数据库慢了",但具体是哪条 SQL、哪个表、什么时间开始的?答案藏在 slow query log 里——一个 80GB 的纯文本文件。

grep 翻? 太慢。用 pt-query-digest 汇总?只有统计没有时间线。真正需要的是:实时采集、结构化解析、秒级检索、可视化趋势

这就是 ELK(Elasticsearc...

Read more

6 步用 GitHub Actions 搭建生产级 CI/CD 流水线,附 3 个常踩的坑

还在手动 SSH 上服务器拉代码、重启服务?GitHub Actions 免费额度就够中小团队用了。本文从真实项目出发,手把手搭建一条从代码推送到自动部署的完整流水线。


痛点:手动部署的代价

运维老哥都经历过这种场景:开发喊一声"代码合了",你 SSH 上去 git pulldocker builddocker-compose up -d,顺便祈祷别忘了跑数据库迁移。

问题不在于操作本身,而是——

  • 人会忘事:漏跑 migration、忘记清缓存、配置没同步
  • 无法审计:谁在什么时间部署了什么版本?翻 history 猜吧
  • 回滚靠运气:上个版本的镜像还在不在?Tag 打了没?
...

Read more

4 个 Kubernetes Pod 调度失败的常见原因与排错实战

你的 Pod 一直卡在 Pending?kubectl describe 里满屏 FailedScheduling 事件?别慌——80% 的调度问题集中在这 4 个原因上。本文带你从现象到排查一条龙搞定。

痛点:Pod Pending 半小时,业务干等

某次线上扩容,Deployment 副本数从 3 扩到 10,结果 7 个新 Pod 全部 Pending。kubectl get pods 看到一片黄色,运维群开始 @ 你了。

真实场景:团队在 AWS EKS 上跑 Java 微服务,Node 规格 m5.xlarge(4C/16G),每个 Pod request 2C/4G。扩容前 ...

Read more

用 Python 从零构建 AI Agent:Tool Use 模式实战详解

大模型不只是聊天机器人。通过 Tool Use(工具调用)模式,Python 几十行代码就能让 LLM 变成一个能查天气、读数据库、调 API 的真正 Agent。本文从原理到完整代码,带你搞懂这个 2026 年最重要的 AI 编程范式。


为什么 Tool Use 是 AI Agent 的核心

你可能已经用过 ChatGPT 的联网搜索、代码执行、文件分析——这些功能背后都是同一个模式:Tool Use(也叫 Function Calling)。

原理很简单:

  1. 你告诉 LLM:「这里有一些工具,每个工具的名字、参数、用途如下」
  2. LLM 分析用户请求,决定是否需要调用工具
  3. 如果需要...

Read more

3 层加固 SSH 安全:从暴力破解到零信任,运维人必做的 6 件事

痛点:你的 SSH 端口正在被扫描

打开任何一台云服务器的 /var/log/auth.log,你大概率会看到这样的记录:

Apr 18 03:14:22 web01 sshd[12847]: Failed password for root from 185.234.xx.xx port 44832 ssh2
Apr 18 03:14:25 web01 sshd[12849]: Failed password for admin from 185.234.xx.xx port 44836 ssh2
Apr 18 03:14:28 web01 sshd[12851]: Invalid u...

Read more

PostgreSQL 慢查询诊断与优化实战:从 EXPLAIN 到索引策略

数据库慢了,加索引就行?没那么简单。本文从 EXPLAIN 读图、索引设计、常见反模式三个层面,系统讲解 PostgreSQL 查询优化的核心方法论。


为什么要学慢查询优化?

几乎所有后端服务的性能瓶颈,最终都指向数据库。在 PostgreSQL 生态里,"加个索引"是最常见的处方——但就像吃药一样,不对症的索引不仅治不好病,还可能拖慢写入、浪费存储。

真正的优化,从读懂执行计划开始。


第一步:用 EXPLAIN ANALYZE 读懂查询计划

基本用法

EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT u.name, o.total
F...

Read more

Amazon Bedrock AgentCore vs OpenClaw:两种 AI Agent 基础设施的设计哲学

同样是让 AI Agent 跑起来,AWS 选择了云端托管,OpenClaw 选择了自托管网关。这篇文章拆解两者的核心差异,帮你做出适合自己场景的选择。

前言

2025 年底,AWS 在 re:Invent 上正式发布了 Amazon Bedrock AgentCore——一套企业级 AI Agent 部署与运维平台。与此同时,开源社区中的 OpenClaw 也在快速迭代,走出了一条完全不同的路线。

两者都在解决同一个核心问题:如何让 AI Agent 在生产环境中可靠运行? 但它们的设计哲学、目标用户和技术路径截然不同。

一、定位对比:云托管 vs 自托管

Amazon Bedro...

Read more