一、基礎(chǔ)環(huán)境
OpenStack云計(jì)算環(huán)境的搭建是基于虛擬機(jī)的多節(jié)點(diǎn)Linux網(wǎng)絡(luò)環(huán)境基礎(chǔ)上搭建起來(lái)的,所以需要我們先搭建好集群環(huán)境。(基礎(chǔ)環(huán)境搭建參考:基于虛擬機(jī)的多節(jié)點(diǎn)Linux網(wǎng)絡(luò)環(huán)境搭建)
1.基本環(huán)境信息回顧
操作系統(tǒng):CentOS7
controller節(jié)點(diǎn)IP:192.168.43.199
compute節(jié)點(diǎn)IP:192.168.43.74
neutron節(jié)點(diǎn)IP:192.168.43.180
說(shuō)明:這里我的IP之所以和基于虛擬機(jī)的多節(jié)點(diǎn)Linux網(wǎng)絡(luò)環(huán)境搭建這篇文章中的不一樣,是因?yàn)槲抑匦麓罱谁h(huán)境,IP也重新分配了,所以后續(xù)的IP就以我這里列出來(lái)的為主。
2.基本環(huán)境網(wǎng)絡(luò)測(cè)試
我們先測(cè)試一下網(wǎng)絡(luò)的連通性,具體過(guò)程見(jiàn):基于虛擬機(jī)的多節(jié)點(diǎn)Linux網(wǎng)絡(luò)環(huán)境搭建
如果網(wǎng)絡(luò)沒(méi)問(wèn)題,我們就可以開(kāi)開(kāi)心心的繼續(xù)下面的內(nèi)容啦!
二、實(shí)現(xiàn)過(guò)程
1.配置阿里yum源(所有節(jié)點(diǎn))
備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下載
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2.安裝NTP時(shí)鐘服務(wù)(所有節(jié)點(diǎn))
- controller節(jié)點(diǎn)
安裝軟件包
yum install chrony -y
編輯vi /etc/chrony.conf文件,配置時(shí)鐘源同步服務(wù)端
server controlelr iburst ##所有節(jié)點(diǎn)向controller節(jié)點(diǎn)同步時(shí)間
allow 192.168.43.0/199 ##設(shè)置時(shí)間同步網(wǎng)段
設(shè)置NTP服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable chronyd.service
systemctl start chronyd.service
- compute節(jié)點(diǎn)和neutron節(jié)點(diǎn)
安裝軟件包
yum install chrony -y
編輯vi /etc/chrony.conf文件,配置所有節(jié)點(diǎn)指向controller同步時(shí)間
server controlelr iburst
設(shè)置NTP服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable chronyd.service
systemctl start chronyd.service
- 驗(yàn)證時(shí)鐘同步服務(wù)
chronyc sources
3.openstack服務(wù)安裝、配置(所有節(jié)點(diǎn))
下載安裝openstack軟件倉(cāng)庫(kù)(queens版本)
yum install centos-release-openstack-queens -y
更新所有節(jié)點(diǎn)軟件包
yum upgrade
安裝openstack client端
yum install python-openstackclient -y
安裝openstack-selinux
yum install openstack-selinux -y
4.安裝數(shù)據(jù)庫(kù)(controller節(jié)點(diǎn))
安裝軟件包
yum install mariadb mariadb-server python2-PyMySQL -y
編輯/etc/my.cnf.d/mariadb-server.cnf并完成以下配置(說(shuō)明:bind-address使用controller節(jié)點(diǎn)的管理IP)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
bind-address = 192.168.43.199
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable mariadb.service
systemctl start mariadb.service
通過(guò)運(yùn)行mysql_secure_installation腳本來(lái)保護(hù)數(shù)據(jù)庫(kù)服務(wù)。(說(shuō)明:運(yùn)行命令后,需要先輸入密碼,我們可以不用輸入直接回車(chē)?yán)^續(xù)即可。)
5.安裝、配置RabbitMQ(controller節(jié)點(diǎn))
安裝配置消息隊(duì)列組件
yum install rabbitmq-server -y
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
添加openstack 用戶(hù)
rabbitmqctl add_user openstack 123456
openstack用戶(hù)的權(quán)限配置
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
6.安裝緩存數(shù)據(jù)庫(kù)Memcached(controller節(jié)點(diǎn))
安裝配置組件
yum install memcached python-memcached -y
編輯vi /etc/sysconfig/memcached
OPTIONS="-l 192.168.43.199,::1,controller"
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable memcached.service
systemctl start memcached.service
7.Etcd服務(wù)安裝(controller節(jié)點(diǎn))
安裝服務(wù)
yum install etcd -y
編輯/etc/etcd/etcd.conf文件
ETCD_INITIAL_CLUSTER
ETCD_INITIAL_ADVERTISE_PEER_URLS
ETCD_ADVERTISE_CLIENT_URLS
ETCD_LISTEN_CLIENT_URLS
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.43.199:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.43.199:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.43.199:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.43.199:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.43.199:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable etcd;systemctl start etcd
8.安裝keystone組件(controller節(jié)點(diǎn))
創(chuàng)建keystone數(shù)據(jù)庫(kù)并授權(quán)
mysql -u root -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';
安裝、配置組件
yum install openstack-keystone httpd mod_wsgi -y
編輯 /etc/keystone/keystone.conf
[database]
connection = mysql+pymysql://keystone:123456@controller/keystone
[token]
provider = fernet
同步keystone數(shù)據(jù)庫(kù)
su -s /bin/sh -c "keystone-manage db_sync" keystone
數(shù)據(jù)庫(kù)初始化
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引導(dǎo)身份認(rèn)證服務(wù)
keystone-manage bootstrap --bootstrap-password 123456 --bootstrap-admin-url http://controller:35357/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
9.配置apache http服務(wù)(controller節(jié)點(diǎn))
編輯/etc/httpd/conf/httpd.conf,配置ServerName參數(shù)
ServerName controller
創(chuàng)建 /usr/share/keystone/wsgi-keystone.conf鏈接文件
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable httpd.service
systemctl start httpd.service
配置administrative賬號(hào)
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
10.創(chuàng)建 domain, projects, users, roles(controller節(jié)點(diǎn))
創(chuàng)建域
openstack domain create --description "Domain" example
創(chuàng)建服務(wù)項(xiàng)目
openstack project create --domain default --description "Service Project" service
創(chuàng)建平臺(tái)demo項(xiàng)目
openstack project create --domain default --description "Demo Project" demo
創(chuàng)建demo用戶(hù)
openstack user create --domain default --password-prompt demo
創(chuàng)建用戶(hù)角色
openstack role create user
添加用戶(hù)角色到demo項(xiàng)目和用戶(hù)
openstack role add --project demo --user demo user
11.驗(yàn)證操作(controller節(jié)點(diǎn))
取消環(huán)境變量
unset OS_AUTH_URL OS_PASSWORD
admin用戶(hù)返回的認(rèn)證token
openstack --os-auth-url http://controller:35357/v3 \
> --os-project-domain-name Default --os-user-domain-name Default \
> --os-project-name admin --os-username admin token issue
demo用戶(hù)返回的認(rèn)證token
openstack --os-auth-url http://controller:5000/v3 \
> --os-project-domain-name Default --os-user-domain-name Default \
> --os-project-name demo --os-username demo token issue
12.創(chuàng)建openstack 客戶(hù)端環(huán)境腳本(controller節(jié)點(diǎn))
創(chuàng)建admin-openrc腳本(vim admin-openrc)
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
創(chuàng)建demo-openrc腳本(vim demo-openrc)
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
使用腳本,返回認(rèn)證token
openstack token issue
13.安裝Glance服務(wù)(controller節(jié)點(diǎn))
創(chuàng)建glance數(shù)據(jù)庫(kù),并授權(quán)
mysql -u root -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';
獲取admin用戶(hù)的環(huán)境變量,并創(chuàng)建服務(wù)認(rèn)證
. admin-openrc
注意:這里點(diǎn)后面有一個(gè)空格
創(chuàng)建glance用戶(hù)
openstack user create --domain default --password-prompt glance
把a(bǔ)dmin用戶(hù)添加到glance用戶(hù)和項(xiàng)目中
openstack role add --project service --user glance admin
創(chuàng)建glance服務(wù)
openstack service create --name glance --description "OpenStack Image" image
創(chuàng)建鏡像服務(wù)API端點(diǎn)
openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292
14.安裝和配置組件(controller節(jié)點(diǎn))
安裝軟件包
yum install openstack-glance -y
編輯/etc/glance/glance-api.conf文件
[database]
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123456
[paste_deploy]
flavor = keystone
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
編輯/etc/glance/glance-registry.conf
[database]
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123456
[paste_deploy]
flavor = keystone
同步鏡像服務(wù)數(shù)據(jù)庫(kù)
su -s /bin/sh -c "glance-manage db_sync" glance
設(shè)置開(kāi)機(jī)啟動(dòng)并開(kāi)啟服務(wù)
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl start openstack-glance-api.service openstack-glance-registry.service
15.驗(yàn)證操作(controller節(jié)點(diǎn))
使用CirrOS驗(yàn)證Image服務(wù)的操作,這是一個(gè)小型Linux映像,可幫助您測(cè)試OpenStack部署。
有關(guān)如何下載和構(gòu)建映像的更多信息,請(qǐng)參閱OpenStack虛擬機(jī)映像指南https://docs.openstack.org/image-guide/
有關(guān)如何管理映像的信息,請(qǐng)參閱OpenStack最終用戶(hù)指南https://docs.openstack.org/queens/user/
獲取admin用戶(hù)的環(huán)境變量,且下載鏡像
. admin-openrc
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
上傳鏡像(使用QCOW2磁盤(pán)格式,裸容器格式和公開(kāi)可見(jiàn)性將圖像上傳到Image服務(wù),以便所有項(xiàng)目都可以訪(fǎng)問(wèn)它)
openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public
查看上傳的鏡像
openstack image list
說(shuō)明:glance具體配置選項(xiàng): https://docs.openstack.org/glance/queens/configuration/index.html
16.安裝和配置compute服務(wù)(controller節(jié)點(diǎn))
創(chuàng)建nova_api, nova, nova_cell0數(shù)據(jù)庫(kù)
mysql -u root -p
CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
數(shù)據(jù)庫(kù)登錄授權(quán)
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123456';
創(chuàng)建nova用戶(hù)
. admin-openrc
openstack user create --domain default --password-prompt nova
添加admin用戶(hù)為nova用戶(hù)
openstack role add --project service --user nova admin
創(chuàng)建nova服務(wù)端點(diǎn)
openstack service create --name nova --description "OpenStack Compute" compute
創(chuàng)建compute API 服務(wù)端點(diǎn)
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
創(chuàng)建一個(gè)placement服務(wù)用戶(hù)
openstack user create --domain default --password-prompt placement
添加placement用戶(hù)為項(xiàng)目服務(wù)admin角色
openstack role add --project service --user placement admin
創(chuàng)建在服務(wù)目錄創(chuàng)建Placement API服務(wù)
openstack service create --name placement --description "Placement API" placement
創(chuàng)建Placement API服務(wù)端點(diǎn)
openstack endpoint create --region RegionOne placement public http://controller:8778
openstack endpoint create --region RegionOne placement internal http://controller:8778
openstack endpoint create --region RegionOne placement admin http://controller:8778
17.安裝和配置組件(controller節(jié)點(diǎn))
安裝軟件包
yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
編輯 /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:123456@controller
my_ip = 192.168.43.199
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database]
connection = mysql+pymysql://nova:123456@controller/nova_api
[database]
connection = mysql+pymysql://nova:123456@controller/nova
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = 123456
由于軟件包的一個(gè)bug,需要在/etc/httpd/conf.d/00-nova-placement-api.conf文件中添加如下配置
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
重新http服務(wù)
systemctl restart httpd
同步nova-api數(shù)據(jù)庫(kù)
su -s /bin/sh -c "nova-manage api_db sync" nova
注冊(cè)cell0數(shù)據(jù)庫(kù)
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
創(chuàng)建cell1 cell
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
同步nova數(shù)據(jù)庫(kù)
su -s /bin/sh -c "nova-manage db sync" nova
驗(yàn)證 nova、 cell0、 cell1數(shù)據(jù)庫(kù)是否注冊(cè)正確
nova-manage cell_v2 list_cells
設(shè)置服務(wù)為開(kāi)機(jī)啟動(dòng)
systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
18.安裝和配置compute節(jié)點(diǎn)服務(wù)(compute節(jié)點(diǎn))
安裝軟件包
yum install openstack-nova-compute
編輯/etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:123456@controller
my_ip = 192.168.43.74
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://192.168.43.74:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[vnc]
enabled = True
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = 123456
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
19.在controller節(jié)點(diǎn)驗(yàn)證計(jì)算服務(wù)操作(controller節(jié)點(diǎn))
添加compute節(jié)點(diǎn)到cell數(shù)據(jù)庫(kù),驗(yàn)證有幾個(gè)計(jì)算節(jié)點(diǎn)在數(shù)據(jù)庫(kù)中
. admin-openrc
openstack compute service list --service nova-compute
發(fā)現(xiàn)計(jì)算節(jié)點(diǎn)
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
列出服務(wù)組件
. admin-openrc
openstack compute service list
列出身份服務(wù)中的API端點(diǎn)以驗(yàn)證與身份服務(wù)的連接
openstack catalog list
列出鏡像
openstack image list
檢查cells和placement API是否正常
nova-status upgrade check
20.安裝和配置controller節(jié)點(diǎn)neutron網(wǎng)絡(luò)配置(controller節(jié)點(diǎn))
創(chuàng)建nuetron數(shù)據(jù)庫(kù)和授權(quán)
mysql -u root -p
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';
創(chuàng)建服務(wù)
. admin-openrc
openstack user create --domain default --password-prompt neutron
添加admin角色為neutron用戶(hù)
openstack role add --project service --user neutron admin
創(chuàng)建neutron服務(wù)
openstack service create --name neutron --description "OpenStack Networking" network
創(chuàng)建網(wǎng)絡(luò)服務(wù)端點(diǎn)
openstack endpoint create --region RegionOne network public http://controller:9696
openstack endpoint create --region RegionOne network internal http://controller:9696
openstack endpoint create --region RegionOne network admin http://controller:969
21.配置網(wǎng)絡(luò)部分(controller節(jié)點(diǎn))
安裝組件
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
配置服務(wù)組件,編輯 /etc/neutron/neutron.conf
[database]
connection = mysql+pymysql://neutron:123456@controller/neutron
[DEFAULT]
auth_strategy = keystone
core_plugin = ml2
service_plugins =
transport_url = rabbit://openstack:123456@controller
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123456
[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 123456
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
22.配置網(wǎng)絡(luò)二層插件(controller節(jié)點(diǎn))
編輯/etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[securitygroup]
enable_ipset = true
23.配置Linux網(wǎng)橋(controller節(jié)點(diǎn))
編輯 /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eno16777736
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
24.配置DHCP服務(wù)(controller節(jié)點(diǎn))
編輯 /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
25.配置metadata(controller節(jié)點(diǎn))
編輯 /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_host = controller
metadata_proxy_shared_secret = 123456
26.配置計(jì)算服務(wù)使用網(wǎng)絡(luò)服務(wù)(controller節(jié)點(diǎn))
編輯/etc/nova/nova.conf
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 123456
service_metadata_proxy = true
metadata_proxy_shared_secret = 123456
27.完成安裝(controller節(jié)點(diǎn))
創(chuàng)建服務(wù)軟連接
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
同步數(shù)據(jù)庫(kù)
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
重啟compute API服務(wù)
systemctl restart openstack-nova-api.service
配置網(wǎng)絡(luò)服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
28.配置compute節(jié)點(diǎn)網(wǎng)絡(luò)服務(wù)(compute節(jié)點(diǎn))
安裝組件
yum install openstack-neutron-linuxbridge ebtables ipset
配置公共組件,編輯/etc/neutron/neutron.conf
[DEFAULT]
auth_strategy = keystone
transport_url = rabbit://openstack:123456@controller
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123456
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
29.配置網(wǎng)絡(luò)(controller節(jié)點(diǎn))
配置Linux網(wǎng)橋,編輯 /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eno16777736
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
30.配置計(jì)算節(jié)點(diǎn)網(wǎng)絡(luò)服務(wù)(controller節(jié)點(diǎn))
編輯/etc/nova/nova.conf
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 123456
31.完成安裝(compute節(jié)點(diǎn))
重啟compute服務(wù)
systemctl restart openstack-nova-compute.service
設(shè)置網(wǎng)橋服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service
32.在controller節(jié)點(diǎn)安裝Horizon服務(wù)(controller節(jié)點(diǎn))
安裝軟件包
yum install openstack-dashboard -y
編輯/etc/openstack-dashboard/local_settings
OPENSTACK_HOST = "controller"
ALLOWED_HOSTS = ['*']
配置memcache會(huì)話(huà)存儲(chǔ)
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'controller:11211',
}
}
開(kāi)啟身份認(rèn)證API 版本v3
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
開(kāi)啟domains版本支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
配置API版本
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}
完成安裝,重啟web服務(wù)和會(huì)話(huà)存儲(chǔ)
systemctl restart httpd.service memcached.service
33.訪(fǎng)問(wèn)openstack的web頁(yè)面
Domain:default
用戶(hù)名:admin
密碼:123456
在瀏覽器輸入http://192.168.43.199/dashboard/(或者h(yuǎn)ttp://controller/dashboard/),訪(fǎng)問(wèn)openstack的web頁(yè)面
至此,我們已經(jīng)成功搭建好了OpenStack的云計(jì)算環(huán)境!
小可愛(ài)們,真的太棒啦!趕緊獎(jiǎng)勵(lì)自己一個(gè)大大的雞腿吧!?。?br>
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-757649.html
閱讀參考:
社區(qū)OpenStack Queens版本部署安裝詳解(主要參考)
openstack-dashboard-登陸后顯示報(bào)錯(cuò)(我遇到問(wèn)題,使用此方案解決了)
OpenStack官方文檔
Openstack架構(gòu)構(gòu)建及詳解
openstack安裝之基礎(chǔ)環(huán)境準(zhǔn)備篇
登錄dashboard時(shí)出現(xiàn)Internal Server Error文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-757649.html
到了這里,關(guān)于【云計(jì)算OpenStack-OpenStack Queens版本】基于OpenStack的云計(jì)算環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!