13장. 노드 배치 제어

기본적으로 director는 노드의 프로필 태그에 따라 각 역할에 대해 임의로 노드를 선택합니다. 그러나 특정 노드 배치를 정의할 수도 있습니다. 이는 다음 시나리오에서 유용합니다.

  • 특정 노드 ID(예: controller-0,controller-1)할당
  • 사용자 정의 호스트 이름 할당
  • 특정 IP 주소 할당
  • 특정 가상 IP 주소 할당
참고

네트워크에 예측 가능한 IP 주소, 가상 IP 주소 및 포트를 수동으로 설정하면 풀 할당의 필요성이 줄어듭니다. 그러나 새 노드를 쉽게 확장할 수 있도록 각 네트워크에 대한 할당 풀을 유지하는 것이 좋습니다. 정적으로 정의된 모든 IP 주소가 할당 풀 외부에 속하는지 확인합니다.

13.1. 특정 노드 ID 할당

특정 노드에 노드 ID(예: controller-0, controller-1, compute-0,compute-1) 를 할당할 수 있습니다 .

절차

  1. 컴퓨팅 스케줄러가 배포 시 일치하는 노드별 기능으로 ID를 할당합니다.

    openstack baremetal node set --property capabilities='node:controller-0,boot_option:local' <id>

    이 명령은 기능 node:controller-0 을 노드에 할당합니다. 모든 노드에 대해 0부터 시작하여 고유한 연속 인덱스를 사용하여 이 패턴을 반복합니다. 지정된 역할(Controller, Compute 또는 각 스토리지 역할)의 모든 노드에 동일한 방식으로 태그가 지정되어 있는지 또는 Compute 스케줄러가 기능과 올바르게 일치할 수 없는지 확인합니다.

  2. 스케줄러 힌트를 사용하여 각 노드의 기능과 일치시키는 Heat 환경 파일(예: scheduler_hints_env.yaml)을 생성합니다.

    parameter_defaults:
      ControllerSchedulerHints:
        'capabilities:node': 'controller-%index%'

    다음 매개변수를 사용하여 다른 역할 유형에 대한 스케줄러 힌트를 구성합니다.

    • 컨트롤러 노드의 ControllerSchedulerHints 입니다.
    • 컴퓨팅 노드의 ComputeSchedulerHints 입니다.
    • 블록 스토리지 노드의 BlockStorageSchedulerHints 입니다.
    • 오브젝트 스토리지 노드의 ObjectStorageSchedulerHints 입니다.
    • Ceph Storage 노드의 CephStorageSchedulerHints.
    • [ROLE] 사용자 정의 역할을 위한 스케줄 힌트입니다. [ROLE] 을 역할 이름으로 바꿉니다.
  3. Overcloud 배포 명령에 scheduler_hints_env.yaml 환경 파일을 포함합니다.
참고

노드 배치는 프로필 일치보다 우선합니다. 스케줄링 실패를 방지하려면 프로필 일치(컴퓨팅,제어)용으로 설계된 플레이버가 아닌 배포에 기본 baremetal 플레이버 를 사용합니다. 환경 파일에서 각 플레이버 매개 변수를 baremetal로 설정합니다.

parameter_defaults:
  OvercloudControllerFlavor: baremetal
  OvercloudComputeFlavor: baremetal