Red Hat Training

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

14장. 노드 배치 제어

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

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

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

14.1. 특정 노드 ID 할당

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

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

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

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

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

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

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

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

  • 컨트롤러 노드의 ControllerSchedulerHints 입니다.
  • 컴퓨팅 노드의 ComputeSchedulerHints 입니다.
  • 블록 스토리지 노드의 BlockStorageSchedulerHints 입니다.
  • 오브젝트 스토리지 노드의 ObjectStorageSchedulerHints 입니다.
  • Ceph Storage 노드의 CephStorageSchedulerHints.
  • [ROLE] 사용자 정의 역할을 위한 스케줄 힌트입니다. [ROLE] 을 역할 이름으로 바꿉니다.
참고

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

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