10.3.14. install-config.yaml 사용자 정의

여기에서는 3 개의 Python 스크립트를 사용하여 설치 프로그램의 일부 기본 동작을 재정의합니다.

  • 기본적으로 설치 프로그램은 머신 API를 사용하여 노드를 만듭니다. 이 기본 동작을 재정의하려면 컴퓨팅 노드 수를 복제본 0으로 설정합니다. 나중에 Anable Playbook을 사용하여 컴퓨팅 노드를 생성합니다.
  • 기본적으로 설치 프로그램은 노드의 시스템 네트워크의 IP 범위를 설정합니다. 이 기본 동작을 재정의하려면 인프라와 일치하도록 IP 범위를 설정합니다.
  • 기본적으로 설치 프로그램은 플랫폼을 ovirt로 설정합니다. 그러나 사용자 프로비저닝 인프라에 클러스터를 설치하는 것은 베어 메탈에 클러스터를 설치하는 것과 비슷합니다. 따라서 install-config.yaml에서 ovirt 플랫폼 섹션을 삭제하고 플랫폼을 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))'