秦培煜 胡艷芬
1.武漢軟件工程職業學院; 2.中國地質大學(武漢)
Keystone服務是openstack云平臺里面的認證服務,它的作用主要有三個:認證管理、授權管理和服務目錄管理[1]。
在安裝keystone服務前,需要先將openstack安裝環境搭建好。我們使用單節點來安裝openstack,此節點用vmware虛擬出來,操作系統使用centos7。
關閉防火墻,禁用selinux。
使用兩張網卡,第一張網卡作為管理網絡,第二張網卡作為外部網絡。第一張網卡固定IP為192.168.100.10,第二張網卡不設IP。
編輯/etc/hosts,在文件尾添加新行
192.168.100.10 controller
首先配好centos7和openstack的本地yum源。
然后安裝openstack客戶端
yum install python-openstackclient -y
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 ".*" ".*" ".*"
yum install memcached pythonmemcached -y
systemctl enable memcached
systemctl start memcached
到此,openstack安裝環境已經搭建好,下一步開始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
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服務安裝完成,后面驗證通過即可。