1.搭建基础实验环境
1.1系统环境及配置
(1)控制节点:CPU:Huawei Kunpeng 920 2.6GHz,鲲鹏通用计算增强型 | kc1.xlarge.2 | 4vCPUs | 8GB,系统:CentOS 7.6 64bit with ARM,
系统盘:超高IO 100G
计算节点:CPU:Huawei Kunpeng 920 2.6GHz,4vCPUs | 8GB ,系统:CentOS 7.6 64bit with ARM,系统盘:通用性SSD 80G
(2)地址信息配置
控制节点 |
计算节点 |
Jack20(主机名) |
calculate(主机名) |
公网IP(EIP):124.70.35.167 |
公网IP(EIP):119.3.182.66 |
私有IP:192.168.0.76 |
私有IP:192.168.0.131 |
子网掩码:255.255.255.0 |
子网掩码:255.255.255.0 |
1.2 配置域名解析
(1)配置主机名
#主机名设置好就不能修改,否则会出问题!
控制节点:
echo "jack20_controller"> /etc/hostname
cat /etc/hostname
|
计算节点:
echo "calculate"> /etc/hostname
cat /etc/hostname
|
(2)配置主机名解析
注:控制节点和计算节点配置相同
vim /etc/hosts
|
192.168.0.76 jack20_controller
192.168.0.131 calculate block1 1 2
|
# 配置主机名的FQDN格式,和集群内部角色名称方便后续配置
1.3 关闭防火墙和selinux
注:从1.3到1.4控制节点和计算节点配置相同,且都需要配置。
(1)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
|
(2)关闭selinux
进入selinux的config文件,将selinux原来的强制模式(enforcing)修改为关闭模式(disabled)。
setenforce 0
getenforce
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
grep SELINUX=disabled /etc/sysconfig/selinux
cat /etc/sysconfig/selinux
reboot
|
重启后重现连接继续配置
1.4 安装openstack客户端及相关软件
(1)安装openstackstein的仓库
yum install centos-release-openstack-stein -y --nogpgcheck
yum clean all
yum makecache
|
(2)更新软件包
yum update -y --nogpgcheck
|
(3)安装openstack客户端相关软件
yum install python-openstackclient openstack-selinux -y --nogpgcheck
yum clean all
yum makecache
yum -y update --nogpgcheck
|
1.5 在控制节点安装数据库
# 可以修改系统内核更改最大连接数和文件句柄数
(1)安装mariadb相关软件包
yum --enablerepo=centos-openstack-stein install mariadb mariadb-server python2-PyMySQL -y --nogpgcheck
|
(2)创建openstack的数据库配置文件
# 在[mysqld]添加以下配置
vim /etc/my.cnf.d/openstack.cnf
|
[mysqld]
bind-address = 192.168.0.76
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
|
# 配置解释:
defaultstorageengine = innodb //默认存储引擎
innodb_file_per_table //使用独享表空间模式,每一个表都会建一个表空间,都会有索引文件,查索引快,共享表空间,共用一个表空间和索引,如果有损坏很难修复,比如说zabbix用到的数据库如果不使用的独享表空间,很难进行优化
(3)启动数据库设置开机启动
systemctl restart mariadb
systemctl status mariadb
systemctl enable mariadb
systemctl list-unit-files |grep mariadb.service
|
(4)初始化数据库并重新启动
# 设置密码,默认密码为空,所以直接回车,输入Y后再输入两次密码123456,之后一直Y回车。
/usr/bin/mysql_secure_installation
|
systemctl restart mariadb
|
(5)创建openstack相关数据库,进行授权
mysql -p123456
|
flush privileges;
show databases;
select user,host from mysql.user;
exit
|
1.6 在控制节点安装消息队列rabbitmq
消息队列( MQ)全称为 Message Queue, 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企业消息系统。他遵循 Mozilla Public License开源协议。
(1)安装rabbitmq-server
yum --enablerepo=centos-openstack-stein install rabbitmq-server lsof -y --nogpgcheck
|
(2)启动rabbitmq,并配置自启动
# 端口5672,15672,用于排错
systemctl start rabbitmq-server
systemctl status rabbitmq-server
systemctl enable rabbitmq-server
systemctl list-unit-files |grep rabbitmq-server
|
(3)创建消息队列中openstack账号及密码
# 添加openstack用户和密码,配置用户权限,配置读,写权限
rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
|
(4)启用rabbitmq_management插件实现 web 管理
# 查看支持的插件
#启用web管理插件,需要重启服务使之生效
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server
rabbitmq-plugins list
lsof -i:15672 |
(5)浏览器访问RabbitMQ进行测试
访问地址:http://124.70.35.167:15672
# 打开自己电脑中的浏览器后输入上面的网址。首次登陆,默认用户名密码都是guest,需要登录上去修改openstack用户的权限(Tags)
# 打开admin管理标签,点击openstack用户名,打开如下图所示的界面,点击“Update this user”前的三角图标,输入要设置的密码openstack, Tags点击admin设置为administrator,点击“Update user”更新用户设置,最后使用openstack用户进行登陆测试
1.7 在控制节点上安装Memcached
认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,推荐联合启用防火墙、认证和加密保证它的安全。
(1)安装Memcached用于缓存令牌
yum --enablerepo=centos-openstack-stein install memcached python-memcached -y --nogpgcheck
|
(2)修改memcached配置文件
vim /etc/sysconfig/memcached
|
OPTIONS="-l 127.0.0.1,::1,jack20_controller"
|
# 如果没有启用IPv6地址需要删掉::1的地址绑定
(3)启动memcached并设置开机自启动
systemctl start memcached
systemctl status memcached
netstat -anptl|grep memcached
systemctl enable memcached
systemctl list-unit-files |grep memcached |
1.8 在控制节点上安装Etcd服务
# 这个Etcd服务是新加入的,用于自动化配置
(1)安装etcd服务
yum --enablerepo=centos-openstack-stein install etcd -y --nogpgcheck
|
(2)修改etcd配置文件
vim /etc/etcd/etcd.conf
|
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.0.76:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.0.76:2379"
ETCD_NAME="jack20_controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.0.76:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.0.76:2379"
ETCD_INITIAL_CLUSTER="jack20_controller=http://192.168.0.76:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcdcluster01"
ETCD_INITIAL_CLUSTER_STATE="new" |
# 注意上面的IP地址不能用controller替代,无法解析
(3)启动etcd并设置开机自启动
systemctl start etcd
systemctl start etcd
systemctl status etcd
netstat -anptl|grep etcd
systemctl enable etcd
systemctl list-unit-files |grep etcd
|
# 至此,控制节点controller就完成基础环境的配置,下面可以开始安装 openstack 的组件了。
2.安装Keystone认证服务组件(控制节点)
2.1 在控制节点创建keystone相关数据库
#创建keystone数据库并授权
mysql -u root -p123456
|
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
flush privileges;
show databases;
select user,host from mysql.user;
exit
|
2.2 在控制节点安装keystone相关软件包
(1)安装keystone相关软件包
# 配置Apache服务,使用带有“mod_wsgi”的HTTP服务器来相应认证服务请求,端口为5000和35357,默认情况下,Kestone服务仍然监听这些端口
yum --enablerepo=centos-openstack-stein,epel install openstack-keystone httpd mod_wsgi python-keystoneclient openstack-utils -y --nogpgcheck
|
(2)快速修改keystone配置
# 下面使用的快速配置方法需要安装Openstack-utils才可以实现
openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:keystone@jack20_controller/keystone
openstack-config --set /etc/keystone/keystone.conf token provider fernet
|
# 注:keystone不需要连接rabbitmq
# 查看生效的配置
egrep -v "^#|^$" /etc/keystone/keystone.conf
|
#其他方式查看生效配置
grep '^[a-z]' /etc/keystone/keystone.conf
|
# keystone不需要启动,通过http服务进行调用
2.3 初始化同步keystone数据库
(1)同步keystone数据库(47张)
su -s /bin/sh -c "keystone-manage db_sync" keystone
|
(2)同步完成进行连接测试
mysql -p123456
|
grant select,insert,update,delete on *.* to keystone@'%' Identified by "keystone";
exit
|
mysql -h192.168.0.76 -ukeystone -pkeystone -e "use keystone;show tables;"|wc -l
|
2.4 初始化同步keystone数据库
# 以下命令无返回信息
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
|
2.5 配置启动Apache(httpd)
(1)修改httpd主配置文件(大概第95行)
vim /etc/httpd/conf/httpd.conf
|
ServerName jack20_controller
|
(2)配置虚拟主机
# 创建keystone虚拟主机配置文件的快捷方式,也可以复制过来
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
|
(3)启动httpd并配置开机自启动
systemctl start httpd
systemctl status httpd
netstat -anptl|grep httpd
systemctl enable httpd
systemctl list-unit-files |grep httpd
|
注:如果http起不来,需要关闭 selinux 或者安装 yum install openstackselinux
# 至此,http服务配置完成
2.6 初始化keystone认证服务
(1)创建 keystone 用户,初始化的服务实体和API端点
# 在之前的版本(queens之前),引导服务需要2个端口提供服务(用户5000和管理35357),本版本通过同一个端口提供服务
# 创建keystone服务实体和身份认证服务,以下三种类型分别为公共的、内部的、管理的。
export jack20_controller=192.168.0.76
# 需要创建一个密码ADMIN_PASS,作为登陆openstack的管理员用户,这里创建为123456
keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://jack20_controller:5000/v3/ \
--bootstrap-internal-url http://jack20_controller:5000/v3/ \
--bootstrap-public-url http://jack20_controller:5000/v3/ \
--bootstrap-region-id RegionOne
|
# 运行这条命令,会在keystone数据库执增加以下任务,之前的版本需要手动创建:
在endpoint表增加3个服务实体的API端点;在local_user表中创建admin用户;
在project表中创建admin和Default项目(默认域);在role表创建3种角色,admin,member和reader;在service表中创建identity服务。
(2)临时配置管理员账户的相关变量进行管理
# 这里的export OS_PASSWORD要使用上面配置的ADMIN_PASS
export OS_PROJECT_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://jack20_controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export PS1='[\u@\h \W(keystone)]\$ '
|
# 查看声明的变量
2.7 创建keystone的一般实例
(1)创建一个名为example的keystone域
# 以下命令会在project表中创建名为example的项目
openstack domain create --description "An Example Domain" example
|
(2)为keystone系统环境创建名为service的项目提供服务
# 用于常规(非管理)任务,需要使用无特权用户
# 以下命令会在project表中创建名为service的项目
openstack project create --domain default --description "Service Project" service
|
(3)创建myproject项目和对应的用户及角色
# 作为一般用户(非管理员)的项目,为普通用户提供服务
# 以下命令会在project表中创建名为myproject项目
openstack project create --domain default --description "Demo Project" myproject
|
(4)在默认域创建myuser用户
# 使用--password选项为直接配置明文密码,使用--password-prompt选项为交互式输入密码
# 以下命令会在local_user表增加myuser用户
# 直接创建用户和密码
openstack user create --domain default --password=myuser myuser
|
(5)在role表创建myrole角色
openstack role create myrole
|
(6)将myrole角色添加到myproject项目中和myuser用户组中
# 以下命令无返回,数据表操作不太明显
openstack role add --project myproject --user myuser myrole
|
2.8 验证操作keystone是否安装成功
(1)去除环境变量
# 关闭临时认证令牌机制,获取 token,验证keystone配置成功
unset OS_AUTH_URL OS_PASSWORD
env |grep OS_
|
(2)作为管理员用户去请求一个认证的token
# 测试是否可以使用admin账户(密码123456)进行登陆认证,请求认证令牌
openstack --os-auth-url http://jack20_controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
|
(3)使用普通用户获取认证token
# 以下命令使用”myuser“用户的密码(密码和用户名相同)和API端口5000,只允许对身份认证服务API的常规(非管理)访问。
openstack --os-auth-url http://jack20_controller:5000//v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue
|
2.9 创建OpenStack客户端环境脚本
# 上面使用环境变量和命令选项的组合通过“openstack”客户端与身份认证服务交互。
# 为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件,我这里使用自定义的文件名
(1)创建admin用户的环境管理脚本
mkdir -p /server/tools
cd /server/tools
vim admin-openrc.sh
|
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://jack20_controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export PS1='[\u@\h \W(admin-openrc)]\$ '
|
# 应用:如果修改dashboard登陆密码忘记了,可以使用admin_token认证机制修改登陆密码。
(2)创建普通用户myuser的客户端环境变量脚本
vim demo-openrc.sh
|
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=myproject
export OS_USERNAME=myuser
export OS_PASSWORD=myuser
export OS_AUTH_URL=http://jack20_controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export PS1='[\u@\h \W(demo-openrc)]\$ '
|
(3)测试环境管理脚本
# 使用脚本加载相关客户端配置,以便快速使用特定租户和用户运行客户端
cd /server/tools
source admin-openrc.sh
|
(4)请求认证令牌
# 可以看到user_id和上面用命令获取到的是一样的,说明配置成功
3 安装Glance镜像服务组件(控制节点)
3.1 在控制端安装镜像服务glance
#创建glance数据库
mysql -u root -p123456
|
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
flush privileges;
exit
|
3.2 在keystone上面注册glance
(1)在keystone上创建glance用户
# 以下命令在local_user表创建glance用户
cd /server/tools
source admin-openrc.sh
openstack user create --domain default --password=glance glance
openstack user list
|
(2)在keystone上将glance用户添加为service项目的admin角色(权限)
# 以下命令无输出
openstack role add --project service --user glance admin
|
(3)创建glance镜像服务的实体
# 以下命令在service表中增加glance项目
openstack service create --name glance --description "OpenStack Image" image
openstack service list
|
(4)创建镜像服务的 API 端点(endpoint)
# 以下命令会在endpoint表增加3条项目
openstack endpoint create --region RegionOne image public http://jack20_controller:9292
openstack endpoint create --region RegionOne image internal http://jack20_controller:9292
openstack endpoint create --region RegionOne image admin http://jack20_controller:9292
openstack endpoint list
|
# 至此,glance在keystone上面注册完成,可以进行安装
3.3 安装glance相关软件
(1)检查Python版本
# 在安装glance前需要确认系统的Python版本;在当前版本中有一个bug在Python3.5中可能会有ssl方面的问题,以下是详情页面(本文测试是版本为2.7.5):
https://docs.openstack.org/glance/rocky/install/get-started.html#running-glance-under-python3
(2)安装glance软件
yum --enablerepo=centos-openstack-stein,epel install openstack-glance python-glance python-glanceclient -y --nogpgcheck
|
(3)执行以下命令可以快速配置glance-api.conf
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:glance@jack20_controller/glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://jack20_controller:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://jack20_controller:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers jack20_controller:11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password glance
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
|
(4)执行以下命令可以快速配置glance-registry.conf
openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:glance@jack20_controller/glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://jack20_controller:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://jack20_controller:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers jack20_controller:11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password glance
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
|
# 查看生效的配置
grep '^[a-z]' /etc/glance/glance-api.conf
grep '^[a-z]' /etc/glance/glance-registry.conf
|
3.4 同步glance数据库
(1)为glance镜像服务初始化同步数据库
# 生成的相关表(16张表)
su -s /bin/sh -c "glance-manage db_sync" glance
|
(2)同步完成进行连接测试
# 保证所有需要的表已经建立,否则后面可能无法进行下去
mysql -h192.168.0.76 -uglance -pglance -e "use glance;show tables;"
mysql -h192.168.0.76 -uglance -pglance -e "use glance;show tables;"|wc -l
|
3.5 启动glance镜像服务
#启动glance镜像服务、并配置开机自启动
systemctl start openstack-glance-api.service openstack-glance-registry.service
systemctl status openstack-glance-api.service openstack-glance-registry.service
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl list-unit-files |grep openstack-glance*
|
3.6 检查确认glance安装正确
# 可以下载小型的Linux镜像CirrOS用来进行 OpenStack部署测试。
# 下载地址:http://download.cirros-cloud.net/
(1)下载镜像
cd /server/tools
wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-aarch64-disk.img
|
(2)获取管理员权限
(3)上传镜像到glance
# 使用qcow2磁盘格式, bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
openstack image create "cirros" --file cirros-0.5.1-aarch64-disk.img --disk-format qcow2 --container-format bare --public
|
(4)查看镜像
# 至此glance镜像服务安装完成,启动成功
mysql -u root -p123456
|
CREATE DATABASE placement;
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'placement';
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'placement';
flush privileges;
show databases;
select user,host from mysql.user;
exit
|
(5)nova增加了placement项目
# 同样,创建并注册该项目的服务证书
cd /server/tools
source admin-openrc.sh
openstack user create --domain default --password=placement placement
openstack role add --project service --user placement admin
openstack service create --name placement --description "Placement API" placement
|
# 创建placement项目的endpoint(API端口)
openstack endpoint create --region RegionOne placement public http://jack20_controller:8778
openstack endpoint create --region RegionOne placement internal http://jack20_controller:8778
openstack endpoint create --region RegionOne placement admin http://jack20_controller:8778
openstack endpoint list
|
(1)安装nova相关软件包
yum --enablerepo=centos-openstack-stein,epel install openstack-placement-api -y --nogpgcheck
|
(3)快速修改placement配置
openstack-config --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:placement@jack20_controller/placementopenstack-config --set /etc/placement/placement.conf api auth_strategy keystone
openstack-config --set /etc/placement/placement.conf keystone_authtoken auth_url http://jack20_controller:5000/v3
openstack-config --set /etc/placement/placement.conf keystone_authtoken memcached_servers jack20_controller:11211
openstack-config --set /etc/placement/placement.conf keystone_authtoken auth_type password
openstack-config --set /etc/placement/placement.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/placement/placement.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/placement/placement.conf keystone_authtoken project_name service
openstack-config --set /etc/placement/placement.conf keystone_authtoken username placement
openstack-config --set /etc/placement/placement.conf keystone_authtoken password placement |
# 检查生效的nova配置
egrep -v "^#|^$" /etc/placement/placement.conf
|
(4)修改nova的虚拟主机配置文件
# 由于有个包的bug需要配置修改文件,需要修改nova虚拟主机配置文件,增加内容,完整的文件内容如下
vim /etc/httpd/conf.d/00-placement-api.conf
|
Listen 8778
<VirtualHost *:8778>
WSGIProcessGroup placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess placement-api processes=3 threads=1 user=placement group=placement
WSGIScriptAlias / /usr/bin/placement-api
# <IfVersion >= 2.4>
# ErrorLogFormat "%M"
# </IfVersion>
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
ErrorLog /var/log/placement/placement-api.log
#SSLEngine On
#SSLCertificateFile ...
#SSLCertificateKeyFile ...
</VirtualHost>
Alias /placement-api /usr/bin/placement-api
<Location /placement-api>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
|
# placement有13张表
(1)初始化placement数据库
su -s /bin/sh -c "placement-manage db sync" placement
|
# 修改完毕重启httpd服务
systemctl restart httpd
systemctl status httpd
|
# 验证数据库
mysql -h192.168.0.76 -uplacement -pplacement -e "use placement;show tables;"
mysql -h192.168.0.76 -uplacement -pplacement -e "use placement;show tables;"|wc -l
|
通过对比可知,placement有34张表
cd /server/tools
source admin-openrc.sh
placement-status upgrade check
|
>>点击我继续查看利用鲲鹏服务器搭建OpenStack平台实践(中)<<
将继续讲述:
4 安装Nova计算服务(控制节点)
5 安装Nova计算服务(计算节点)
6 安装Neutron网络服务(控制节点)
评论(0)