시작하기 전에
Ironic을 나머지 OpenStack 구성 요소와 함께 배치하는 경우 먼저 핵심 구성 요소를 구성해야 합니다. 최소한, Ironic을 작동하기 전에 Keystone 및 Glance 구성을 완료해야 합니다.
마찬가지로, Ironic의 데이터베이스가 설정되었는지 확인합니다. 이 절차에서는 그림 2의 3노드 참조 아키텍처를 따르며, 이 데이터베이스는 나머지 OpenStack 데이터베이스와 함께 컨트롤러 노드에 설정됩니다.
controller# export $CONTROLLER_ADMIN_NODE=controller-node
여기서 controller-node는 컨트롤러의 IP 주소 또는 호스트 이름입니다. 변수 설정에 대한 자세한 내용은 호스트 이름, 변수 및 암호 준비를 참조하십시오.
controller# mysql -u root -p Enter password: MySQL-root-password mysql> create database ironic default character set utf8 default collate utf8_general_ci; mysql> grant all privileges on ironic.* to 'ironic'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password'; mysql> flush privileges; mysql> quit
# pkg install ironic ironicclient rabbitmq # pkg update stevedore stevedore-27
동일한 명령을 사용하여 AI 서버 패키지를 Ironic과 함께 로컬에 설치할지, 다른 호스트에 원격으로 설치할지 결정합니다.
# pkg install pkg:/install/installadm
remote-AI# useradd -d /var/lib/ironic -m -g 88 -u 88 \ -P "Install Service Management" ironic remote-AI# password ironic New Password: password Re-enter new Password: password
ironic-localhost# su - ironic ironic-localhost# mkdir /var/lib/ironic/.ssh ironic-localhost# ssh-keygen -N '' -t rsa \ -f /var/lib/ironic/.ssh/id_rsa ironic-localhost# cat /var/lib/ironic/.ssh/id_rsa.pub > \ /var/lib/ironic/.ssh/authorized_keys
remote-AI# su - ironic remote-AI# mkdir /var/lib/ironic/.ssh remote-AI# ssh-keygen -N '' -t rsa \ -f /var/lib/ironic/.ssh/id_rsa remote-AI# cat /var/lib/ironic/.ssh/id_rsa.pub > \ /var/lib/ironic/.ssh/authorized_keys
ironic-localhost# mkdir /var/lib/ironic/.ssh ironic-localhost# scp ironic@AI-server:~/.ssh/id_rsa /var/lib/ironic/.ssh ironic-localhost# scp ironic@AI-server:~/.ssh/id_rsa.pub /var/lib/ironic/.ssh ironic-localhost# cat /var/lib/ironic/.ssh/id_rsa.pub > \ /var/lib/ironic/.ssh/authorized_keys ironic-localhost# chown -R ironic:ironic /var/lib/ironic/.ssh
여기서 AI-server는 AI 서버의 IP 주소 또는 호스트 이름일 수 있습니다.
파일에서 특정 매개변수의 구성과 관련하여 다음 사항을 고려하십시오.
Ironic을 독립형 구성 요소로 사용하는 경우 [DEFAULT] 섹션에서 noauth를 지정합니다. Ironic을 다른 OpenStack 구성 요소와 함께 배치하는 경우 keystone을 지정합니다.
자동 설치 프로그램(AI)이 Ironic과 함께 로컬에 있는 경우 [ai] 섹션에서 localhost를 지정합니다. AI가 원격에 있는 경우 해당 서버의 IP 주소 또는 호스트 이름을 지정합니다.
[database] 섹션에서 MySQL 데이터베이스에 대한 연결을 지정합니다.
auth_strategy 매개변수가 keystone으로 설정된 경우 glance 섹션에서 Glance 서버의 IP 주소 또는 호스트 이름을 지정합니다.
또한 glance 섹션에서 호스트 이름 또는 IP 주소와 함께 해당 포트 번호를 지정합니다(예: 192.168.0.150:9292). localhost를 지정하지 마십시오.
다음 샘플 파일은 Ironic이 작동하는 데 필요한 모든 매개변수 구성을 안내하는 데 사용됩니다. 샘플 파일에서 glance-serverIP 변수는 Glance 서버의 IP 주소 또는 호스트 이름을 나타냅니다.
[DEFAULT] enabled_drivers=solaris auth_strategy=설정은 Ironic이 독립형인지 여부에 따라 다릅니다. pybasedir = /usr/lib/python2.6/vendor-packages/ironic bindir = /usr/lib/ironic host = ironic [ai] server=설정은 AI가 로컬 또는 원격인지에 따라 다릅니다. username=ironic port=22 timeout=10 ssh_key_file=/var/lib/ironic/.ssh/id_rsa deploy_interval=30 [api] port=6385 [conductor] api_url=http://localhost:6385/ heartbeat_timeout=60 heartbeat_interval=60 sync_power_state_interval=300 check_provision_state_interval=120 [database] connection= mysql://ironic:ironic-service-password@$CONTROLLER_ADMIN_NODE/ironic [solaris_ipmi] imagecache_dirname = /var/lib/ironic/images imagecache_lock_timeout = 60 [glance] glance_host = glance-serverIP glance_port = 9292 glance_protocol = http glance_api_servers = glance-serverIP:port auth_strategy =Ironic이 Keystone을 사용하여 Glance와 상호 작용하도록 하려면 keystone을 지정합니다. [keystone_authtoken]DEFAULT에서 auth_strategy = keystone이면 구성합니다. auth_host = localhost auth_uri = http://$CONTROLLER_ADMIN_NODE:5000/v2.0 identity_uri = http://$CONTROLLER_ADMIN_NODE:35357 admin_user = ironic admin_password = ironic-service-password admin_tenant_name = tenant signing_dir = /var/lib/ironic/keystone-signing [neutron] auth_strategy =Ironic이 Keystone을 사용하여 Neutron과 상호 작용하도록 하려면 keystone을 지정합니다.
ironic-localhost# svcs -a | grep rabbitmq ironic-localhost# svcs -a | grep ironic
Ironic이 독립형 모드인 경우 수동으로 서비스를 사용으로 설정해야 할 수도 있습니다.
ironic-localhost# svcadm enable rabbitmq ironic-localhost# svcadm enable ironic-db ironic-localhost# svcadm enable ironic-api ironic-conductor
ironic-localhost# export OS_AUTH_TOKEN=fake-token ironic-localhost# export IRONIC_URL=http://localhost:6385
Keystone 서비스가 Ironic과 다른 노드에 있는 경우 OS_AUTH_URL에 대해 Keystone이 설치된 IP 주소 또는 호스트 이름을 지정합니다.
ironic-localhost# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0" ironic-localhost# export OS_TENANT_NAME=service ironic-localhost# export OS_USERNAME=ironic ironic-localhost# export OS_PASSWORD=ironic-service-password ironic-localhost# export IRONIC_URL=http://localhost:6385/
# ironic driver-list +---------------------+----------------+ | Supported driver(s) | Active host(s) | +---------------------+----------------+ | solaris | ironic | +---------------------+----------------+
현재 solaris가 Ironic에서 유일하게 사용으로 설정되고 테스트된 드라이버입니다. 그러나 /etc/ironic/ironic.conf 파일에서 [enabled_drivers] 섹션 아래에 드라이버 이름을 넣으면 목록에 추가할 수 있습니다. 드라이버를 추가한 후에 ironic-api 및 ironic-conductor SMF 서비스를 다시 시작해야 합니다.