自动化测试的学习(一)

云原生领域中GitHub开源Go项目的自动化测试实践与策略 介绍 作为 Github 上的 热门项目 OpenIM,如何在云原生时代中创造出价值,这是非常重要的,OpenIM 是一个优质的小团队,我们在自动化中并没有特别深入的见解。 ...

2023 年 10 月 14 日 · 52 分钟 · 25557 字 · 熊鑫伟,我

Kubernetes 控制平面 - 调度器

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

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

深入了解 Kubernetes kube-apiserver 组件架构

深入理解Kube-APIServer kube-apiserver是Kubernetes最重要的核心组件之一,主要提供以下的功能 提供集群管理的REST API接口,包括认证授权、数据校验以及集群状态变更等 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd) apiserver 主要功能: ...

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

深入了解Kubernetes等组件之ETCD

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

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

在开源社区中学会如何提问

author(Github) 在提问之前 在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情: 尝试在你准备提问的论坛的旧文章中搜索答案。 尝试上网搜索以找到答案。 尝试阅读手册以找到答案。 尝试阅读常见问题文件(FAQ)以找到答案。 尝试自己检查或试验以找到答案。 向你身边的强者朋友打听以找到答案。 如果你是程序开发者,请尝试阅读源代码以找到答案。 当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。 ...

2023 年 9 月 17 日 · 36 分钟 · 17648 字 · 熊鑫伟,我

自动化的高级追求: Prow 是什么?Kubernetes 为什么需要它

why? 故事是从这个 proposal 开始idea~ 🤖 OpenIM cicd robot machine proposal Prow是基于Kubernetes的CI/CD系统。作业可以由各种类型的事件触发,并将其状态报告给许多不同的服务。除了作业执行,Prow还以策略执行、通过 /foo 风格命令的聊天操作和自动PR合并的形式提供GitHub自动化。 ...

2023 年 9 月 16 日 · 11 分钟 · 5029 字 · 熊鑫伟,我

一份完整的开源贡献指南(提供给第一次踏入开源伙伴秘籍)

任务分配 time:Within a week 完成 first contribute,目的:了解开源项目的贡献流程 完成 sealos 开发环境构建 了解 kuberentes 基本使用,核心概念,核心组件的作用 基本使用: 创建 一个 pod 并理解什么是 pod 创建一个 deployment 理解 deployment 与 pod 的关系 创建一个 configmap, 理解挂载配置文件给 pod 创建一个 service,通过 service 在集群内访问 pod 核心概念,核心组件的作用: kubectl apiserver controller-manager scheduler kubelet kube-proxy etcd 这些组件分别是做什么的 可以用一个 kubectl apply 一个 deployment 这些组件分别做了哪些事来梳理整个流程 🚸 next time:会分配一个具体的任务以及介绍 sealos 源码架构。 ...

2023 年 9 月 16 日 · 12 分钟 · 5786 字 · 熊鑫伟,我

我的第一个博客

你好,我是熊鑫伟 在光阴的长河中,我如此荣幸地踏入大四的这个重要时刻。不仅仅是一位学生,我热衷于编写那些跳动的代码,于是,我成为了开源的狂热追随者。欢迎你探索我的数字天地——我的GitHub 。这里,你将看到我对技术的热爱,我的第三代博客,我期待它能成为我与这个世界对话的终极纽带。 ...

2023 年 9 月 14 日 · 2 分钟 · 581 字 · Xinwei Xiong, Me
关于我的 Hugo 博客 (教程)

关于我的 Hugo 博客 (教程)

📌 2026-07 更新:这篇写于 2023 年,记录的是这座博客"第三代"用 Hugo 从零搭起来的过程,搭建教程部分至今有效。三年后,我又把整个博客重新组装了一遍——这次动的是整条生产线,而非主题本身:AI 写作流水线、两段式封面工厂、GitHub Actions 里的 AI 值班员、GEO 基建。完整复盘在新文章:《一个人带一队 Agent,把 120 多篇文章的博客重新组装了一遍》 。建议两篇搭配着读——一篇是地基怎么打,一篇是房子怎么长成系统。 ...

2023 年 9 月 12 日 · 9 分钟 · 4165 字 · 熊鑫伟,我

Go 调试测试以及调试工具 dlv 学习

调试Go工程 ::: tip prepare: vscode golang 1.92 ::: demo go mod init test In main.go file package main import ( "fmt" ) // Swap functions func swap(x, y *string) (string, string) { //XOR exchange *x, *y = *y, *x } func main() { fmt.Println("Hello, world!") //Swap functions for i := 0; i < 10; i++ { a := "a" b := "b" swap(&a, &b) fmt.Println(a, b) } } vscode一键生成测试 >gotest for package/function ::: tip 分别是为包生成测试单元,为函数生成测试单元。 ::: ...

2023 年 6 月 19 日 · 11 分钟 · 5403 字 · 熊鑫伟,我

Github Actions 的高级使用技巧

创建 actions actions 是可以联合收割机以创建作业和自定义工作流的单个任务。您可以创建自己的操作,或使用和自定义GitHub社区共享的操作。 可以通过编写自定义代码来创建操作,这些代码可以以您喜欢的任何方式与您的存储库进行交互,包括与GitHub的API和任何公开可用的第三方API集成。 ...

2023 年 6 月 14 日 · 41 分钟 · 20109 字 · 熊鑫伟,我

从理论到实践的项目管理打通

项目管理从理论到实践 理论介绍 ⌀ 配图已失效 · image-20230113165927930 瀑布模型: ⌀ 配图已失效 · image-20230113163949341 敏捷模型: ⌀ 配图已失效 · image-20230113164028753 ...

2023 年 5 月 7 日 · 21 分钟 · 10362 字 · Xinwei Xiong, Me

在AI时代 - 精益团队的企业文化和远程工作指南 v2.0

〉 笔者之前在参与 OpenIM 前,去过一些开源的社区和公司学习协作过,发现了一些好的文化,于是记录在这里,最开始的标题是 “一篇适用远程工作的约定指南: OpenIM 远程工作团队协作协议 v1.3”,后面我从 OpenIM 离职了,去了一家日企,学习到了外企的新的文化精髓,再到毕业后创业,开始组件和打磨团队,有了一些新的思考。团队以及领导人的决策力是最重要的两个因素,所以我把标题改为了:“在AI时代 - 精益团队的企业文化和远程工作指南 v2.0” ...

2023 年 3 月 29 日 · 7 分钟 · 3230 字 · 熊鑫伟,我
同一个模块经过适配器进入三种架构外壳,并在终点接受真机检验

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

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

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

Kubernetes一篇快速入门的文章

Kubernetes(k8s)是 Google 基于内部 Borg 系统开源的容器编排引擎,由 CNCF 托管,用声明式 API 自动完成容器化应用的部署、扩缩容、故障转移与自愈。 你只需描述集群的期望状态,它负责把系统驱动并维持在这个状态——这也是它被称为「云操作系统内核」的原因。下文从架构、组件到核心资源对象,带你一篇入门。 ...

2022 年 4 月 28 日 · 20 分钟 · 9775 字 · 熊鑫伟,我

参与我们的区块链学习平台项目

参与本项目 ⚡ 前言 欢迎来到我们的项目!本项目旨在建立一个基于区块链的全民学习平台,通过集体的智慧和努力,推动技术和知识的普及。无论你是初学者还是经验丰富的开发者,你的贡献都将对项目产生积极影响。 ...

2022 年 2 月 1 日 · 4 分钟 · 1923 字 · 熊鑫伟,我