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>
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%'
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]SchedulerHintsfor custom roles.[ROLE]을 역할 이름으로 교체합니다.
노드 배치는 프로필 일치보다 우선 순위를 지정합니다. 예약 실패를 방지하려면 프로필 일치(컴퓨팅,제어 등)용으로 설계된 플레이버가 아닌 배포에 기본 baremetal 플레이버를 사용합니다. 예를 들면 다음과 같습니다.
openstack overcloud deploy ... --control-flavor baremetal --compute-flavor baremetal ...
$ openstack overcloud deploy ... --control-flavor baremetal --compute-flavor baremetal ...