devops

标签

Cards List
#devops

云刀

Product Hunt ↗ · 2026-10-19

CloudKnife 是一款新推出的工具,旨在不牺牲性能的前提下降低云服务费用,并已在 Product Hunt 上亮相。

0 人收藏 0 人点赞
#devops

# 为什么 GitOps 这么好? > "基础设施即代码"一词由 Kief Morris 在 2013 年创造。它指的是通过机器可读的定义文件来管理和配置基础设施(如服务器、网络等),而不是通过手动配置流程。 ## 什么是 GitOps? GitOps 是一种使用 Git 作为唯一事实来源(Single Source of Truth)来管理基础设施和应用程序部署的实践。其核心理念是: - 所有配置和状态都存储在 Git 仓库中 - 任何变更都通过提交到 Git 仓库来实现 - 通过自动化工具将 Git 仓库中的状态同步到实际运行环境 GitOps 由 Weaveworks 于 2017 年提出。 ## 为什么 GitOps 这么好? ### 1. 版本控制与审计追踪 Git 本身就是为版本控制而生。每一次变更都有记录: - **谁** 做了更改 - **什么时候** 做的 - **为什么** 做这个更改(通过 commit message) - 改了 **什么**(通过 diff) ### 2. 审查流程 通过 Pull Request(PR)或 Merge Request(MR),团队可以在变更生效之前进行审查和讨论,大大降低了引入错误的风险。 ### 3. 快速回滚 因为所有状态都记录在 Git 中,回滚操作非常简单: ```bash git revert <commit-hash> ``` ### 4. 一致性与可重复性 GitOps 保证了环境的一致性。无论在哪个环境中部署,使用的都是同一份配置文件,避免了"在我机器上能跑"的问题。 ### 5. 开发者体验友好 开发者不需要学习复杂的基础设施管理工具,只需要熟悉 Git 操作即可参与基础设施管理。 ### 6. 自愈能力 许多 GitOps 工具(如 ArgoCD、Flux)会持续监控实际状态与 Git 中声明的状态是否一致,如果有人手动修改了环境,工具会自动将其恢复到 Git 中声明的状态。 ## 核心原则 GitOps 基于以下几个核心原则: 1. **声明式配置** — 使用 YAML/JSON 等声明式语法描述系统的期望状态 2. **版本控制与不可变性** — 所有变更通过 Git 提交完成,不可直接修改运行环境 3. **自动化应用** — 自动检测 Git 仓库中的变更并应用到基础设施中 4. **持续协调** — 自动检测并修复运行环境与声明状态之间的偏差 ## 常用工具 - **ArgoCD** — 一个声明式的 GitOps 持续交付工具,专为 Kubernetes 设计 - **Flux** — 一个轻量级的 GitOps 工具,同样面向 Kubernetes - **Terraform** — 基础设施即代码工具,可与 GitOps 流程结合使用 ## 总结 GitOps 之所以优秀,是因为它将软件工程的最佳实践(版本控制、代码审查、自动化)引入了基础设施管理领域,使得运维变得更加可靠、透明和高效。

Lobsters Hottest ↗ · 2026-10-19 缓存

# 为什么 GitOps 如此有效? 在过去的几年里,"GitOps" 这个词已经从边缘概念变成了云原生领域的主流实践。它并不是一个全新的产品,也不是某家公司注册的商标——它是一种工作方式:**把一切都当作代码来运行(everything as code)**,用声明式、可版本化、持续被调和(reconciled)的状态来描述你的整个基础设施。 一旦你真正理解了这三点,就会发现 GitOps 之所以有效,并不是因为它"时髦",而是因为它把运维中最脆弱的环节——**人类的记性和手工操作**——从关键路径上移除了。 ## 一句话定义 GitOps 的核心思想很简单: > 以 Git 仓库作为唯一可信来源(Single Source of Truth),用声明式的方式描述系统的期望状态,然后由自动化工具持续将实际状态调和(reconcile)到期望状态。 拆开来看,它包含三个关键词: - **声明式(Declarative)**:你描述"系统应该是什么样",而不是"要执行哪些步骤"。 - **版本化(Versioned)**:每一次变更都是一次 commit,天然拥有历史、作者、评审记录和回滚能力。 - **持续调和(Continuously Reconciled)**:有一个控制器 7×24 小时地对比实际状态与期望状态,一旦出现偏差就自动修正。 ## 为什么是"声明式",而不是"命令式"? 在 GitOps 出现之前,大多数部署脚本都是命令式的: ```bash kubectl apply -f deployment.yaml kubectl scale --replicas=3 api-server kubectl set image deployment/api-server api=registry/api:1.4.2 ``` 这是一个"步骤列表"。问题在于:**步骤列表是有序的、有状态的、且不可重放的。** 执行到一半失败了怎么办?某一步被漏掉了怎么办?两台机器上同时执行会怎样?更糟糕的是,几天之后没有人能确定集群到底处于什么状态——脚本跑过,但没人敢保证它跑对了。 声明式则完全不同。你只需要维护一份 YAML(或其他格式)的清单,描述: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: api-server spec: replicas: 3 selector: matchLabels: app: api-server template: metadata: labels: app: api-server spec: containers: - name: api-server image: registry/api:1.4.2 ``` 你不去告诉系统"怎么做",而是告诉它"要什么"。至于怎么达到这个状态,交给控制器。这种模式的好处是**幂等**:无论你执行多少次,结果都一样;无论从哪个时间点重新执行,结果也一样。 ## 为什么是"版本化"? Git 是 GitOps 的名字来源,绝非偶然。把期望状态放进 Git,意味着你免费获得了一整套工程化能力: - **审计追踪**:谁在什么时候改了什么?为什么改?一条 `git log` 就能回答,还能关联到 PR 讨论。 - **代码评审**:基础设施的变更和业务代码一样,需要经过 Review 才能合并,"谁都能直接改生产"这种事在流程上就被堵死了。 - **回滚**:回滚不是"祈祷加祈祷",而是 `git revert`。回滚本身也是一次有记录的变更。 - **分支与环境**:用 `main`、`staging`、`prod` 等分支(或者用 Kustomize 的 overlay、Helm 的 values 文件)来管理不同环境,结构清晰且复用度高。 - **不可否认性**:Git 的哈希链让历史不可篡改,这对于合规和安全审计场景来说价值巨大。 换句话说,GitOps 把运维变更纳入了现代软件工程已经验证过千万次的流程里。 ## 为什么是"持续调和"? 这是很多人忽视、但却是 GitOps 真正的"魔法"所在。 传统的 CI/CD 流水线是**推送式(push)**的:流水线运行、执行 `kubectl apply`,然后就"完成"了。但"完成"只是意味着命令执行成功,**不等于**集群现在正处在你想要的状态。有人手动 `kubectl edit` 改了个镜像标签怎么办?有人误删了一个 ConfigMap 怎么办?节点故障导致 Pod 重建用了旧配置怎么办? GitOps 引入了**拉取式(pull)**的调和循环: 1. 控制器(比如 Argo CD 或 Flux)持续 watch Git 仓库和集群实际状态。 2. 对比两者,计算差异(drift)。 3. 一旦发现偏差,自动将集群修正回期望状态;如果是 Git 仓库变了,则把变更同步到集群。 这就是所谓的 **自愈(self-healing)**。你的集群不再是一个"部署完就开始慢慢偏离轨道"的黑盒,而是一个始终被拉回正轨的系统。 推送模型是"我希望它变成这样";拉取调和模型是"它必须是这样"。后者在可靠性上的差距是数量级的。 ## 生态中的代表工具 ### Argo CD [Argo CD](https://argo-cd.readthedocs.io/) 是 CNCF 毕业项目,也是最早让 GitOps 概念出圈的工具之一。它把"期望状态 vs 实际状态"的对比做成了一个可视化界面,你可以清楚地看到每个应用的同步状态(Synced / OutOfSync)、健康状况,以及精确到字段级别的差异。它原生支持 Helm、Kustomize、JSONNet 和裸 YAML,还提供了强大的 RBAC、SSO 集成和多租户能力。对于团队来说,Argo CD 往往是引入 GitOps 的第一站。 ### Flux [Flux](https://fluxcd.io/) 同样是 CNCF 毕业项目,由 Weaveworks 发起(后由控制平面团队继续维护)。与 Argo CD 偏"平台化"不同,Flux 更强调**可组合性**:它由一组专门的控制器组成——`source-controller`、`kustomize-controller`、`helm-controller`、`notification-controller` 等,各自负责一件事,可以按需组合。Flux 原生采用 Kustomize 作为配置管理层,并且与 Kubernetes 的 API 体系深度集成(比如通过 `Kustomization` 自定义资源来管理同步)。如果你喜欢 Unix 哲学式的工具设计,Flux 会很合你的胃口。 两者并不互斥,很多组织会根据场景混合使用。它们的共同点是都实现了相同的 GitOps 原则:**声明式配置、版本化存储、自动调和**。 ## 那么,GitOps 到底解决了什么问题? 把上面的内容归纳一下,GitOps 的收益主要集中在四个维度: 1. **速度**:变更流程标准化后,从提交到上线的周期大幅缩短,工程师不需要在发布窗口等待运维窗口。 2. **可靠性**:幂等的声明式操作 + 持续调和,消除了配置漂移和"手工操作失误"这两大故障源。 3. **安全性**:集群凭证不再分发给每个开发者,只有控制器持有部署权限;变更必须走 PR,天然可审计。 4. **可恢复性**:灾难恢复的剧本简化为"把 Git 仓库里的配置重新同步到新集群"。新集群从零到完全就绪,可以是全自动的。 ## 一些值得提前思考的问题 GitOps 不是银弹,在采用前值得认真考虑: - **密钥管理**:Git 里不应该存放明文密钥。通常结合 Sealed Secrets、SOPS 或 External Secrets Operator 来解决。 - **仓库结构**:单仓库(monorepo)还是多仓库?环境如何建模?这些决策影响后续的维护成本。 - **初始状态**:已经存在的非声明式创建的资源,导入 Git 管理时需要做一次"接管"操作,过程要小心。 - **学习曲线**:团队需要理解"不直接改集群"的纪律,这有时比技术本身更难。 ## 结语 GitOps 之所以有效,是因为它没有发明什么新东西——它只是把 Git、声明式 API 和控制器模式这三个已经被反复验证的模式,组合成了一个完整的工作流。它把"运维"从一系列脆弱的手工动作,变成了一个有版本、有评审、有自动调和的工程系统。 如果你还没有试过,一个很好的起点是:**把你当前一个环境的 Kubernetes 清单放进 Git,装上 Argo CD 或 Flux,看着它把集群同步成仓库里的样子。** 从那一刻起,你就不会再想回到从前。

0 人收藏 0 人点赞
#devops

@heyshrutimishra:谁来教 vibe coder 这些?Docker、CI/CD、Caching、Rate Limiting、Timeouts、Retries & Exponential Backoff、Idempot…

X AI KOLs Following ↗ · 2026-10-18 缓存

一条推文幽默地列出了 vibe coder 缺乏的必要工程概念,并引用了一个案例:一家南非咖啡连锁店的 CEO 用 vibe coding 写的 dashboard 将敏感数据泄露在了登录页面的源代码中。

0 人收藏 0 人点赞
#devops

@GergelyOrosz: 好的,我想给 @Uptime_Labs 一个推荐 —— 在播客中被 @samnewman 提到了。他们提供事故响应培训……

X AI KOLs Timeline ↗ · 2026-10-17 缓存

Gergely Orosz 推荐了 Uptime Labs,这是一家总部位于伦敦的初创公司,通过模拟演练提供事故响应培训,帮助工程团队做好应对故障的准备。他表示与该公司没有任何关联,只是欣赏好用的工具,这些信息来自一次播客中 Sam Newman 的介绍。

0 人收藏 0 人点赞
#devops

一个怀疑者与 Kubernetes 的初次接触(2024)

Hacker News Top ↗ · 2026-10-17 缓存

一位资深系统工程师兼 Kubernetes 怀疑者分享了他亲身体验 Kubernetes 的过程,他认为 Kubernetes 的价值主要源于其控制循环和声明式期望状态,而不仅仅是一张编排架构图。

0 人收藏 0 人点赞
#devops

@xfgong: 虽然有这么多开源的 Sandbox 服务,但还没有一个完全能符合我的需求,最核心的两点是: 1. rootfs 不需要 snapshot,这意味着 rootfs 应该像虚拟机一样是云存储而不是本地盘。 这主要考虑节点故障的情况下的可用性问…

X AI KOLs Timeline ↗ · 2026-10-17 缓存

作者讨论了开源 Sandbox 服务的不足,提出两项核心需求:rootfs 需采用云存储以提升节点故障可用性并降低暂停时延,以及 /workspace 文件接口需在 sandbox 未启动时也可用,并强调应基于 Kubernetes 生态而非自建集群。

0 人收藏 0 人点赞
#devops

@garrytan:今天启动一个新项目,我最喜欢的是 @capydotai 配合 @AsideAI,让我的智能体既能写代码……

X AI KOLs Timeline ↗ · 2026-10-16 缓存

Garry Tan 分享他今天正在启动一个新项目,并称赞 @capydotai 和 @AsideAI 让他的 AI 智能体既能编写初始版本代码,又能一次性完成 DevOps 环境搭建。

0 人收藏 0 人点赞
#devops

Show HN:OneDeploy – 托管开源应用,支持每晚备份和 TLS

Hacker News Top ↗ · 2026-10-16 缓存

OneDeploy 是一个在 Show HN 上发布的开源应用托管平台,支持 88 种应用,提供按小时计费(月度封顶)、每日加密备份、自动 TLS 证书和区域选择,让用户几分钟内即可在自己的服务器上部署团队工具。

0 人收藏 0 人点赞
#devops

3AM Super Intelligence

Product Hunt ↗ · 2026-10-16 缓存

3AM Super Intelligence 在 Product Hunt 发布,这是一款 AI 值班工程师工具,可自动定位生产事故根因、预演修复方案,并在 Slack 中一键解决问题,全程运行在用户内部网络内。

0 人收藏 0 人点赞
#devops

今年第一次值班周无人呼叫

Reddit r/AI_Agents ↗ · 2026-10-16

一个小工程团队在对 AI 代理生成的 PR 强制执行 AI 审查流程(CodeRabbit/Claude)后,将值班呼叫从每月约 14 次降至每月 2 次:要求代理先修复被标记的问题再上报给人类,并回退任何无法解释的超范围改动。

0 人收藏 0 人点赞
#devops

@FinanceYF5: Railway 的营收在一年内增长了 5 倍,原因何在?投资人称其 ARR(年度经常性收入)在年初为 2000 万美元,而该创始……

X AI KOLs Following ↗ · 2026-10-15 缓存

Railway's annual revenue grew 5x, with ARR rising from approximately $20 million at the start of the year to nearly $100 million — with only 40 employees and 1 salesperson, driven primarily by AI-fueled organic adoption. Over 80% of Python backend deployments using Claude Code chose their platform. The company removed its free tier and built its own data centers, but also experienced a platform-wide outage lasting approximately 8 hours caused by a Google Cloud account suspension.

0 人收藏 0 人点赞
#devops

Neckbeard —— 适用于你的智能体的 DevOps/平台工程/SRE 插件

Hacker News Top ↗ · 2026-10-14 缓存

Neckbeard 是一个面向编码代理(Claude Code、Codex、Cursor 等)的 DevOps/SRE 插件,可将应用代码转化为可审查的云基础设施模板和月度成本估算。它基于经过测试的 OpenTofu 模块目录,确保规划、渲染和验证过程确定化,代理不会自行臆造基础设施。

0 人收藏 0 人点赞
#devops

GitLab 警示最高严重级别的代码执行漏洞

Lobsters Hottest ↗ · 2026-10-14 缓存

GitLab警示一个最大严重级别的CI/CD正则表达式编译器整数溢出漏洞(CVE-2026-97229),可让远程未认证攻击者在服务器上执行任意代码,官方已发布补丁并敦促自托管用户立即升级。

0 人收藏 0 人点赞
#devops

非确定性并不重要

Hacker News Top ↗ · 2026-10-14 缓存

一篇引人思考的博客文章,主张大语言模型输出的非确定性并非软件开发的致命缺陷,因为只有最终结果需要精确,而达成结果的路径不必如此。作者提倡利用 AI 构建经过测试的确定性工具,供智能体调用,从而利用当下的随机性来减少未来系统中的随机性。

0 人收藏 0 人点赞
#devops

云发布

Product Hunt ↗ · 2026-10-14 缓存

Cloud Releases 是一款在 Product Hunt 上发布的产品,它将 AWS、Azure、Google Cloud 和 Cloudflare 的更新汇总到一个信息流中,让用户只关注自己使用的服务并及早发现退役公告。

0 人收藏 0 人点赞
#devops

@heyshrutimishra:他们用《高达》中夏亚的机动战士给一款可观测性工具命名,还把发布视频拍出了《新世纪福音战士》的感觉。有些……

X AI KOLs Timeline ↗ · 2026-10-13 缓存

Sherwood 今日发布 Sazabi 1.0 版本——一款自助式可观测性工具,能自动分析日志、验证异常真伪并推送包含根因的单条告警,无需手动编写监控规则。

0 人收藏 0 人点赞
#devops

@svpino:每个开发者都梦想拥有一个能主动监控并在出现问题时建议修复方案的代理。这是一个相当酷的应用…

X AI KOLs Timeline ↗ · 2026-10-13 缓存

Sazabi 1.0 正式发布,提供一个 AI 代理,可连接应用日志和代码仓库,主动向开发者发出警报,提供可能的原因分析和修复建议,支持后续追问,并可与编码代理集成以完成最终修复。

0 人收藏 0 人点赞
#devops

利用 eBPF 追踪 HRT 全球计算集群中的神秘网络流量

Hacker News Top ↗ · 2026-10-13

HRT 介绍了他们如何使用 BCC 和 bpftrace 等基于 eBPF 的工具,排查其全球计算集群中的神秘网络流量,并详细阐述了适用于延迟敏感型基础设施的实用内核级追踪技术。

0 人收藏 0 人点赞
#devops

Servor

Product Hunt ↗ · 2026-10-12 缓存

Servor 在 Product Hunt 发布:一个统一控制台用于运行和监控所有服务器,提供网页终端、文件编辑器、定时任务、批量命令、150+ 安装脚本以及监控、手机告警和状态页,且无需开放端口,所有命令在浏览器本地签名。

0 人收藏 0 人点赞
#devops

@GergelyOrosz:当我听说那些“AI SRE”初创公司(希望将值班工作自动化,让开发者不再在凌晨2点被叫醒的产品)时:投入更多……

X AI KOLs Timeline ↗ · 2026-10-11 缓存

Gergely Orosz 挑战了“AI SRE”初创公司的前提,指出当前可靠性依赖更多工程投入和反馈系统,盲目用 AI 替代这些机制可能导致可靠性大幅下降。

0 人收藏 0 人点赞
← Previous
Next →
← 返回首页

提交意见反馈