我正在尝试在几台裸机服务器上安装 CoreOS 集群。我已成功安装并配置了 PXE 服务器,它允许我在那些服务器的 RAM 上启动 CoreOS。一段时间后,我意识到我真的需要物理安装 CoreOS,所以我尝试了其他选项;我的主要问题是我没有互联网,所以我无法使用 coreos-install,因为它会从 CoreOS 服务器获取图像,我从其他地方下载了所有需要的图像,但我仍然不知道如何离线安装它们。我希望得到以下方面的建议:(为了在 docker 支持下物理离线安装 CoreOS)
1-最好的方法是什么?
2- ISO 映像可以用于此吗?
3- 有没有什么工具可以帮助我完成这项工作?
4-如果我不能使用 PXE 服务器,我有什么选择?
答案1
1-最好的方法是什么?
coreos-install 不适用于离线镜像。但如果你确实希望它在某些机器上离线工作,你可以在机器上运行 coreos-install,该机器branch
使用 /etc/hosts 将 .release.core-os.net 域重定向到 127.0.0.1,并运行 nginx,配置如下这将对 coreos 服务器的请求重定向到本地文件。Nginx 必须模拟 core-os.net 服务器。从未尝试过 ;) 但它甚至可能有效 ;)
4-如果我不能使用 PXE 服务器,我有什么选择?
我认为您可以使用 CloneZilla 离线安装 CoreOS。同样,我从未尝试过,所以这只是一个建议。
答案2
虽然这不是一个新问题,但我还是发布了这个答案,因为至少现在,接受的答案是不正确的(当时可能是正确的)。
您可以在不访问互联网的情况下安装 CoreOS。您可以将一个开关传递给脚本,coreos-install
该脚本会提供映像存储库的本地镜像。
的有效开关为coreos-install
:
-d DEVICE Install CoreOS to the given device.
-V VERSION Version to install (e.g. current)
-C CHANNEL Release channel to use (e.g. beta)
-o OEM OEM type to install (e.g. openstack)
-c CLOUD Insert a cloud-init config to be executed on boot.
-t TMPDIR Temporary location with enough space to download images.
-v Super verbose, for debugging.
-b BASEURL URL to the image mirror
因此,如果您提供的-b http://mylocalserver/
是有效的 Web 服务器并且其中有文件,那么它就会起作用。
您也不需要 PXE 服务器,只需使用 CD/ISO 即可运行安装脚本。CoreOS 提供了这样的 ISO。
参考:CoreOS 文档,安装到磁盘