Openstack之KeyStone學習(一)

2021-07-22 06:50:21 字數 3191 閱讀 2631

openstack

是乙個美國國家航空航天局和

rackspace

合作研發的雲計算軟體,以

apache

許可證授權,並且是乙個

自由軟體和開放源**專案。

openstack

是iaas

(基礎設施即服務

)平台,讓任何人都可以自行建立和提供雲端

運算服務。以下是5個

openstack

的重要構成部分:1、

nova —

計算服務;

2.swift —

儲存服務;

3.glance –

映象服務

;4.keystone

– 認證服務;

5.horizon – ui

服務。

keystone

主要提供

identity

(認證)、

token

(令牌)、

catalog

(服務目錄)和

policy

(安全策略,訪問控制)四方面服務:

1.identity

:對使用者的身份進行驗證,使用者的身份憑證通常以使用者名稱和密碼的形式呈現,認證服務的同時提供了與該使用者相關的元資料的提取;

2.token

:identity

確認使用者身份之後,會給使用者提供乙個核實該身份並且可以用於請求後續資源的令牌,

token

服務則驗證並管理用於驗證身份的令牌。

keystone

會頒發兩種令牌給使用者,一種是與

tenant

無關的令牌,另一種是與特定

tenant

繫結的令牌;

3.catalog

:catalog

服務對外提供乙個服務的查詢目錄即每個服務的

endpoint

列表;

4.policy

:乙個基於規則的身份驗證引擎,通過配置檔案來定義各種動作與使用者角色的匹配關係

下圖為keystone工作流程示例:

keystone基本概念

1.user

:使用者。通過

keystone

訪問openstack

服務的個人、系統亦或是某個服務,

keystone

都會通過認證資訊(

credential

,比如密碼等)驗證使用者請求的合法性,通過驗證的使用者將會分配到乙個特定的令牌,該令牌可以用於後續資源訪問的乙個通行證。使用者必須屬於某個特定的域,使用者名稱不一定全域性唯一,但是域內唯一。

2.tenant

:租戶。租戶可以理解為乙個組織或者是乙個專案,在

nova

中,租戶可以理解成一組虛擬機器的擁有者。使用者預設的總是繫結在某租戶上,使用者訪問租戶的資源前,必須與該租戶關聯,並且指定該使用者在該租戶下的角色。重點關注,目前有疑慮;

openstatck

中所有的資源應該屬於某個特定的

tenant

;乙個tenant

必須屬於特定的域,

tenant

名並非全域性統一,而是域內統一,如果

tenant

沒有指定所屬的域,則會被新增到

default domain中;

3.groups

:一組使用者的集合,屬於某個特定的域,群組名並非全域性唯一,但是域內唯一;

4.role

:角色。乙個

role

可以看做乙個

acl集合,

openstack

中分配給使用者的

token

包含了role

列表。被訪問的服務會判斷它的使用者角色以及每個

role

訪問資源或者操作的許可權。系統預設使用

admin和_

member_role

。user

驗證的時候必須帶有指定的

tenant

,roles

會被分配到指定的

tenant

。在全域性角色中,使用者可以對所有的租戶執行角色所規定的許可權;在租戶內的角色中,使用者僅可以在當前租戶內執行角色規定的許可權。角色名全域性唯一;

5.service

:服務。根據

user

、tenant

和role

乙個服務可以確認當前使用者是否具有訪問其資源的許可權。服務對外暴露乙個或多個端點,使用者只有通過這些端點才可以訪問所需資源或者執行某些操作。

6.endpoint

url來表示乙個端點,

url具有

public

、internal

和admin

三種許可權,

public

為全域性提供的服務端點,

internal

提供內部服務之間的訪問,

admin

是提供給管理員使用的;

7.token

:令牌。使用者通過

credential

獲取在某個租戶下的令牌,以及令牌的頒發時間和有限時間。

8.credentials

:憑證。使用者的使用者名稱和密碼,或者是使用者名稱和

api秘鑰,或者是身份管理服務提供的認證令牌

9.domain

:表示一組

tenants

和users

的集合。每乙個

tenant

或user

只能屬於乙個

domain

,但user

可以屬於多個

tenant。

下圖為keystone管理物件之間的關係:

OpenStack之Swift swift表結構

表account stat id名稱 型別 長度 預設值備註 account text created at text put timestamp text 0delete timestamp text 0container count integer object count integer 0b...

openstack之網路基礎

l1 物理層 l2 資料鏈路層,基於mac位址的通訊,通過交換機連線 對等傳輸,即交換機上的乙個主機發乙個包,連線在該交換 機上的所有機器都能收到 l3 網路層,基於ip位址,路由器裝置,連線不同網段,進行路由 選擇 交換機 路由器的區別 1 工作層級不同,交換機在l2,路由器在l3 2 資料 依據...

openstack開發之Gerrit工作流程

1.建立乙個 launchpad account賬號,加入openstack社群。2.配置你的git git config global user.name firstname lastname git config global user.email your email youremail.co...