Kube-OVN 前段时间做了 E2E 测试的重构,增加了大量的测试,导致 Github Action 经常被占满,PR 经常好久才能合并,这周花时间和小伙伴优化了 Action 的执行时间,如果你也在 Github 上运行 Kubernetes 相关的 workflow 下面的优化方法可能会对你有帮助。
Kube-OVN
中 NetworkPolicy
兼容性测试花费时间较长,那就可以根据代码目录判断,如果变动代码和 NetworkPolicy 无关,这部分测试就不运行了。kind
起一个 Kubernetes
集群大概要 1m,k3d
差不多 10s,我们的环境有些兼容性问题,如果没有兼容性问题 CI 测试可以优先使用 k3d
。Ginkgo
有并发测试的选项,很多 Kubernetes
的测试需要等待状态就绪,CPU 消耗并不大,可以适度增加并发度。Kubernetes
中有很多等待状态的 sleep
,可以把 sleep
间隔调小。比如 sleep
从 5s 调到 1s,那平均下来每次运行会节省 2s。kubectl delete
会默认等待删除完全结束,在删除 Pod 时可能会花较长时间,尤其是批量删除会一个个等,可以用 --wait=false
避免等待。readinessProbe
的工作负载会等待 initialDelaySeconds
之后再探测,状态才会变成 ready
,可以把 initialDelaySeconds
删掉,这样能加速启动。这周菲律宾的 globe 手机卡到手了,总算能成功注册一个 openAI 的账号,不需要关各种代理的限制,能比较充分的去使用了。这个星期主要用 chatGPT 做了如下几个事情:
No provider or user of an interactive computer service shall be treated as the publisher or speaker of any information provided by another information content provider.
logseq
一个不存在的分享发布功能,他非说有,还告诉我是怎么实现的。页面交互,后台逻辑,可能用到的技术都编出来了,其中一个用 gist 来实现的方案看上去还不错。给我的感受是使用 chatGPT 后,很多任务的难度从创作级别降到了 review 级别,不管是文本生成,代码生成甚至是 Roadmap 生成,原本需要从 0 开始创作,现在变成了基于一个还不错的输出做质量检查和微调。由于任务完全变成了另一个类型,从产出的角度来讲效率绝对是大幅提升了。但是我隐隐有些担心如果形成了路径依赖,跳过了中间过程直接拿到结果,创造的能力会不会受到影响?
对于用 chatGPT 辅助学习,实际效果也很不错,相比搜索引擎需要在很多信息中做过滤,chatGPT 能一下子提供直接相关的信息,可以减少很多注意力的转移。不过胡说八道的情况存在的比例也不低,还是要有一定的判断。当感觉出有问题的时候还是要追问几句,再去搜索引擎交叉验证一下。
我希望未来所有软硬件的用户交互方式都能提供一个 chat 的接口,在经历了鼠标、键盘、触屏后又能以一种更高效的形式回归到语音交互。想一想这不就是老罗当年的 TNT 么。