The building process of IaaS platform
Basic configuration:
Controller:
1. Modify the hostname: hostnamectl set-hostname controller 2. Turn off the firewall and set the boot not to boot: systemctl stop firewalld systemctl disable firewalld 3. Modify hosts file: 192.168.214.10 controller 193.168.214.20 compute 4. Modify selinux to permissive: vi / etc/selinux/config SELINUX=permissive; setenforce 0 5. Create a directory and upload the image and mount it: mkdir / opt/ {centos,iaas}; upload the image CentOS-7-x86_64-DVD-1511.iso XianDian-IaaS-v2.2.iso to the / opt directory mount-o loop CentOS-7-x86_64-DVD-1511.iso centos/ mount-o loop XianDian-IaaS-v2.2.iso iaas/ 6. Write Yum source: mkdir / yum; mv / etc/yum.repos.d/ / yum vi / etc/yum.repos.d/local.repo [centos] name=centos baseurl= file://opt/centos enabled=1 gpgcheck=0 [iaas] name=iaas baseurl= file://opt/iaas enabled=1 gpgcheck=0 7. Verify the Yum source: yum clean all yum repolist 8. Install and configure the ftp service: yum install vsftpd-y vi / etc/vsftpd/vsftpd.conf anon_root=/opt systemctl enable vsftpd systemctl restart vsftpd 9. Install iaas-xiandian and configure the environment variable sed-I-e "s/PASS=/PASS=000000/"-e "s / ^ # /" / etc/xiandian/openrc.sh vi / etc/xiandian/openrc.sh HOST_IP=192.168.214.10 HOST_NAME=controller HOST_IP_NODE=192.168.214.20 HOST_NAME_NODE=compute RABBIT_USER=openstack RABBIT_PASS=000000 DB_PASS=000000 DOMAIN_NAME=demo ADMIN_PASS=000000 DEMO_PASS=000000 KEYSTONE_DBPASS=000000 GLANCE_DBPASS=000000 GLANCE_PASS=000000 NOVA_DBPASS=000000 NOVA_PASS=000000 NEUTRON_DBPASS=000000 NEUTRON_PASS=000000 METADATA_SECRET=000000 INTERFACE_NAME=eno33554976 (name of public network card) minvlan=101 maxvlan=200 CINDER_DBPASS=000000 CINDER_PASS=000000 BLOCK_DISK=sdb1 (blank partition) TROVE_DBPASS=000000 TROVE_PASS=000000 SWIFT_PASS=000000 OBJECT_DISK=sdb2 (blank partition) STORAGE_LOCAL_NET_IP=192.168.214.20 HEAT_DBPASS=000000 HEAT_PASS=000000 CEILOMETER_DBPASS=000000 CEILOMETER_PASS=000000 AODH_DBPASS=000000 AODH_PASS=000000
Compute:
1. Modify the hostname: hostnamectl set-hostname compute 2. Turn off the firewall and set the boot not to boot: systemctl stop firewalld systemctl disable firewalld 3. Modify hosts file: 192.168.214.10 controller 193.168.214.20 compute 4. Modify selinux to permissive: vi / etc/selinux/config SELINUX=permissive; setenforce 0 5. Configure the YUM source: mkdir / yum mv / etc/yum.repos.d/ / yum vi / etc/yum.repos.d/ftp.repo [centos] name=centos baseurl= ftp://controller/centos enabled=1 gpgcheck=0 [iaas] name=iaas baseurl= ftp://controller/iaas/iaas-repo enabled=1 gpgcheck=0 6. Verify the Yum source: yum clean all yum repolist 7. Copy the environment variables from the controller node: scp controller:/etc/xiandian/openrc / etc/xiandian
Deployment of each component
Controller:
1. Execute script iaas-pre-host.sh (executed with compute nodes) 2.mysql deployment: iaas-install-mysql.sh (deployed on controller nodes only) 3.keystone deployment: iaas-install-keystone.sh (deployed on controller nodes only) 4.glance deployment: iaas-install-glance.sh (deployed on controller nodes only) 5.nova deployment : iaas-install-nova-controller.sh (first executed on the controller node Execute nova script for compute node after completion) 6.neutron deployment: iaas-install-neutron-controller.sh (execute at controller node first, then execute eutron script for compute node after completion) neutron-gre: iaas-install-neutron-controller-gre.sh (execute at controller node first Execute neutron-gre script of compute node after completion) 7.dashboard deployment: iaas-install-dashboard.sh (log in to the interface to access the daoshboard interface after execution) 8.cinder deployment: iaas-install-cinder-controller.sh (execute on controller node, execute cinder script of compute node after completion) 9.swift deployment: iaas-install-swift-controller.sh (execute on controller node first Execute swift script for compute node after completion) 10.trove deployment: the network must be created before deployment, otherwise this script cannot be executed iaas-install-trover.sh (deployed on controller node only) 11.heat deployment: iaas-install-heat.sh (deployed on controller node only) 12.ceilometer deployment: iaas-install-ceilometer.sh (executed on controller node first Execute ceilometer script for compute node after completion) 13.alarm deployment: iaas-install-alarm.sh (deployed on controller node only)
Compute:
1. Execute script iaas-pre-host.sh (executed with controller node) 2.nova deployment: iaas-install-nova-compute.sh (execute on controller node first, then execute nova script of compute node after completion) 3.neutron deployment: iaas-install-neutron-controller.sh (execute on controller node first Execute the eutron script of the compute node after completion) neutron-gre: iaas-install-neutron-controller-gre.sh (execute the neutron-gre script of the compute node after completion) 4.cinder deployment: iaas-install-cinder-controller.sh (execute first on the controller node Execute cinder script of compute node after completion) 5.swift deployment: iaas-install-swift-controller.sh (execute swift script of compute node first, then execute swift script of compute node) 6.ceilometer deployment: iaas-install-ceilometer.sh (execute ceilometer script of compute node after execution on controller node)