openstack云平台keystone服务安装
2020-11-28秦培煜胡艳芬
秦培煜 胡艳芬
1.武汉软件工程职业学院; 2.中国地质大学(武汉)
Keystone服务是openstack云平台里面的认证服务,它的作用主要有三个:认证管理、授权管理和服务目录管理[1]。
在安装keystone服务前,需要先将openstack安装环境搭建好。我们使用单节点来安装openstack,此节点用vmware虚拟出来,操作系统使用centos7。
一、环境搭建
(一)安全
关闭防火墙,禁用selinux。
(二)主机网络
使用两张网卡,第一张网卡作为管理网络,第二张网卡作为外部网络。第一张网卡固定IP为192.168.100.10,第二张网卡不设IP。
编辑/etc/hosts,在文件尾添加新行
192.168.100.10 controller
(三)openstack包
首先配好centos7和openstack的本地yum源。
然后安装openstack客户端
yum install python-openstackclient -y
(四)sql数据库
yum install mariadb mariadb-server python2-PyMySQL -y
创建并编辑 /etc/my.cnf.d/openstack.cnf,编辑如下:
[mysqld]
bind-address = 192.168.100.10
default-storage-engine = innodb
innodb_ file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
启动数据库服务
systemctl enable mariadb
systemctl start mariadb
为了保证数据库服务的安全性,运行mysql_secure_installation。
(五)消息队列
yum install rabbitmq-server -y
systemctl enable rabbitmq-server
systemctl start rabbitmq-server
添加 openstack 用户:
rabbitmqctl add_user openstack 000000
给``openstack``用户配置写和读权限:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
(六)memcach缓存
yum install memcached pythonmemcached -y
systemctl enable memcached
systemctl start memcached
到此,openstack安装环境已经搭建好,下一步开始keystone服务的安装。
二、安装keystone
(一)安装和配置
连接数据库,创建 keystone 数据库:
CREATE DATABASE keystone;
对``keystone``数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'
IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'
IDENTIFIED BY '000000';
生成一个随机值在初始的配置中作为管理员的令牌。
openssl rand -hex 10
5c305b5740b87c406618
yum install openstack-keystone httpd mod_wsgi -y
编辑/etc/keystone/keystone.conf,完成如下:
[DEFAULT]
adm in_token =5c305b5740b87c406618
[database]
connection = mysql+pymysql://keystone:000000@controller/keystone
[token]
provider = fernet
初始化身份认证服务的数据库:
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化Fernet keys:
keystone-manage fernet_setup--keystone-user keystone --keystonegroup keystone
编辑/etc/httpd/conf/httpd.conf 文件,配置``ServerName`` 选项为控制节点:
ServerName controller
新建并编辑创建文件 /etc/httpd/conf.d/wsgi-keystone.conf:
启动 Apache HTTP 服务并配置其随系统启动:
systemctl enable httpd
systemctl start httpd
(二)创建服务实体和API端点
export OS_TOKEN=5c305b5740b87c406618
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
创建服务实体和API端点
openstack service create --name keystone --description "OpenStack Identity" identity
openstack endpoint create --region RegionOne identity public http://controller:5000/v3
openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne identity admin http://controller:35357/v3
(三)创建域、项目、用户和角色
openstack domain create--description "Default Domain" default
openstack project create --domain default --description "Admin Project"admin
openstack user create --domain default --password 000000 admin
openstack role create admin
openstack role add --project admin--user admin admin
openstack project create --domain default --description "Service Project"service
openstack project create --domain default --description "Demo Project"demo
openstack user create --domain default --password 000000 demo
openstack role create user
openstack role add --project demo--user demo user
到此,keystone服务安装完成,后面验证通过即可。