各位是如何在 k8s 中做镜像构建的?

2025 年 6 月 17 日
 Vraw5
集群里有两台机器用作 jenkins kubernetes agent 做 CICD ,以前 k8s 在 1.24 以下时主机使用 docker engine ,我可以通过挂载 docker.sock 直接使用主机的 docker 做镜像,后来 k8s 升级后使用 kaniko 构建镜像,昨天看 kaniko 的 github 已经在两周前归档了,想换掉它,有没有 kaniko 的替代品。
3639 次点击
所在节点    Kubernetes
12 条回复
beyondstars
2025 年 6 月 17 日
lomtom
2025 年 6 月 17 日
@beyondstars 之前写过关于 buildkit 的使用,这个确实可以,可以参考一下 https://lomtom.cn/vrqlkpdd61y0
justdoit123
2025 年 6 月 17 日
什么? kaniko 这玩意归档了啊?

https://github.com/GoogleContainerTools/kaniko/issues/3348#issuecomment-2935160773

> This was never an official Google product. This is dead, time to move to buildkit or buildah.

坐等一个替代品建议。求有用过大佬分享一下替代品的使用体验。
anubu
2025 年 6 月 17 日
变更最小的就是 dind ,以 ds 部署 docker ,然后挂载 docker.sock ,和原流程几乎没有变化。从挂载宿主机 sock 到 ds 容器的 sock ,可能要再调试认证、缓存、性能等问题。
shakaraka
2025 年 6 月 17 日
我也在看在没有 docker 的情况下如何打包构建镜像,也是看到 kaniko 和 buildah 两个
DreamSpace
2025 年 6 月 17 日
https://tekton.dev/
我用 Tekton+K3S 做的 CI ,体验尚可,这个比较适合包装一下做成 CI/CD 平台
DreamSpace
2025 年 6 月 17 日
不好意思没看清题目,我也用的 tekton 打包,竟然已经归档了
Vraw5
2025 年 6 月 17 日
kaniko 在 Readme 中有提到几个其他工具,可以参考。
https://github.com/GoogleContainerTools/kaniko?tab=readme-ov-file#comparison-with-other-tools

@wunonglin #5 或许 BuildKit 是最优解。img 已经停更很多年,Buildah 可能需要手动制作一个镜像,我没有找到官方镜像。Bazel rules_docker 不支持 RUN
Rat3
2025 年 6 月 17 日
dind + buildkit
Bromine0x23
2025 年 6 月 17 日
buildah 的官方镜像是 `quay.io/buildah/stable` 这个?但是这个好像不会合并 ARG 和 ENV 之类的空层。

buildkit 用 rootless 我这 air-gap 环境搞不定 FROM 的证书校验问题。
Vraw5
2025 年 6 月 17 日
@Bromine0x23 #10 镜像好像是官方的。明天把 buildah 和 buildkit 都试用试试。

我看 buildkit 可以做 server-client 模式,是不是可以一直起着一个 Deployment ,做 CI 的时候直接指定 buildctl --addr kube-pod://buildkitd ,就是不清楚 server 能不能同时让多个 client 使用
feifeizhou
2025 年 6 月 18 日
我用 podman

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/1139075

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX