学习 K8S 的第三天,有个关于离线部署的疑问

2022-05-19 18:37:42 +08:00
 ljlljl0
1.在生产环境,要单独把每个节点连接外网下载 docker 等文件吗,怎么把这些全部下载下来,单纯 RPM 好像在安装的时候还会去官网做元数据一些版本验证,导致必须用国内的镜像源。这些怎么解决呢。

目前我已经脚本实现把部署 K8S 的 7 个镜像 api-server 这些打包好了,还有挺多的东西比如编译 cri-dockerd 这里面涉及到 go 的配置和 go get 这些都得可以访问外部,想把这些都可以简单的打包起来,如果一个个下载 RPM 包应该也可以,就是挺麻烦的。

2.在安装 1.24.0 新版,发现到 init 初始化阶段哪怕我下载了镜像到本地,还是会访问 K8S.io 这个,然后超时。。。不知道有没有哪个配置文件可以让它初始化不访问外网,直接用本地的镜像,也不去对比版本之类的。

谢谢
2540 次点击
所在节点    Kubernetes
11 条回复
ljlljl0
2022-05-19 18:59:07 +08:00
我听一个部署视频讲 dockerd 只需要在 master 部署,然后 worker 节点二进制服务会拉起来容器?
aeli
2022-05-19 20:13:25 +08:00
感觉你的问题是 谷歌 + Docker | k8s + 离线安装 就能解决的问题。
timothyye
2022-05-19 20:59:55 +08:00
之前在一家公司做的离线部署 k8s 的一个开源项目,可供参考

https://github.com/Orientsoft/kubekit
m0re
2022-05-19 21:01:29 +08:00
kuboard 的项目有一键部署的教程,可以入门试试
ysicing
2022-05-19 21:24:53 +08:00
可以参考参考这个 https://github.com/labring/sealos
2liuqi
2022-05-20 09:37:13 +08:00
kubeadm 有指令可以提前拿到即将要下载的所有镜像,你可以提前下载好,同时需要注意版本
dzdh
2022-05-20 09:47:20 +08:00
有外网机器 docker pull 拉对应镜像 export 。然后到机器里 import
superchijinpeng
2022-05-20 12:02:16 +08:00
生产环境一般 k8s 系统组件都用二进制部署
mantou99
2022-05-20 18:00:22 +08:00
1.最好访问官方的源或镜像源安装 rpm ,完全离线安装,一定会碰到各种依赖问题,每个包都离线装的话,相信我,你会疯掉的。像 docker 这种应用可以直接二进制安装
2.这个问题是 deployment ,statefulset 类似这种资源的 imagepullpolicy 决定的,默认是会去拉镜像,想要完全离线使用镜像可以改成 never 。
都用 k8s 了,想办法搞个镜像仓吧,不管是买个还是自己搭个,开源的可以用 harbor
ljlljl0
2022-05-20 20:20:56 +08:00
@mantou99 多谢,我搞一个试试。
24sama
2022-07-25 10:48:31 +08:00

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

https://www.v2ex.com/t/853983

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

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

© 2021 V2EX