首页 > 代码库 > openstack ironic 学习总结之安装部署
openstack ironic 学习总结之安装部署
一 准备
此文假设你已经安装如下 openstack 的其他组件
1. nova ------- compute service 2. keystone --- identity service 3. glance ----- image service 4. neutron ---- network service
ironic 由下面几部分组成:
1. ironic-api ----------- ironic 组件对外的 API 2. ironic-conductor ----- ironic 真正的干活者 3. ironicclient --------- 4. database 5. message queue
二 keystone 配置
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 安装配置
数据库安装
# 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各组件 可以安装在多个节点上,也可安装在同一个节点上,此安装指导是安装在同一个节点上。
http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/fedora-20/
上述可获取到如下 rpm 包
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 进行安装。
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