红、绿、蓝三色测试闭环环绕一个受约束的 AI 系统

AI 与大模型应用的测试驱动开发:从确定性测试到风险化评测

当被测函数只是把两个数字相加时,测试驱动开发很好解释:先写一个失败测试,让它通过,再在行为不变的前提下改善实现。困难出现在函数开始调用大模型之后——同一个问题可能有五种都算正确的回答,今天通过的结果,明天也可能因为模型、检索索引或服务端推理环境变化而不同。 ...

2025 年 4 月 21 日 · 13 分钟 · 6281 字 · Xinwei Xiong, Me

Kubernetes 资源与学习路径总结

需求 🔥 我们需要对 kubernetes 进一步的学习和深造,看源码是必须的道路。 👀 与其重要的,是对 kubernetes 资源的收集。 ⚠️ 所有资源均是采用外链连接,书本资源或不放连接,其他均为自己感受和总结。如有侵权请联系删除。 ...

2024 年 8 月 6 日 · 7 分钟 · 3109 字 · 熊鑫伟,我

Go 源码里的这些 go: 指令 && go 自动化工具

Go 源码里的这些 go: 指令 && go 自动化工具 开发人员有很强的自动化重复性任务的倾向,这也适用于编写代码。 样板代码可能包括设置基本文件结构、初始化变量、定义函数或导入库或模块等操作。 ...

2024 年 1 月 25 日 · 16 分钟 · 7994 字 · 熊鑫伟,我
多条并行传送带让相同积木穿过不同架构尺寸的量规,其中一个跨平台类型错误被准确拦下

Go 语言中的并发类型检查与跨平台开发

OpenIM 跨平台源代码类型检查工具 开始 问题 在 OpenIM 的自动化道路中,涉及到越来越全面的自动化设计和测试,在这个过程中,我遇到了一个问题,于是完成了从 go 语言类型检测再到集成本地以及 CI 的全套体验。 ...

2024 年 1 月 24 日 · 21 分钟 · 10381 字 · 熊鑫伟,我

Kubernetes 控制平面 - Kubectl 详细讲解

Kubelet组件解析 理解 kubelet Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: ...

2023 年 9 月 28 日 · 11 分钟 · 5483 字 · Xinwei Xiong, Me

Kubernetes 控制平面 - 调度器

调度器 kube-scheduler 负责分配调度 Pod 到集群内的节点上,它监听 kube-apiserver,查询还未分配 Node 的 Pod,然后根据调度策略为这些 Pod 分配节点(更新 Pod 的 NodeName 字段)。 ...

2023 年 9 月 28 日 · 9 分钟 · 4257 字 · 熊鑫伟,我
运行时、网络和存储三个可替换模块通过标准接口连接到同一编排底座

Kubernetes 的 CNI,CRI,CSI 详解

容器运行时 容器运行时(Container Runtime),运行于Kubernetes (k8s)集群的每个节点中,负责容器的整 个生命周期。其中Docker是目前应用最广的。随着容器云的发展,越来越多的容器运行时涌现。为了 解决这些容器运行时和Kubernetes的集成问题,在Kubernetes 1.5版本中,社区推出了CRI ( Container Runtime Interface,容器运行时接口)以支持更多的容器运行时。 ...

2023 年 9 月 28 日 · 28 分钟 · 13966 字 · 熊鑫伟,我

深入了解Kubernetes等组件之ETCD

开始前 ETCD 是 Kubernetes 中所有组件中最难的,因为 ETCD 是有状态的,而不是无状态的。 我在之前做 k3s runtime 设计的时候,了解了一些关于 ETCD 和 Raft 算法相关的概念,作为前奏知识,请分别前往 ETCD 以及 Raft算法 进行前奏学习。 ...

2023 年 9 月 26 日 · 23 分钟 · 11321 字 · 熊鑫伟,我

GoReleaser v2 教程:用 GitHub Actions 自动发布 Go

GoReleaser 的目标是自动化发布软件时的大部分繁琐工作,通过使用合理的默认值并使最常见的用例变得简单。 准备工作: .goreleaser.yaml 文件:包含所有配置信息。(有关更多信息,请参阅 自定义 ) 干净的工作树:确保代码是最新的,并且已经提交了所有改动。 符合 SemVer 的版本号(例如 10.21.34-prerelease+buildmeta) GoReleaser 的运行步骤: GoReleaser 的运行主要分为以下四个步骤: ...

2023 年 9 月 16 日 · 31 分钟 · 15089 字 · 熊鑫伟,我

速读开源项目 Sealos 的源码

准备 这篇文章等的太久了,大致 四个月了把,也是自己经历 docker 跨越到 Kubernetes 以及 CloudNative 生态的过程。 反过来再去理解开源、理解 sealos、 理解 Kubernetes,有种豁然开朗的视角。 ...

2023 年 9 月 11 日 · 19 分钟 · 9324 字 · 熊鑫伟, 我

我是如何优雅设计 OpenIM 多进程管理策略的

主要模块 这篇文章将会从 OpenIM 最基本的单进程前台运行开始,到 nohup 后台运行,到 system 系统进程,然后再到 Supervisord,容器化管理,kubernetes 健康检测。 ...

2023 年 8 月 16 日 · 17 分钟 · 8057 字 · 熊鑫伟,我

开源的阶段性成长指南

✨ 熟悉我的人都知道,我是一名不折不扣的开源爱好者,从大一开始接触到 GitHub 后,逐渐的沉迷于 开源世界 ~ 今天这篇文章很特别,算是自己参考并且总结出来的开源阶段,以及学习开源项目的步骤和心得。未来自己也是按照自己的规划来进行成长。 同学习 Kubernetes 的成长轨迹 一样,这篇文章将会长期更新,也可以参与贡献 ~ ...

2023 年 5 月 16 日 · 14 分钟 · 6699 字 · Xinwei Xiong, Me

Openkf 多架构镜像的构建策略设计

自动化构建openkf的多架构镜像并推送到多个镜像仓库 https://github.com/openimsdk/openkf 描述: 为了满足各种用户的需求,我们的目标是自动化构建用于各种架构的openkf Docker镜像,并无缝地将它们推送到多个镜像仓库。 目标: ...

2023 年 4 月 23 日 · 2 分钟 · 858 字 · 熊鑫伟 (Xinwei Xiong)
同一个模块经过适配器进入三种架构外壳,并在终点接受真机检验

跨平台以及多架构编译设计

前言 https://github.com/OpenIMSDK/Open-IM-Server/issues/432 现在很多地方都对服务的国产化适配有所要求,一般的国产化平台都提供arm版本的linux云环境供我们进行服务部署,因此需要构建arm版本的镜像。 ...

2023 年 2 月 13 日 · 10 分钟 · 4556 字 · 熊鑫伟,我