OpenStack控制節點keystone服務安裝部署

創建數據庫

使用root賬戶登錄數據庫

sudo mysql

創建keystone數據庫

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為你自己的密碼

安裝配置組件

安裝組件

sudo apt install keystone  apache2 libapache2-mod-wsgi

由于keystone組件要運行在apache http服務上,所以也要安裝apache http服務

修改/etc/keystone/keystone.conf文件

在[database]部分,配置數據庫訪問

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

替換KEYSTONE_DBPASS為自己的密碼;并且注釋或者刪除其他connection項

在[token]部分,配置token生成的方式

provider = fernet

導入認證服務的數據庫

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

初始化 Fernet key

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:35357/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne

替換ADMIN_PASS為自己的密碼

配置apache http服務

修改/etc/apache2/apache2.conf文件

ServerName controller

controller為控制節點主機名

完成安裝

重啟apache服務

sudo service apache2 restart

配置管理賬戶

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

替換ADMIN_PASS為你自己設置的密碼

創建域,項目,用戶和角色

keystone認證服務為每一個Openstack 服務都提供了身份認證的服務,而身份認證服務使用domains, projects (tenants), users, and roles的組合來實現。

創建service工程

openstack project create --domain default \
--description "Service Project" service

常規(非管理員)任務應使用非特權項目和用戶。創建demo項目

openstack project create --domain default \
--description "Demo Project" demo

創建demo用戶

openstack user create --domain default \
--password-prompt demo

創建user角色

openstack role create user

添加user角色到demo工程和用戶

openstack role add --project demo --user demo user

驗證

禁用臨時身份驗證令牌機制

編輯/etc/keystone/keystone-paste.ini文件,刪除admin_token_auth從[pipeline:public_api], [pipeline:admin_api],[pipeline:api_v3] 部分.

取消設置的臨時OS_AUTH_URL和OS_PASSWORD環境變量

unset OS_AUTH_URL OS_PASSWORD

用amdin用戶請求令牌

openstack --os-auth-url http://controller:35357/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue

用demo用戶請求令牌

openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name demo --os-username demo token issue

寫腳本

這些腳本可以包含有常用的openstack client選項,但是每一個腳本只支持唯一的選項值。簡而言之,使用這些腳本能夠讓我們不需要為每一條openstack client指令都添加這么多的認證選項。

創建并且編輯admin-openrc文件,加入以下內容

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

替換ADMIN_PASS為自己設置的密碼

創建并且編輯demo-openrc文件,加入以下內容

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

替換DEMO_PASS為自己設置的密碼

使用腳本

使用腳本登錄

. admin-openrc

請求認證令牌

openstack token issue
image
image
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容