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...