今天就開始來說講安裝openstack中的組件,那麼就從keystone這個安全認證服務來安裝吧,固然,在安裝前都是有一些準備工做要作的。python
首先來講下keystone是幹啥的吧。mysql
其實在早起的openstack中是沒有keystone這個組件的,一些安全認證例如,用戶、消息、API調用的認證等都是在Nova這個模塊中的。sql
可是在後來的開發中,因爲各類各樣的模塊加入到openstack中,安全認證涉及到的方面就更廣了,如:用戶登錄、用戶消息傳遞、模塊消息通訊、服務註冊等各不相同的認證,處理這些不一樣的安全認證變的也愈來愈複雜了,所以須要一個模塊來管理這些不一樣的安全認證,keystone就應運而生了。數據庫
不管是公有云仍是私有云,都會開放接口給衆多用戶,keystone在對衆多用戶進行認證的同時,有對用戶的權限進行了限制,keystone會保證openstack的服務的正常註冊,同時各個服務傳遞消息的口令驗證也是由keystone來完成的。vim
Keystone全部的數據都是存放在數據庫中,本文將以mysql爲實例來說解,mysql安裝爲試驗性質,並不講解各類複雜的方法,大型環境的安裝請參考mysql更專業的文檔。centos
本文使用centos7來安裝keystone,特別提示:最好在keystone服務器上不要安裝別的組件,不然容易出現衝突,請根據我的環境來定。安全
1. Mysql安裝服務器
# 下載mysqlrepo源dom
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmcurl
# 安裝mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝這個包後,會得到兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
# 設置mysql root密碼
use mysql
update user set password=password('123456') where user='root';
exit;
# 設置iptables 防火牆
vim /etc/sysconfig/iptables #添加一下內容
-----------------------------------------------------------------------------
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-----------------------------------------------------------------------------
service iptables restart #重啓下iptables
2. Keystone安裝配置
# 建立數據庫
mysql -u root –p123456
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone'; #建立keystone用戶,密碼是keystone
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
# 安裝keystone 所須要的組件
yum -y install openstack-keystone python-keystoneclient
# 修改keystone.conf配置文件
vim /etc/keystone/keystone.conf
-----------------------------------------------------------------------------
dmin_token = 12345678 #這裏能夠隨意寫,可是須要記住
verbose = True
[database]connection = mysql://keystone:keystone@controller/keystone
-----------------------------------------------------------------------------
# 同步數據庫
su -s /bin/sh -c "keystone-manage db_sync" keystone
# 重啓服務
systemctl enable openstack-keystone.service
systemctl start openstack-keystone.service
# 建立tenants, users, 和roles
keystone tenant-create --name domain--description "Admin Tenant"
keystone user-create --name domain--pass users --email lanyulei@jiandan100.cn
keystone role-create --name domain
# 受權
keystone user-role-add --tenant domain--user domain --role domain
# 建立services
keystone tenant-create --name service --description "Service Tenant"
# 建立service entity 和API endpoint
keystone service-create --name keystone --type identity \--description "OpenStack Identity"
keystone endpoint-create \--service-id $(keystone service-list | awk '/ identity / {print $2}') \--publicurl http://controller:5000/v2.0 \--internalurl http://controller:5000/v2.0 \--adminurl http://controller:35357/v2.0 \--region regionOne
# 驗證操做
keystone user-list # 正常顯示就說明安裝成功了
本文都是使用最簡潔的安裝方式安裝的,請你們根據公司內部需求自行規劃,那麼keystone就算安裝完成了,明天會給你們講下Swift這個重要組件的簡介,安裝及加入到keystone註冊服務中,後面的更精彩,請關注我啊。