13.3.14. install-config.yaml のカスタマイズ

ここでは、3 つの python スクリプトを使用して、インストールプログラムのデフォルト動作の一部を上書きします。

  • デフォルトでは、インストールプログラムはマシン API を使用してノードを作成します。このデフォルトの動作を上書きするには、コンピュートノードの数をゼロ (0) レプリカに設定します。後に Ansible Playbook を使用してコンピュートノードを作成します。
  • デフォルトでは、インストールプログラムはノードのマシンネットワークの IP 範囲を設定します。このデフォルトの動作を上書きするには、インフラストラクチャーに一致するように IP 範囲を設定します。
  • デフォルトでは、インストールプログラムはプラットフォームを ovirt に設定します。ただし、ユーザーによってプロビジョニングされるインフラストラクチャーにクラスターをインストールすることは、ベアメタルにクラスターをインストールすることに似ています。したがって、ovirt プラットフォームセクションを install-config.yaml から削除し、プラットフォームを none に変更します。代わりに、inventory.yml を使用して、必要な設定をすべて指定します。
注記

これらのスニペットは Python 3 および Python 2 で動作します。

手順

  1. コンピュートノードの数をゼロ (0) レプリカに設定します。

    $ 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))'
    警告

    Red Hat Virtualization は現在、oVirt プラットフォーム上にあるユーザーによってプロビジョニングされるインフラストラクチャーでのインストールをサポートしていません。そのため、プラットフォームを none に設定し、OpenShift Container Platform が各ノードをベアメタルノードとして、およびクラスターをベアメタルクラスターとして識別できるようにします。これは いずれのプラットフォームにもクラスターのインストール と同じですが、以下の制限があります。

    1. クラスタープロバイダーがないため、各マシンを手動で追加する必要があり、ノードスケーリング機能はありません。
    2. oVirt CSI ドライバーはインストールされず、CSI 機能はありません。