日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OpenStack 的部署T版(二)——Keystone组件

發(fā)布時(shí)間:2024/2/28 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenStack 的部署T版(二)——Keystone组件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一、OpenStack安裝Keystore組件
    • Keystone認(rèn)證流程
    • 1、OpenStack組件安裝的順序
    • 2、創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例和數(shù)據(jù)庫(kù)用戶
    • 3、安裝、配置keystone、數(shù)據(jù)庫(kù)、Apache
    • 4、創(chuàng)建OpenStack 域、項(xiàng)目、用戶和角色
  • 二、總結(jié)

一、OpenStack安裝Keystore組件

Keystone認(rèn)證流程

1、OpenStack組件安裝的順序

1、Keystone (apache)
2、glance
3、nova
4、neutron

  • 部署openstack組件時(shí),需先行安裝認(rèn)證服務(wù)(keystone),而認(rèn)證服務(wù)是使用Apache運(yùn)行的,安裝完成后才可以創(chuàng)建、管理賬號(hào),然后安裝鏡像服務(wù)(glance)、計(jì)算服務(wù)(nova)、網(wǎng)絡(luò)服務(wù)(neutron)
  • 其中計(jì)算服務(wù)和網(wǎng)絡(luò)服務(wù)分為管理端和客戶端,所以需要在openstack的管理端安裝計(jì)算服務(wù)和網(wǎng)絡(luò)服務(wù)的管理端,在創(chuàng)建虛擬機(jī)的node節(jié)點(diǎn)上安裝計(jì)算服務(wù)和網(wǎng)絡(luò)服務(wù)的客戶端,最后安裝dashboard服務(wù),openstack各種組件的API都是通過(guò)apache運(yùn)行的;
  • openstack的管理端負(fù)責(zé)創(chuàng)建、管理虛擬機(jī)過(guò)程的調(diào)度
  • 通過(guò)openstack管理端創(chuàng)建虛擬機(jī)的相關(guān)數(shù)據(jù)最終都會(huì)記錄到mysql(mariadb)中;node節(jié)點(diǎn)沒(méi)有權(quán)限往數(shù)據(jù)庫(kù)中寫數(shù)據(jù),只有控制端有權(quán)限,并且node節(jié)點(diǎn)與控制端通訊是通過(guò)rabbitmq間接通訊,node節(jié)點(diǎn)會(huì)監(jiān)聽(tīng)rabbitmq,控制端也會(huì)監(jiān)聽(tīng)rabbitmq,控制端把創(chuàng)建虛擬機(jī)的指令發(fā)送到rabbitmq,由監(jiān)聽(tīng)rabbitmq指定隊(duì)列的node節(jié)點(diǎn)接收消息并創(chuàng)建虛擬機(jī);

接OpenStack 的部署(一)——基礎(chǔ)環(huán)境配置繼續(xù)配置,為openstack安裝keystone組件,全部在控制節(jié)點(diǎn)上操作

2、創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例和數(shù)據(jù)庫(kù)用戶

mysql -u root -p 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'; flush privileges; exit

3、安裝、配置keystone、數(shù)據(jù)庫(kù)、Apache

  • 安裝keystone、httpd、mod_wsgi

mod_wsgi包的作用是讓apache能夠代理python程序的組件;openstack的各個(gè)組件,包括API都是用python寫的,但訪問(wèn)的是apache,apache會(huì)把請(qǐng)求轉(zhuǎn)發(fā)給python去處理,這些包只安裝在controler節(jié)點(diǎn)

yum -y install openstack-keystone httpd mod_wsgicp -a /etc/keystone/keystone.conf{,.bak} grep -Ev "^$|#" /etc/keystone/keystone.conf.bak > /etc/keystone/keystone.conf


通過(guò)pymysql模塊訪問(wèn)mysql,指定用戶名密碼、數(shù)據(jù)庫(kù)的域名、數(shù)據(jù)庫(kù)名 openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_DBPASS@ct/keystone指定token的提供者;提供者就是keystone自己本身 openstack-config --set /etc/keystone/keystone.conf token provider fernet Fernet:一種安全的消息傳遞格式


初始化認(rèn)證服務(wù)數(shù)據(jù)庫(kù)

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

初始化fernet 密鑰存儲(chǔ)庫(kù)

(以下命令會(huì)生成兩個(gè)密鑰,生成的密鑰放于/etc/keystone/目錄下,用于加密數(shù)據(jù))

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystonekeystone-manage credential_setup --keystone-user keystone --keystone-group keystone

配置bootstrap身份認(rèn)證服務(wù)

keystone-manage bootstrap --bootstrap-password ADMIN_PASS \ --bootstrap-admin-url http://ct:5000/v3/ \ --bootstrap-internal-url http://ct:5000/v3/ \ --bootstrap-public-url http://ct:5000/v3/ \ --bootstrap-region-id RegionOne

此步驟是初始化openstack,會(huì)把openstack的admin用戶的信息寫入到mysql的user表中,以及url等其他信息寫入到mysql的相關(guān)表中;
admin-url是管理網(wǎng)(如公有云內(nèi)部openstack管理網(wǎng)絡(luò)),用于管理虛擬機(jī)的擴(kuò)容或刪除;如果共有網(wǎng)絡(luò)和管理網(wǎng)是一個(gè)網(wǎng)絡(luò),則當(dāng)業(yè)務(wù)量大時(shí),會(huì)造成無(wú)法通過(guò)openstack的控制端擴(kuò)容虛擬機(jī),所以需要一個(gè)管理網(wǎng);
internal-url是內(nèi)部網(wǎng)絡(luò),進(jìn)行數(shù)據(jù)傳輸,如虛擬機(jī)訪問(wèn)存儲(chǔ)和數(shù)據(jù)庫(kù)、zookeeper等中間件,這個(gè)網(wǎng)絡(luò)是不能被外網(wǎng)訪問(wèn)的,只能用于企業(yè)內(nèi)部訪問(wèn)
public-url是共有網(wǎng)絡(luò),可以給用戶訪問(wèn)的(如公有云) #但是此環(huán)境沒(méi)有這些網(wǎng)絡(luò),則公用同一個(gè)網(wǎng)絡(luò)
5000端口是keystone提供認(rèn)證的端口
以下部分指的是openstack多節(jié)點(diǎn)的配置
#需要在haproxy服務(wù)器上添加一條listen
#各種網(wǎng)絡(luò)的url需要指定controler節(jié)點(diǎn)的域名,一般是haproxy的vip的域名(高可用模式)

配置Apache HTTP服務(wù)器

echo "ServerName controller" >> /etc/httpd/conf/httpd.conf

創(chuàng)建配置文件,開(kāi)啟服務(wù)

安裝完mod_wsgi包后,會(huì)生成 wsgi-keystone.conf 這個(gè)文件,文件中配置了虛擬主機(jī)及監(jiān)聽(tīng)了5000端口,mod_wsgi就是python的網(wǎng)關(guān)

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ systemctl enable httpd systemctl start httpd

配置管理員賬戶的環(huán)境變量

這些環(huán)境變量用于創(chuàng)建角色和項(xiàng)目使用,但是創(chuàng)建角色和項(xiàng)目需要有認(rèn)證信息,所以通過(guò)環(huán)境變量聲明用戶名和密碼等認(rèn)證信息,欺騙openstack已經(jīng)登錄且通過(guò)認(rèn)證,這樣就可以創(chuàng)建項(xiàng)目和角色;也就是把a(bǔ)dmin用戶的驗(yàn)證信息通過(guò)聲明環(huán)境變量的方式傳遞給openstack進(jìn)行驗(yàn)證,實(shí)現(xiàn)針對(duì)openstack的非交互式操作

cat >> ~/.bashrc << EOF 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://ct:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 EOFsource ~/.bashrc#通過(guò)配置環(huán)境變量,可以使用openstack命令進(jìn)行一些操作 openstack user list

4、創(chuàng)建OpenStack 域、項(xiàng)目、用戶和角色

創(chuàng)建一個(gè)項(xiàng)目(project),創(chuàng)建在指定的domain(域)中,指定描述信息,project名稱為service(可使用openstack domain list 查詢)

openstack project create --domain default --description "Service Project" service#查看openstack 項(xiàng)目列表 openstack project list

創(chuàng)建角色(可使用openstack role list查看)

openstack role create user

查看openstack 角色列表

openstack role list# admin為管理員 # member為 租戶 # user:用戶

查看是否可以不指定密碼就可以獲取到token信息(驗(yàn)證認(rèn)證服務(wù))

openstack token issue

二、總結(jié)

Keystone認(rèn)證流程

舉例:比我們用戶需要?jiǎng)?chuàng)建實(shí)例
1、登錄進(jìn)入(需要認(rèn)證)
2、keystone指引到達(dá)控制臺(tái)
3、web界面發(fā)出創(chuàng)建實(shí)例的請(qǐng)求
4、向nova發(fā)出請(qǐng)求(我要?jiǎng)?chuàng)建一臺(tái)實(shí)例)
5、nova分別向glance、neutron發(fā)出調(diào)用資源的請(qǐng)求
6、nova拿到所需要的的資源后,創(chuàng)建實(shí)例,同時(shí)將結(jié)果返回給user
在每一步,加入keystone認(rèn)證、授權(quán)(token)的過(guò)程
用戶/組件,持著令牌(token)再去找其他組件

  • Keystone 組件是作為OpenStack 集群中統(tǒng)一認(rèn)證、授權(quán)的模塊,其核心功能就是針對(duì)于User(用戶)、Tenant(租戶)、Role(角色)、Token(令牌/憑證)的控制(手工編譯部署即圍繞此功能展開(kāi)的)
  • User:使用 openstack 的用戶。
  • Tenant:租戶,可以理解為一個(gè)人、項(xiàng)目或者組織擁有的資源的合集。在一個(gè)租戶中可以擁有很多個(gè)用戶,這些用戶可以根據(jù)權(quán)限的劃分使用租戶中的資源。
  • Role:角色,用于分配操作的權(quán)限。角色可以被指定給用戶,使得該用戶獲得角色對(duì)應(yīng)的操作權(quán)限。
  • Token:指的是一串比特值或者字符串,用來(lái)作為訪問(wèn)資源的記號(hào)。Token 中含有可訪問(wèn)資源的范圍和有效時(shí)間,token 是用戶的一種憑證,需要使用正確的用戶名和密碼向 Keystone 服務(wù)申請(qǐng)才能得到 token。

使用手動(dòng)部署的模式搭建OpenStack——keystone的思路

  • 1、創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例和數(shù)據(jù)庫(kù)用戶
  • 2、安裝、配置keystone、數(shù)據(jù)庫(kù)、Apache
  • 3、創(chuàng)建OpenStack 域、項(xiàng)目、用戶和角色

總結(jié)

以上是生活随笔為你收集整理的OpenStack 的部署T版(二)——Keystone组件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。