1 个不稳定版本
0.8.1 | 2020年9月29日 |
---|
#767 in 配置
32KB
715 行
xokdinst
使用一些额外功能包装 openshift-installer。
安装
您需要 cargo
;您可以从 yum -y install cargo
或 rustup 获取。假设您是 OpenShift 本身的开发者/测试员等,我们将克隆此 git 仓库,以便您更容易地为包装程序做出贡献,然后从该克隆安装
$ git clone https://github.com/cgwalters/xokdinst
$ cd xokdinst
$ cargo install --path .
快速入门
启动名为 mycluster
的集群(您可能更富有创意地命名)
$ xokdinst launch mycluster
<fill out installer fields>
有关更多命令,请运行 xokdinst --help
。
与 openshift-installer 的功能/区别
xokdinst
的主要功能是默认情况下有一个有见地的配置存储位置,即在平台特定的 "appdirs" 中,如 Rust directories crate 所定义的 - 例如,在 Linux/Unix 中这是 ~/.config/xokdinst
。
这建立在上游安装程序对 多次调用 的支持之上。我们始终使用上游安装程序的 --dir
选项,并使用集群名称命名该目录。这使得管理多个集群更加方便。
自动注入拉取密钥
如果您在安装配置中省略了 pullSecret
,则 xokdinst
将自动注入 ~/.docker/config.json
。
注入清单的更流畅流程
注入清单更简单了。
平台配置继承
xokdinst
还有一个概念,即给定平台的 "默认配置"。如果您只使用了一个平台,它就变成了默认配置。当您第一次运行 launch
时,我们将检查所选择的平台并将配置保存为 config-<platform>.yaml
。
例如,运行这个
$ xokdinst launch mycluster2
将创建第二个集群,除了名称外,它将继承所有内容。例如,如果您创建的第一个集群是为AWS平台,则mycluster2
将使用config-aws.yaml
启动。
如果您想使用多个平台(例如aws
和libvirt
),则您需要创建一个新的配置
$ xokdinst gen-config
这次选择libvirt
作为平台,生成的配置将是config-libvirt.yaml
。
从现在起,每次启动集群时,您都需要指定平台,例如
$ xokdinst launch -p aws mycluster2
$ xokdinst launch -p libvirt mycluster3
为什么不将此添加到上游安装程序中?
这将是一个显著的UX变化;我当然想这样做。
为什么这个是用Rust实现的
最初它是在Python中,但我真的很怀念那里的静态类型。Go对于“脚本”来说很烦人,主要原因是有几个原因,主要是错误处理如何冗长,与Rust的简单而优雅的?
运算符相比。此外,我觉得用Rust写得更自在。
依赖项
~7–20MB
~325K SLoC