#kubernetes #openshift #platform #installer #install #path

app xokdinst

为 openshift-install 提供包装

1 个不稳定版本

0.8.1 2020年9月29日

#767 in 配置

Apache-2.0

32KB
715

xokdinst

使用一些额外功能包装 openshift-installer

安装

您需要 cargo;您可以从 yum -y install cargorustup 获取。假设您是 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启动。

如果您想使用多个平台(例如awslibvirt),则您需要创建一个新的配置

$ 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