秦培煜 胡艷芬
1.武漢軟件工程職業(yè)學(xué)院; 2.中國地質(zhì)大學(xué)(武漢)
Keystone服務(wù)是openstack云平臺里面的認(rèn)證服務(wù),它的作用主要有三個:認(rèn)證管理、授權(quán)管理和服務(wù)目錄管理[1]。
在安裝keystone服務(wù)前,需要先將openstack安裝環(huán)境搭建好。我們使用單節(jié)點(diǎn)來安裝openstack,此節(jié)點(diǎn)用vmware虛擬出來,操作系統(tǒng)使用centos7。
關(guān)閉防火墻,禁用selinux。
使用兩張網(wǎng)卡,第一張網(wǎng)卡作為管理網(wǎng)絡(luò),第二張網(wǎng)卡作為外部網(wǎng)絡(luò)。第一張網(wǎng)卡固定IP為192.168.100.10,第二張網(wǎng)卡不設(shè)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
創(chuàng)建并編輯 /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
啟動數(shù)據(jù)庫服務(wù)
systemctl enable mariadb
systemctl start mariadb
為了保證數(shù)據(jù)庫服務(wù)的安全性,運(yùn)行mysql_secure_installation。
yum install rabbitmq-server -y
systemctl enable rabbitmq-server
systemctl start rabbitmq-server
添加 openstack 用戶:
rabbitmqctl add_user openstack 000000
給``openstack``用戶配置寫和讀權(quán)限:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
yum install memcached pythonmemcached -y
systemctl enable memcached
systemctl start memcached
到此,openstack安裝環(huán)境已經(jīng)搭建好,下一步開始keystone服務(wù)的安裝。
連接數(shù)據(jù)庫,創(chuàng)建 keystone 數(shù)據(jù)庫:
CREATE DATABASE keystone;
對``keystone``數(shù)據(jù)庫授予恰當(dāng)?shù)臋?quán)限:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'
IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'
IDENTIFIED BY '000000';
生成一個隨機(jī)值在初始的配置中作為管理員的令牌。
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
初始化身份認(rèn)證服務(wù)的數(shù)據(jù)庫:
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`` 選項為控制節(jié)點(diǎn):
ServerName controller
新建并編輯創(chuàng)建文件 /etc/httpd/conf.d/wsgi-keystone.conf:
啟動 Apache HTTP 服務(wù)并配置其隨系統(tǒng)啟動:
systemctl enable httpd
systemctl start httpd
export OS_TOKEN=5c305b5740b87c406618
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
創(chuàng)建服務(wù)實(shí)體和API端點(diǎn)
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服務(wù)安裝完成,后面驗證通過即可。