Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

8장. 노드 배치 제어

director의 기본 동작은 일반적으로 profile 태그를 기반으로 각 역할의 노드를 무작위로 선택하는 것입니다. 그러나 director는 특정 노드 배치를 정의하는 기능을 제공합니다. 이 방법은 다음 작업을 수행하는 데 유용합니다.

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

네트워크용 예측 가능한 IP 주소, 가상 IP 주소 및 포트를 수동으로 설정하면 할당 풀의 필요성이 완화됩니다. 그러나 새 노드를 쉽게 확장하려면 각 네트워크에 할당 풀을 유지하는 것이 좋습니다. 정적으로 정의된 IP 주소가 할당 풀 외부에 있는지 확인합니다. 할당 풀 설정에 대한 자세한 내용은 7.2절. “네트워크 환경 파일 생성” 을 참조하십시오.

8.1. 특정 노드 ID 할당

다음 절차에서는 특정 노드에 노드 ID를 할당합니다. 노드 ID의 예로는 controller-0,controller-1,compute-0,compute-1 등이 있습니다.

첫 번째 단계는 Nova 스케줄러가 배포 시 일치하는 노드별 기능으로 ID를 할당하는 것입니다. 예를 들면 다음과 같습니다.

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

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

다음 단계는 스케줄러 힌트를 사용하여 각 노드의 기능과 일치하는 Heat 환경 파일(예: scheduler_hints_env.yaml)을 생성하는 것입니다. 예를 들면 다음과 같습니다.

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

이러한 스케줄러 힌트를 사용하려면 Overcloud 생성 중에 overcloud deploy 명령에 ' scheduler_hints_env.yaml' 환경 파일을 포함합니다.

다음 매개변수를 통해 각 역할에 대해 동일한 접근 방식을 사용할 수 있습니다.

  • 컨트롤러 노드의 ControllerSchedulerHints
  • 컴퓨팅 노드의 NovaComputeSchedulerHints.
  • Block Storage 노드의 BlockStorageSchedulerHints
  • Object Storage 노드의 ObjectStorageSchedulerHints
  • Ceph Storage 노드의 CephStorageSchedulerHints
  • [ROLE]SchedulerHints for custom roles. [ROLE] 을 역할 이름으로 교체합니다.
참고

노드 배치는 프로필 일치보다 우선 순위를 지정합니다. 예약 실패를 방지하려면 프로필 일치(컴퓨팅,제어 등)용으로 설계된 플레이버가 아닌 배포에 기본 baremetal 플레이버를 사용합니다. 예를 들면 다음과 같습니다.

$ openstack overcloud deploy ... --control-flavor baremetal --compute-flavor baremetal ...