多云的每一个技术方案,都是一笔“复杂度税”。是否值得支付,取决于你的业务是否需要它来规避单云无法解决的风险。
在 Kubernetes 上跑 CI/CD,编译产物需要一个共享位置中转,供打包、测试、发布等环节读取——这是编译流水线里非常典型的存储需求。这个中转存储的核心诉求有四点:
在 Kubernetes 上给数据库、消息队列和分布式多实例应用选存储,是每个规模化集群都绕不开的问题。我的场景是 15 个节点、每节点 12 块 8TB NVMe,总裸容量 1.44PB,需要同时提供 RWO 块存储和 RWX 共享文件存 …
1. 背景与问题描述 1.1 现状 使用 GitLab Runner + Kubernetes Executor 构建 CI/CD 流水线 集群资源:14 个固定节点 + 60 个弹性节点(弹性节点按需伸缩) 任务并发高,资源经常被占满,大 …
在 Kubernetes 日常运维中,一个常见问题是:更新了 ConfigMap,但引用它的 Pod 并没有自动加载新配置。这是因为 Kubernetes 本身不会在 ConfigMap 变更后自动重启关联的工作负载。Pod 中通过环境变量 …
当 Kubernetes 集群从本地 10 个节点通过弹性策略扩容到 20 台,并且服务需要面向全球线上用户时,技术选型就不能只停留在"单集群自动扩缩容"层面,而要考虑跨云、跨地域、多集群统一调度与容灾。
在 Kubernetes 中,服务发现和负载均衡是微服务架构的核心能力。然而,当服务分布在不同的 Namespace 中,或者使用 gRPC 协议时,一些"默认"机制并不能完全满足需求。本文将首先介绍跨 Namespace 访问服务的标准方 …
把 Buildbarn 自身的负载指标,转化为 Kubernetes 的行动指令。 在 Kubernetes 上运行 Buildbarn 作为远端执行(Remote Execution)/ 远程缓存后端时,一个常见诉求是:根据 CI 编译 …
在云原生和 AI 训练场景里,对象存储几乎是基础设施的"水电煤"——从镜像分发、模型权重到训练数据集,都离不开一个兼容 S3 协议、又能扛住高吞吐的存储服务。MinIO 一直是这个领域的明星,但如果你想要一个用 Rust 重写、内存占用更 …
在前两篇 bazel-remote 系列文章里,我们对比了 S3 后端与一致性哈希两种横向扩展方案,也给出过"分层缓存(L1 + L2)是最佳实践"的结论。但那个结论停留在架构层面——具体怎么配?数据到底怎么流动?性能如何保障? 本文就把这 …
在上一篇《bazel-remote 多实例部署:两种横向扩展方案与性能对比》中,我们梳理了共享云存储与负载均衡+一致性哈希两种横向扩展思路。但留下了一个关键问题:当 S3 后端(这里用 RustFS)与 bazel-remote 部署在同一 …
在开源代码托管平台的选择上,Gitea 凭借轻量、易部署的特性,一直是很多开发团队的首选。但近两年来,Forgejo 的出现和崛起,给这个领域带来了新的变量。 Gitea 和 Forgejo 到底是什么关系?它们的 CI/CD 能力有何差 …
在 Jenkins 容器中使用 buildah push 推送镜像时,设置登录认证主要有三种方式。将凭证硬编码在命令里会带来严重的安全风险,因此在实际的 CI/CD 实践中,更推荐采用"登录 (Login) + …
你有没有遇到过这种情况——凌晨 3 点,用户在群里反馈服务挂了,而你这边一个告警都没有?Prometheus 的 Alertmanager 安静如鸡,因为"没有流量就没有错误"。等客户把电话打到老板那里,你才知道负载均衡器早就挂了。
你有没有等过 git clone 一个大仓库?Chrome 的源码 30GB+,Linux 内核 4GB+,clone 一次可能要等十几分钟。对人类来说这只是一杯咖啡的时间,但对 AI Agent 沙箱、CI/CD 容器、预览环境来说,这 …
git通过https协议使用仓库时如何记住token 通过配置 Git 的凭据助手(credential helper),可以记住 HTTPS 访问时需要的用户名和 Token(作为密码),避免重复输入。 常用方法(按安全性/便捷性排序) …
git pull 遇到乱码 执行git pull 输出好多编码非中文的字符: 1remote: Enumerating objects: 42, done. 2remote: Counting objects: 100% (42/42), …
多个系统基于LDAP用户认证 OpenLDAP是一个集中的用户账号管理系统。使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提高数据的一致性。
LDAP与Harbor集成 OpenLDAP是一个集中的用户账号管理系统;使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提高数据的一致性。 修改harbor.cfg Harbor …
参照网址 http://gerrit.rockbox.org/r/Documentation/config-gerrit.html#addreviewer …
引言: DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版,相比top其有着很多自身的优势。如下:
Scrum开发的步骤及准备 Scrum敏捷开发的关键字就是增量、迭代,他更重视项目团队之间的现场沟通,不向传统瀑布式开发那样需要万事具备,才开始开发,Scrum在大方向和小故事点确认好了后,团队就可以开动了。
介绍 最近团队内经常有工程师(尤其是工作经验浅的)会问我同一个问题:如何快速高效学习?大家似乎都很焦虑,渴望通过高效学习来提升自己,快速成长。基于自己的实践和思考,我总结了这篇文章,在周会上给团队分享,希望对大家有所启发。
通过Git规范和脚本自动生成release Notes 第一性原理告诉我们,我们不但要用工具,还要能自己创造工具,这样才能提升生产力! 创造的工具可以开源,让社区强大和优秀的人一起完善,很多牛X的工具就是这么来的,好的工具总得有人先把概念和 …
git 设置和取消代理 本地开启VPN后,GIt也需要设置代理,才能正常略过GFW,访问goole code等网站 代理设置如下(可复制): 注:git 设置 socks5 代理 加速。只对http,https生效,对ssh仍然无效
“君子生非异也,善假于物也” 。–语出《荀子·劝学》 如果记得没错的话,《荀子·劝学》我们这一代高中的时候应该都读过这篇文章。原意大概是君子的资质与一般人没有什么区别,君子之所以高于一般人,是因为他能善于利用外物。对于技术人来说,好工具的 …
git使用用户名密码clone的方式: git clone http://username:password@remote 例如:我的用户名是abc@qq.com,密码是abc123456,git地址为git@xxx.com/www.git …