Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
15장. 베어 메탈 노드 자동 검색
instackenv.json
파일을 먼저 생성하지 않고 auto-discovery를 사용하여 언더클라우드 노드를 등록하고 해당 메타데이터를 생성할 수 있습니다. 이러한 개선 사항은 초기 노드 정보를 수집하는 데 소요되는 시간을 줄이는 데 도움이 될 수 있습니다. 예를 들어 IPMI IP 주소를 분석하고 차후에 instackenv.json
을 생성할 필요가 없습니다.
15.1. 요구 사항
- 모든 오버클라우드 노드는 IPMI를 통해 director에 액세스할 수 있도록 BMC를 설정해야 합니다.
- 모든 클라우드 노드는 언더클라우드 컨트롤 플레인 네트워크에 연결된 NIC에서 PXE 부팅되도록 구성해야 합니다.
15.2. 자동 검색 활성화
베어 메탈 자동 검색을
undercloud.conf
에서 활성화합니다.enable_node_discovery = True discovery_default_driver = ipmi
-
enable_node_discovery
- 활성화되면 PXE를 사용하여 인트로스펙션 램디스크를 부팅하는 모든 노드가 ironic에 등록됩니다. -
discovery_default_driver
- 드라이버를 검색된 노드에서 사용하도록 설정합니다(예:pxe_ipmitool
).
-
IPMI 인증서를 ironic에 추가합니다:
IPMI 인증서를
ipmi-credentials.json
이라는 이름의 파일에 추가합니다. 이 예시에서 사용자 이름과 암호 값을 사용자 환경에 맞게 변경해야 합니다.[ { "description": "Set default IPMI credentials", "conditions": [ {"op": "eq", "field": "data://auto_discovered", "value": true} ], "actions": [ {"action": "set-attribute", "path": "driver_info/ipmi_username", "value": "SampleUsername"}, {"action": "set-attribute", "path": "driver_info/ipmi_password", "value": "RedactedSecurePassword"}, {"action": "set-attribute", "path": "driver_info/ipmi_address", "value": "{data[inventory][bmc_address]}"} ] } ]
IPMI 인증서 파일을 ironic에 가져옵니다.
$ openstack baremetal introspection rule import ipmi-credentials.json
15.3. 자동 검색 테스트
- 필요한 노드의 전원을 켭니다.
openstack baremetal node list
를 실행하면enrolled
상태에 새 노드가 표시되어야 합니다.$ openstack baremetal node list +--------------------------------------+------+---------------+-------------+--------------------+-------------+ | UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance | +--------------------------------------+------+---------------+-------------+--------------------+-------------+ | c6e63aec-e5ba-4d63-8d37-bd57628258e8 | None | None | power off | enroll | False | | 0362b7b2-5b9c-4113-92e1-0b34a2535d9b | None | None | power off | enroll | False | +--------------------------------------+------+---------------+-------------+--------------------+-------------+
각 노드에 리소스 클래스를 설정합니다.
$ for NODE in `openstack baremetal node list -c UUID -f value` ; do openstack baremetal node set $NODE --resource-class baremetal ; done
각 노드에 커널 및 램디스크를 설정합니다.
$ for NODE in `openstack baremetal node list -c UUID -f value` ; do openstack baremetal node manage $NODE ; done $ openstack overcloud node configure --all-manageable
모든 노드를 사용 가능한 상태로 설정합니다.
$ for NODE in `openstack baremetal node list -c UUID -f value` ; do openstack baremetal node provide $NODE ; done
15.4. 규칙을 사용하여 다른 벤더 하드웨어 검색 방법
여러 가지가 혼합된 하드웨어 환경의 경우 인트로스펙션 규정을 사용하여 인증서 및 원격 관리 인증서를 할당할 수 있습니다. 예를 들어 별도의 검색 규칙으로 DRAC를 사용하는 Dell 노드를 처리할 수 있습니다.
다음 콘텐츠로
dell-drac-rules.json
이라는 파일을 생성합니다. 이 예시에서 사용자 이름과 암호 값을 사용자 환경에 맞게 변경해야 합니다.[ { "description": "Set default IPMI credentials", "conditions": [ {"op": "eq", "field": "data://auto_discovered", "value": true}, {"op": "ne", "field": "data://inventory.system_vendor.manufacturer", "value": "Dell Inc."} ], "actions": [ {"action": "set-attribute", "path": "driver_info/ipmi_username", "value": "SampleUsername"}, {"action": "set-attribute", "path": "driver_info/ipmi_password", "value": "RedactedSecurePassword"}, {"action": "set-attribute", "path": "driver_info/ipmi_address", "value": "{data[inventory][bmc_address]}"} ] }, { "description": "Set the vendor driver for Dell hardware", "conditions": [ {"op": "eq", "field": "data://auto_discovered", "value": true}, {"op": "eq", "field": "data://inventory.system_vendor.manufacturer", "value": "Dell Inc."} ], "actions": [ {"action": "set-attribute", "path": "driver", "value": "idrac"}, {"action": "set-attribute", "path": "driver_info/drac_username", "value": "SampleUsername"}, {"action": "set-attribute", "path": "driver_info/drac_password", "value": "RedactedSecurePassword"}, {"action": "set-attribute", "path": "driver_info/drac_address", "value": "{data[inventory][bmc_address]}"} ] } ]
규칙을 ironic에 가져옵니다.
$ openstack baremetal introspection rule import dell-drac-rules.json