简单的利用鲲鹏服务器搭建OpenStack平台实践(上)

举报
Jack20 发表于 2021/01/13 14:18:36 2021/01/13
【摘要】 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 Kunp...

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

image.png


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格式,和集群内部角色名称方便后续配置

image.png

1.3 关闭防火墙和selinux

注:从1.3到1.4控制节点和计算节点配置相同,且都需要配置。

(1)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

image.png

image.png

(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

image.png

重启后重现连接继续配置

1.4 安装openstack客户端及相关软件

(1)安装openstack­stein的仓库

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

# 配置解释:

default­storage­engine = innodb //默认存储引擎

innodb_file_per_table //使用独享表空间模式,每一个表都会建一个表空间,都会有索引文件,查索引快,共享表空间,共用一个表空间和索引,如果有损坏很难修复,比如说zabbix用到的数据库如果不使用的独享表空间,很难进行优化

(3)启动数据库设置开机启动

systemctl restart mariadb
systemctl status mariadb
systemctl enable mariadb
systemctl list-unit-files |grep mariadb.service

image.png

(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


image.png

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

image.png

(3)创建消息队列中openstack账号及密码

# 添加openstack用户和密码,配置用户权限,配置读,写权限

rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

image.png

(4)启用rabbitmq_management插件实现 web 管理

# 查看支持的插件

rabbitmq-plugins list

image.png

#启用web管理插件,需要重启服务使之生效

rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server
rabbitmq-plugins list
lsof -i:15672

image.png

(5)浏览器访问RabbitMQ进行测试

访问地址:http://124.70.35.167:15672

image.png

# 打开自己电脑中的浏览器后输入上面的网址。首次登陆,默认用户名密码都是guest,需要登录上去修改openstack用户的权限(Tags)

# 打开admin管理标签,点击openstack用户名,打开如下图所示的界面,点击“Update this user”前的三角图标,输入要设置的密码openstack, Tags点击admin设置为administrator,点击“Update user”更新用户设置,最后使用openstack用户进行登陆测试

1.png



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

image.png 


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="etcd­cluster­01"
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 的组件了。

image.png



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

image.png

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

image.png

#其他方式查看生效配置

grep '^[a-z]' /etc/keystone/keystone.conf

image.png

# 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

image.png

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

image.png

(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 openstack­selinux

image.png

# 至此,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

image.png

# 运行这条命令,会在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)]\$ '

# 查看声明的变量

env |grep OS_

image.png

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_

image.png

(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

image.png

(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

image.png

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认证机制修改登陆密码。

image.png

(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)请求认证令牌

openstack token issue

image.png

# 可以看到user_id和上面用命令获取到的是一样的,说明配置成功


安装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

python --version

image.png

(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

 image.png

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

image.png

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*


1.png

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)获取管理员权限

source admin-openrc.sh

(3)上传镜像到glance

# 使用qcow2磁盘格式, bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

openstack image create "cirros" --file cirros-0.5.1-aarch64-disk.img --disk-format qcow2 --container-format bare --public

(4)查看镜像

openstack image list

# 至此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

 image.png

(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

 image.png

(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

image.png

(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

image.png

# 验证数据库

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

image.png

通过对比可知,placement有34张表

cd /server/tools
source admin-openrc.sh
placement-status upgrade check

 image.png

>>点击我继续查看利用鲲鹏服务器搭建OpenStack平台实践(中)<<

将继续讲述:

4 安装Nova计算服务(控制节点)

5 安装Nova计算服务(计算节点)

6 安装Neutron网络服务(控制节点)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。