3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
目錄歷史與願景關於OpenStackOpenStack項目組件介紹快速開始命令集OpenStack使用案例部署模型…以及更多精彩內容!歷史與願景 在今天,OpenStack是領袖級的私有雲解決方案,以大量基礎設施供應商,多個發布版本以及多種可選的部署模式來滿足你的需求。最令人感興趣的是這個成熟的項目的代碼庫是完全開源的。這意味著會有更多的開發者以及運維人員正在一個超越傳統軟體開發與支持的模式下持續學習、優化、修復軟體。 OpenStack是由Rackspace 和NASA在2010年攜手共同創建。自項目成立以來,它成長為可以支持如沃爾瑪,eBay以及Comcast等客戶,並且收到了多元的技術公司、學術機構的代碼貢獻,其中包括Intel與MIT。 OpenStack社區是全球增長最快的開源項目組織之一,並擁有超過12000家公司成員以及53000位個人貢獻者。它由OpenStack基金會管理,OpenStack基金會致力於提升企業或組織開發、發布以及採用OpenStack的水平。據451-Research統計,2016年企業或組織使用OpenStack的收益是1.7億美元,預期收入將在2017年增長至2.4億美元並在2018年增長至3.3億美元。採用趨勢據SUSE提供的依據動態市場觀察的另一項調查結果顯示,96%的企業能夠認識到採用開源私有雲可以取得市場優勢。尤其是在採用者可以在開放平台上識別成本、運營效率、標準化程度以及他們在採用OpenStack的時候不會擔憂被供應商鎖定成為他們做選擇時的最大的影響因素。最後一個因素值得進一步闡述:OpenStack提供了一個選擇的集合,包括KVM和VMware ESX等虛擬化技術,基於開源技術的網路架構的多個選項,包括科,Juniper,VMware以及其他項目的架構,還有來自NetApp,EMC,Dell以及其他眾多公司提供的存儲技術架構選項。各種規模的組織都使用OpenStack來實現這些以及其他的好處。正如你可能預料到的,各類組織在OpenStack上運行著不同的工作負載,例如:軟體開發和測試,持續集成與交付,基礎設施服務於網路服務。21%的OpenStack採用者報告部署企業中間件的數量正在提升。關於OpenStack軟體&項目 OpenStack私有雲平台是由多個軟體項目集合集中工作來提供管理預置數據中心內的多種物理資源諸如計算(Nova),存儲(Cinder)以及網路(Neutron)的能力。它也提供一個為數眾多的API集合和一個中央控制台((Horizon)來管理雲資源。 OpenStack為了運行於高性價比的硬體上而設計。為了給那些希望使用特殊的企業級硬體的用戶服務,OpenStack支持思科,Juniper,IBM,Dell EMC以及許多其他企業提供的特殊驅動。 OpenStack遵循一年2次發布版本更新的節奏,一個發行版在春季末釋出,另一個版本在深秋釋出。每個版本都不僅包含計算、網路,存儲,也包括自動化/編排(Heat),大數據/ Hadoop(Sahara),容器編排管理(Magnum)和其他功能的項目。 請移步GitHub查看代碼更新的細節。比如,計算項目的開源代碼可以在openstack/nova目錄中查到,而塊存儲項目在openstack/cinder目錄中。總體架構 之前已提到過,OpenStack是一整套模塊化的項目,包括計算、存儲、網路、鏡像、日誌服務以及其他許多項目的集合。如下圖所示,每個項目的運行時進程都使用諸如RabbitMQ(消息匯流排)的服務互相通信。每個服務還公開了一個API端點,該端點用於接收請求並與其他服務通信。例如,Cinder(塊存儲)服務公開一個API端點以便於與Nova(計算服務)通信。雖然OpenStack項目的代碼是免費的,由於多個項目間繁複的依賴性,自己動手部署的方式非常複雜。於是,多種部署方式各異的第三方發行版應運而生,如:託管私有雲,一站式私有雲解決方案,以及軟體及服務模式管理OpenStack方案。REST API,CLI&HORIZON(控制台) OpenStack中的服務使用REST應用程序介面從客戶端接收請求併發送給其它服務來做處理,在不維護任何服務的狀態信息的情況下。讓我們想象一個場景,在這個場景中您需要一個新的塊存儲卷。Cinder-api進程接收到了申請一個新的塊存儲卷的請求,然後把這個信號通過消息匯流排或隊列傳遞給了cinder調度器和cinder卷管理進程。OpenStack的其他組件,如計算(Nova)和鏡像(Glance)也有類似的服務進程:nova-api 和 glance-api。 從運維人員的視角來看,REST API是提供給命令行介面(CLI)以及控制台命令運行的基礎。下面的命令展示了用戶使用「cinder create」命令以及相應的REST API請求創建一個新的Cinder卷。(openstack) workstation:localdir p9user$ cinder--debug create --name pf9-1G 1DEBUG:keystoneauth:REQ: curl -g -i –X POST https://p9user.p9.net/cinder/v2/f175f441ebbb4c2b8fedf6469d6415fc/volumes -H 「User-Agent: python-cinderclient」 -H 「Content-Type: application/json」 -H 「Accept: application/json」 -H 「X-Auth-Token: {SHA1}token」 -d 『{「volume」:{「status」: 「creating」, 「user_id」: null, 「name」: 「pf9-1G」, 「imageRef」: null, 「availability_zone」: null,「description」: null, 「multiattach」: false, 「attach_status」: 「detached」, 「volume_type」: null, 「metadata」:{}, 「consistencygroup_id」: null, 「source_volid」: null,「snapshot_id」: null, 「project_id」: null, 「source_replica」: null, 「size」: 1}}』 從上面的命令行片段中可以看到,「cinder create」命令就通過命令行發出了命令來創建一個1G大小的叫做「pf9-1G」的卷組。OpenStack項目組件介紹OpenStack由許多模塊化的服務組成,這些服務的代碼都在開源的Apache許可證下發布。計算 OpenStack計算服務(Nova)提供供應、刪除、管理實例的服務(虛擬機)。它 支持多種虛擬化技術,包括KVM,Vmware ESXi以及其他的技術。存儲 OpenStack存儲服務提供塊存儲,對象存儲和文件共享存儲技術的支持。快存儲為 虛擬機實例提供虛擬存儲,另外,對象存儲支持可擴展、分散式、非結構化的數據存儲 。 OpenStack塊存儲服務(Cinder)為虛擬化服務提供創建、附加、取消附加快存儲設備的服務。它與OpenStack的計算服務完全集成,可以通過控制台進行管理,並支持多種企業級平台的特有存儲驅動軟體例如Dell EMC,HPE,Netapp,而且它還支持卷組快照服務。 OpenStack對象存儲(Swift)為雲平台提供高性價比、API易感知、分散式、冗餘、可擴展的存儲備份、歸檔以及數據保持服務。它是一個傑出的存儲鏡像,視頻,虛擬機鏡像以及文檔的存儲平台。網路 OpenStack網路服務(Neutron)為管理網路以及IP地址池提供了一個可插件化(插拔)的API驅動平台。它支持多種網路架構模型(Flat,Vlan和VXLAN)、靜態ip和dhcp。它還可以通過使用SDN平台上的先進技術例如OpenFlow來他提供更加高級的網路功能。 共享服務 與計算,存儲,網路這三個基礎架構模塊不同,OpenStack有幾種服務可以把這些基礎組件整合在一起,使OpenStack就像一個普通的系統為用戶提供統一的體驗。身份認證 OpenStack身份認證服務(Keystone)供應身份認證以及證書服務。它為用戶提供一個中央目錄來指引用戶去使用那些他們有許可權使用的服務。它支持集成一些令人興奮的後端目錄服務例如LDAP。鏡像 OpenStack鏡像服務(Glance)為磁碟以及系統鏡像提供API感知與發現,註冊以及交付服務。Glance服務可以將鏡像存儲在多種類型的後端存儲服務中,包括OpenStack的對象存儲服務,Swift。OpenStack鏡像服務可以容納多種鏡像存放格式,包括Raw,VHD,VMDK以及VDI。監控 OpenStack 監控服務((Ceilometer)聚合應用和性能數據並且能夠為所有OpenStack服務提供閥值報警服務。編排 OpenStack編排服務(Heat)提供自動化的,基於模板的基礎設施部署能力。與監控服務集成使用可以提供可選的實例自動伸縮服務。資料庫 OpenStack 資料庫服務(Trove)在OpenStack平台上提供資料庫即服務功能(DBaaS)。 控制台 OpenStack控制台服務提供一個集中式的用戶圖形界面,供應並管理雲資源。計費以及監控等第三方服務可以非常方便地集成到OpenStack控制台上。OpenStack服務亦可以通過API來調用。數據處理 OpenStack大數據處理服務提供分散式數據處理堆棧以及可整合的管理介面。其他項目 OpenStack平台還有許多可選的服務模塊可以互相集成。這些服務中包括應用日誌記錄(Murano),裸金屬(物理機)服務(Ironic),容器供應編排服務(Magnum),共享存儲服務(Manila) 。 快速開始命令集 作為管理控制台(Horizon)的備選實施方案,OpenStack提供了命令行介面(CLI)來進行查詢,更新,創建與刪除雲資源並且提供了許多其他的操作。CLI可以使用下列命令來安裝到你的筆記本或客戶端機器上(首先安裝Python3.5)。$ pip install python-openstackclient 如果需要一個完整的客戶端安裝說明,請參考OpenStack官方說明文檔。為了熟悉使用CLI,有必要使用一個可以 「溯源(sourced)」的合適的證書來對使用者做驗證。下面這個例子展示了一個openrc文件以及從這個文件中獲取的環境變數。 在圖中所示的CLI命令行中,遺留的與新版本都被展示了。新的,統一的OpenStack客戶端提供了更加易於使用的命令。$ cat openrcexport OS_USERNAME=osuserexport OS_TENANT_NAME=engineeringexport OS_PASSWORD=export OS_AUTH_URL=https:///keystone/v2.0export OS_REGION_NAME=us-east-1$ source openrc秘鑰管理 創建以及上傳SSH秘鑰 為了在OpenStack雲平台上創建服務(例如Nova實例)。有必要在集群內添加一個公鑰並創建一個鏡像。SSH秘鑰可以使用如下命令創建: 創建密鑰對$ ssh-keygen -t rsa 上傳公鑰 使用剛剛執行的命令所提供的信息,就可以在系統里定位公鑰並上傳到OpenStack雲平台上。$ nova keypair-add --public-key ~/.ssh/id_rsa.pub (legacy CLI)- or -$ openstack keypair create --public-key ~/.ssh/id_rsa.pub (new Unified OpenStack CLI) 創建一個鏡像 執行以下命令可以創建一個Glance鏡像。$ glance image-create --name --disk-format --container-format bare --file- or -$ openstack image create --container-format bare--disk-format --file 鏡像服務支持許多鏡像格式,包括qcow2,vhd,vmdk,ami,raw以及其他格式。 啟動實例 在OpenStack雲平台中隨著公鑰以及鏡像的就位,現在可以啟動虛擬機實例了。 命令如下:$ nova boot --image --flavor --nic net-id= --key-name - or -$ openstack server create --flavor --nicnet-id= --key-name 在以上命令中有一個特點,必須給服務或者實例提供合適的資源。這些特例包括 m1.small, m1.medium, and m1.large 。與此同時,也可以創建新特例。其他Nova命令(計算/服務/實例) 為了查找可用的特例,可以使用如下命令:$ nova flavor-list- or -$ openstack flavor list$ nova list- or -$ openstack list$ nova rebuild - or -$ openstack server rebuild --image $ nova console-log - or -$ openstack console log show其他Clance命令(鏡像目錄) 為運行中實例創建鏡像: 服務鏡像允許用戶創建一個預配置的鏡像並在稍後重新使用。這些景象可以用來啟動新實例並將顯示鏡像列出的時間。$ nova image-create - or -安全組 一個Nova實例的安全組允許用戶給實例的入網或出網流量添加規則。以下命令創建了一個名叫ssh_secgroup的安全組:$ neutron security-group-create ssh_secgroup- or -$ openstack security group create ssh_secgroup 以下命令可以為安全組添加一條規則,在下面命令的例子中,安全組開啟了TCP層的22埠:$ neutron security-group-rule-create --protocol tcp--direction ingress --port-range-min 22 --port-rangemax 22 ssh_secgroup- or -$ openstack security group rule create --protocol tcp--ingress --protocol tcp --dst-port 22 ssh_secgroup 上面的命令還有另一種形式如下:$ nova add-secgroup ssh_secgroup- or -$ openstack server add security group ssh_secgroupCinder命令(塊存儲) Cinder提供一組可以一次性掛載到一個實例上的存儲設備,並且在實例終止時依舊存在(持久卷)。Cinder卷組經常作為一組已存在的SAN存儲介面,允許用戶使用易於使用的API來和它們交互。$ cinder create --name - or -$ openstack volume create --size 為Nova實例掛載一個Cinder卷組: $ nova volume-attach - or -$ openstack server add volume Swift命令(對象存儲) 創建一個對象存儲容器$ swift upload - or -$ openstack object create

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦