openstack ironic 學習總結之安裝部署

一  準備
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

  1. 數據庫安裝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

相關文章
相關標籤/搜索