饮墨

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

Coolify:自托管 PaaS 平替 Heroku,5 分钟部署你的应用平台

痛点

Heroku 免费层取消后,小团队和个人开发者的部署选择变得尴尬:要么付费用 Render/Railway,要么手搓 Docker Compose + Nginx + Let's Encrypt。前者按量计费容易超预算,后者维护成本高、配置分散。

更大的问题在企业内部:开发团队想要"Git Push 即部署"的体验,但 Kubernetes 太重、CI/CD 管道配置复杂,运维被迫在便利性和可控性之间反复权衡。

Coolify 正是为解决这个痛点而生——一个开源自托管 PaaS,提供类 Heroku/Vercel 的部署体验,同时数据和基础设施完全在你自己手里。

方案概览

Cool...

Read more

Cilium 替代 kube-proxy:Kubernetes 高性能网络实战

痛点

kube-proxy 是 Kubernetes 默认的服务代理组件,但在大规模集群中它的 iptables/IPVS 模式存在明显性能瓶颈:

  • iptables 模式:规则数量随 Service/Endpoint 线性增长,万级 Service 场景下规则链遍历延迟显著增加,每次规则更新需全量刷新
  • IPVS 模式:虽比 iptables 好,但仍需 conntrack 表维护,UDP 场景下易出现 conntrack 表溢出,且与 NetworkPolicy 联动复杂
  • 节点资源开销:kube-proxy 在每个节点生成大量 iptables 规则或 IPVS 条目,内存占用随集群规...

Read more

Kamal 2 实战:不用 Kubernetes 也能优雅部署容器化应用

不是所有团队都需要 Kubernetes。当你的服务只有 3-10 台机器,K8s 的学习成本和运维复杂度远超收益。Kamal 2 让你用一条命令把 Docker 容器部署到任意 Linux 服务器,零停机、自动 SSL、滚动发布——没有 etcd,没有 kubelet,没有 YAML 地狱。


痛点:小规模部署的尴尬处境

  1. Kubernetes 太重 —— 3 台机器跑个 API 服务,为此搭一套 K8s 控制面(etcd + apiserver + scheduler + controller-manager),运维成本远超业务本身
  2. 裸 Docker 太原始 —— docker-...

Read more

Kubernetes Pod Security Admission 实战:3 步替换 PodSecurityPolicy,落地 Pod 安全基线

痛点

PodSecurityPolicy(PSP)在 Kubernetes 1.25 正式移除,但大量集群至今没有配置替代方案。结果就是:Pod 可以随意挂载 hostPath、使用特权模式、以 root 运行——任何一个容器逃逸漏洞都能直接拿下节点。

Pod Security Admission(PSA)是 K8s 内置的替代方案,无需安装第三方 admission controller,配置简单、开箱即用。本文带你用 3 步完成从"裸奔"到安全基线全覆盖。


方案概述

PSA 基于三个安全级别(Pod Security Standards):

级别 含义 典型场景
pr...

Read more

用 pgvector 把 PostgreSQL 变成向量数据库:AI 应用落地最省心的方案

痛点

你在做 RAG、语义搜索或推荐系统,需要一个向量数据库。调研一圈:Pinecone 要钱、Milvus 太重、Chroma 只适合原型。团队已经有 PostgreSQL 集群在跑,运维体系成熟,监控备份一套全的。这时候再引入一个独立的向量数据库,意味着:多一套运维、多一份数据同步、多一个故障点。

核心矛盾:AI 应用需要向量检索,但你不想为了这一个能力再养一套基础设施。

pgvector 的答案很直接——给 PostgreSQL 装个扩展,原地升级为向量数据库。事务、权限、备份、高可用全部复用现有体系,零额外运维成本。


方案概览

pgvector 是 PostgreSQL 的开源...

Read more

用 Crossplane 在 Kubernetes 中管理云基础设施:3 步实现 IaC 从 Terraform 到 K8s 原生的演进

痛点:Terraform 好用,但和 Kubernetes 生态割裂

运维团队普遍面临一个尴尬局面:应用部署用 Kubernetes + GitOps(ArgoCD/Flux),基础设施管理用 Terraform + 独立 Pipeline。两套工具、两套工作流、两套状态管理,带来几个实际问题:

  1. 状态分裂 — Terraform state 在 S3/Consul 里,K8s 资源状态在 etcd 里,跨系统联动靠胶水脚本
  2. 权限模型不统一 — Terraform 需要云账号 AK/SK,K8s 用 RBAC,开发者自助申请资源要走两套审批
  3. 漂移检测各管各 — Terraform pla...

Read more

用 Steampipe 以 SQL 查询云资源与安全合规:运维人的瑞士军刀,5 分钟上手实操

痛点:云资源查询散落在各种 CLI 和 Console 里

运维日常离不开这些场景:

  • "哪些 EC2 实例没打特定标签?" — 要写 aws ec2 describe-instances 加一堆 --filtersjq
  • "跨 3 个账号找出所有公开的 S3 Bucket" — 每个账号切一遍 profile,脚本写半天
  • "安全审计要检查所有 Security Group 是否开放了 0.0.0.0/0" — 手动翻 Console 翻到崩溃

核心问题:云资源数据分散在不同 API、不同格式里,缺少统一查询层。AWS CLI 输出 JSON 嵌套很深,jq 写复杂过滤几乎不可读,...

Read more

从 Redis 迁移到 Valkey:3 步完成生产切换,零停机 + 完全兼容

痛点:Redis 许可证变了,你的基础设施还好吗?

2024 年 Redis 宣布从 BSD 切换到 RSALv2 + SSPLv1 双许可证。对运维团队的影响很直接:

  • 云厂商托管服务可能涨价或调整功能(AWS ElastiCache 已开始切换到 Valkey)
  • 自建 Redis 如果用在商业产品里,许可证合规性需要法务审查
  • 开源生态工具逐步从 Redis 切换到 Valkey 分支

Valkey 是 Linux Foundation 托管的 Redis 7.2 分支,由原 Redis 核心贡献者维护,API 100% 兼容。截至 2026 年,Valkey 8.x 已经是生产就绪...

Read more

用 ClickHouse 替代 ELK 做日志分析:存储降 80%、查询快 50 倍的实操方案

痛点:ELK 越用越贵,查询越来越慢

日志量上了 TB 级,ELK 的问题就暴露了:

  • 存储成本飙升:Elasticsearch 默认全文索引,100GB 原始日志存进去膨胀到 300GB+,SSD 费用月增几千块
  • 查询变慢:日志超过 7 天的历史查询动辄 30 秒,Kibana 转圈转到怀疑人生
  • 运维负担重:JVM 调优、分片再平衡、节点扩容,ES 集群自身的运维量不亚于业务系统
  • 资源浪费:大多数运维场景只需要 WHERE + GROUP BY + ORDER BY,根本用不到全文检索

如果你 90% 的日志查询是 "某时间段 + 某服务 + 关键字过滤 + 聚合统计",ClickH...

Read more

Dagger 实战:用代码定义 CI/CD Pipeline,彻底告别 YAML 地狱

痛点:YAML Pipeline 的运维噩梦

如果你维护过超过 10 个微服务的 CI/CD,一定经历过这些:

  • GitHub Actions / GitLab CI YAML 膨胀:几百行的 .github/workflows/ 文件,嵌套 if 条件、矩阵策略、重复的 step 定义,改一个参数要翻半天
  • 本地无法复现:Pipeline 只能在 CI 环境跑,本地调试靠猜,一次 push 等 10 分钟看结果
  • 跨项目复用困难:公共逻辑靠 copy-paste 或 composite action,版本管理混乱
  • 缓存玄学:CI 缓存命中率低,构建时间随项目增长线性膨胀

Dagger 的...

Read more