15.7.14. 自定义 install-config.yaml

在这里,您使用三个 Python 脚本覆盖一些安装程序的默认行为:

  • 默认情况下,安装程序使用机器 API 创建节点。要覆盖此默认行为,将计算节点数量设置为零个副本。之后,您可以使用 Ansible playbook 创建计算节点。
  • 默认情况下,安装程序为节点设置机器网络的 IP 范围。要覆盖这个默认行为,您可以将 IP 范围设置为与您的基础架构匹配。
  • 默认情况下,安装程序将平台设置为 ovirt。但是,在用户置备的基础架构上安装集群和在裸机上安装集群更为相似。因此,您可以从 install-config.yaml 中删除 ovirt platform 部分,并将平台改为 none。然后,使用 inventory.yml 指定所有所需的设置。
注意

这些片断可用于 Python 3 和 Python 2。

流程

  1. 将计算节点数量设置为零副本:

    $ python3 -c 'import os, yaml
    path = "%s/install-config.yaml" % os.environ["ASSETS_DIR"]
    conf = yaml.safe_load(open(path))
    conf["compute"][0]["replicas"] = 0
    open(path, "w").write(yaml.dump(conf, default_flow_style=False))'
  2. 设置机器网络的 IP 范围。例如,要将范围设置为 172.16.0.0/16,请输入:

    $ python3 -c 'import os, yaml
    path = "%s/install-config.yaml" % os.environ["ASSETS_DIR"]
    conf = yaml.safe_load(open(path))
    conf["networking"]["machineNetwork"][0]["cidr"] = "172.16.0.0/16"
    open(path, "w").write(yaml.dump(conf, default_flow_style=False))'
  3. 删除 ovirt 部分,把平台改为 none:

    $ python3 -c 'import os, yaml
    path = "%s/install-config.yaml" % os.environ["ASSETS_DIR"]
    conf = yaml.safe_load(open(path))
    platform = conf["platform"]
    del platform["ovirt"]
    platform["none"] = {}
    open(path, "w").write(yaml.dump(conf, default_flow_style=False))'