OpenStack-Keystone(Pike版本)配置过程

#openstack #keystone #deployment

注:如需转载,注明出处,谢谢。

如有问题,请留言或私信我以便修改,谢谢。

 

实验环境

CentOS 7.4

MacBook Air (远端服务器上POWER架构的服务器 )

Openstack版本:Pike

 

禁用SELINUX

SELINUX是Linux的一个安全子系统,他可以控制程序只能访问特定的文件,因为我们要修改一些配置文件,为了防止不能用vi修改,需要打开防火墙。

'''

修改/etc/selinux/config

'''

#...

SELINUX = disabled

#...

然后重启主机,使得改变有效。

 

安装epel解除安装包的依赖关系

 

sudo yum install epel

 

同步本机时间

 

sudo yum install chrony

 

sudo nano /etc/chrony.cnf

#添加server的ip地址(可随意选择自己喜欢的,如server 202.120.2.101 iburst 上海交通大学的服务器,在这里我选择了我们实验用的服务器)

server 9.114.219.12 iburst

 

sudo systemctl enable chronyd.service 

sudo systemctl start chronyd.service  

 

安装MariaDBMS

 

sudo yum install mariadb mariadb-server python2-PyMySQL 

 

sudo nano /etc/my.cnf.d/openstack.cnf 

#添加内容

[mysqld]

bind-address = 9.114.111.207(本虚拟机ip)

 

default-storage-engine = innodb 

innodb_file_per_table = on 

max_connections = 4096

collation-server = utf8_general_ci

character-set-server = utf8 

 

sudo systemctl enable mariadb.service

sudo systemctl start mariadb.service

 

mysql_secure_installation (安全性能权限设置,所有选项默认y)

 

创建Power描述文件(若虚拟机服务器为x86架构,此步骤可省去)

 

由于远端使用的是Power架构的处理机,而keystone service也算是x86架构的一个web app,所以需要一个描述文件,使得keystone能够安装在power架构的机器上。

sudo nano etc/yum.repos.d/rdo.repo 

#添加内容

[rdo-pike]

name=RDO 

Pike baseurl=http://mirror.centos.org/centos/7/cloud/x86_64/openstack-pike 

enabled=1

gpgcheck=0 

 

[rdo-pike-dependency]

name=RDO Pike Dependency for PowerLinux

baseurl=ftp://ftp.unicamp.br/pub/ppc64el/centos/7_4/openstack/pike/ 

enabled=1

gpgcheck=0 

 

创建Keystone自己的Database

 

OpenStack每一个服务都需要有一个自己的database来记录信息,Keystone更是如此,且此步骤是在安装Keystone之前就要做好的。

mysql -u root -p

 

CREATE DATABASE keystone;

 

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'KEYSTONE_DBPASS';

 

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY 'KEYSTONE_DBPASS'; 

 

改变KEYSTONE_DBPASS 如:123 

 

安装Keystone以及 httpd 和 mod-wsgi

 

sudo yum install openstack-keystone httpd mod-wsgi

# 确保这三项全部安装成功

sudo nano /etc/keystone/keystone.conf 

‘’修改database段的connection,以及token段的provider‘’

[database]

# ...

connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone 

 

[token]

# ...

provider = fernet 

 

KEYSTONE_DBPASS与前面对应(如:123)

controller改为9.114.111.207(虚拟机IP地址)

 

配置Keystone&配置Apache HTTP server(此部分大多在root下进行)

 

sudo -i 

 

'''

配置Keystone

'''

su -s /bin/sh -c "keystone-manage db_sync" keystone

 

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

 

keystone-manage credential_setup --keystone-user keystone --keystone-group keystone 

 

keystone-manage bootstrap --bootstrap-password ADMIN_PASS \

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

# controller改成本机IP地址9.114.111.207

# ADMIN_PASS改为你设定的

 

#配置Apache HTTP Server

nano /etc/httpd/conf/httpd.conf

#修改ServerName

ServerName 9.114.111.207

#链接配置文件(安装过程中进行一次即可)

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

systemctl enable httpd.service

systemctl start httpd.service

 

'''

此时可以exit root

'''

export OS_USERNAME=admin

export OS_PASSWORD=ADMIN_PASS

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

#同样,controller改为9.114.111.207

#ADMIN_PASS也要与前面设置的对应,我没有设置,就是ADMIN_PASS.

 

遇到的问题

 

  1. MariaDB没有正常启动和连接到Keystone服务
  • 原因:Database的配置文件没有修改bind-adress为9.114.111.207,且由于bind-adress错误导致最开始MariaDB无法启动;
  • 解决:删除原先创建的keystone的database,并按照前面描述的重新修改配置文件;

 

  1. Apache HTTP 无法连接到 endpoint
  • 原因:没有在root下进行连接等操作,导致获取到的权限不够,一部分操作无法完成。
  • 解决:sudo -i 然后重新进行keystone以及apache http的配置,并且所有的Apache HTTP配置语句的controller都改成9.114.111.1207;

 

参考文献以及验证

  • 前面的安装步骤参考文献(openstack官方文档)是

OpenStack Docs: SQL database for RHEL and CentOS

OpenStack Docs: Install and configure

  • 到了这里,Keystone的安装已经完成,可以使用openstack的api进行验证是否安装成功,如:

#直接执行下面的命令,若出现table,则说明安装成功

openstack project create --domain default \

  --description "Service Project" service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值