一 準備
html
此文假設你已經安裝以下 openstack 的其餘組件
node
1. nova ------- compute service 2. keystone --- identity service 3. glance ----- image service 4. neutron ---- network service
ironic 由下面幾部分組成:
python
1. ironic-api ----------- ironic 組件對外的 API 2. ironic-conductor ----- ironic 真正的幹活者 3. ironicclient --------- 4. database 5. message queue
二 keystone 配置mysql
keystone user-create --name=ironic --pass=IRONIC_PASSWORD --email=ironic@example.com keystone user-role-add --user=ironic --tenant=service --role=admin keystone service-create --name=ironic --type=baremetal \ --description="Ironic bare metal provisioning service" keystone endpoint-create \ --service-id=the_service_id_above \ --publicurl=http://IRONIC_NODE:6385 \ --internalurl=http://IRONIC_NODE:6385 \ --adminurl=http://IRONIC_NODE:6385
三 ironic 安裝配置linux
數據庫安裝sql
# mysql -u root -p mysql> CREATE DATABASE ironic CHARACTER SET utf8; mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' \ IDENTIFIED BY 'IRONIC_DBPASSWORD'; mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' \ IDENTIFIED BY 'IRONIC_DBPASSWORD';
2. 安裝 ironic 相關包
數據庫
ironic各組件 能夠安裝在多個節點上,也可安裝在同一個節點上,此安裝指導是安裝在同一個節點上。api
http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/fedora-20/
上述可獲取到以下 rpm 包curl
openstack-ironic-api-2014.1-rc1.2.el7.noarch.rpm openstack-ironic-common-2014.1-rc1.2.el7.noarch.rpm openstack-ironic-conductor-2014.1-rc1.2.el7.noarch.rpm python-ironicclient-0.1.2-5.el7.noarch.rpm
使用 yum 或 rpm 進行安裝。
ide
vi /etc/ironic/ironic.conf
[database] connection = mysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8 [DEFAULT] rabbit_host=RABBIT_HOST [DEFAULT] auth_strategy=keystone [keystone_authtoken] auth_host=IDENTITY_IP #auth_port=35357 #auth_protocol=http auth_uri=http://IDENTITY_IP:5000/ admin_user=ironic admin_password=IRONIC_PASSWORD admin_tenant_name=service [neutron] url=http://NEUTRON_IP:9696 [glance] glance_host=GLANCE_IP
同步數據庫和重啓服務:
ironic-dbsync --config-file /etc/ironic/ironic.conf service ironic-api restart service ironic-conductor restart
四 nova compute 配置
vi /etc/nova/nova.conf
[default] compute_driver=ironic.nova.virt.ironic.IronicDriver scheduler_host_manager=ironic.nova.scheduler.ironic_host_manager.IronicHostManager ram_allocation_ratio=1.0 compute_manager=ironic.nova.compute.manager.ClusteredComputeManager [ironic] admin_username=ironic admin_password=IRONIC_PASSWORD admin_url=http://IDENTITY_IP:35357/v2.0 admin_tenant_name=service api_endpoint=http://IRONIC_NODE:6385/v1
控制節點重啓
service nova-scheduler restart
計算節點重啓
service nova-compute restart
五 PXE 配置
sudo mkdir -p /tftproot sudo chown -R ironic:LIBVIRT_GROUP -p /tftproot mkdir -p /tftproot/pxelinux.cfg sudo cp /usr/share/syslinux/pxelinux.0 /tftproot
六 部署
1. 註冊 baremetal node 信息,經過 ironic node-create,包括使用的 driver 信息,包括 BMC 的 IP/user/password、屬性(cpu/mem/disk),經過 ironic port-create 把 node 的全部的網口信息註冊到 node 上 。
2. 製做鏡像,包括系統跑的鏡像,PXE 啓動時須要的 kernel 和 ramdisk 鏡像,可藉助 openstack 的另外項目 TripleO 中的組件 diskimage-builder 製做,須要定製本身的 elements,後續若是要作定製化安裝,這個工具須要掌握起來。
3. 建立特定的 flavor,根據 node 信息設置 CPU/MEM/DISK 信息 ,設置key:baremetal:deploy_kernel_id和baremetal:deploy_ramdisk_id。
使用 nova boot 啓動 baremetal instance, flavor爲建立的baremetal專用flavor,image爲baremetal image。
七 參考文獻
http://docs.openstack.org/developer/ironic/deploy/install-guide.html