OpenStack是一個開源的雲計算管理平臺項目,由幾個主要的組件組合起來完成具體工做。OpenStack支持幾乎全部類型的雲環境,項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的雲計算管理平臺。OpenStack經過各類互補的服務提供了基礎設施即服務(IaaS)的解決方案,每一個服務提供API以進行集成。前端
OpenStack 是一個旨在爲公共及私有云的建設與管理提供軟件的開源項目。它的社區擁有超過130家企業及1350位開發者,這些機構與我的都將OpenStack做爲基礎設施即服務(簡稱IaaS)資源的通用前端。OpenStack項目的首要任務是簡化雲的部署過程併爲其帶來良好的可擴展性。web
OpenStack覆蓋了網絡、虛擬化、操做系統、服務器等各個方面。它是一個正在開發中的雲計算平臺項目,根據成熟及重要程度的不一樣,被分解成核心項目、孵化項目,以及支持項目和相關項目。每一個項目都有本身的委員會和項目技術主管,並且每一個項目都不是一成不變的,孵化項目能夠根據發展的成熟度和重要性,轉變爲核心項目。下面列出了10個核心項目(即OpenStack服務)。數據庫
一套控制器,用於爲單個用戶或使用羣組管理虛擬機實例的整個生命週期,根據用戶需求來提供虛擬服務。負責虛擬機建立、開機、關機、掛起、暫停、調整、遷移、重啓、銷燬等操做,配置CPU、內存等信息規格。自Austin版本集成到項目中。vim
一套用於在大規模可擴展系統中經過內置冗餘及高容錯機制實現對象存儲的系統,容許進行存儲或者檢索文件。可爲Glance提供鏡像存儲,爲Cinder提供卷備份服務。自Austin版本集成到項目中安全
一套虛擬機鏡像查找及檢索系統,支持多種虛擬機鏡像格式(AKI、AMI、ARI、ISO、QCOW二、Raw、VDI、VHD、VMDK),有建立上傳鏡像、刪除鏡像、編輯鏡像基本信息的功能。自Bexar版本集成到項目中。服務器
爲OpenStack其餘服務提供身份驗證、服務規則和服務令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到項目中。網絡
提供雲計算的網絡虛擬化技術,爲OpenStack其餘服務提供網絡鏈接服務。爲用戶提供接口,能夠定義Network、Subnet、Router,配置DHCP、DNS、負載均衡、L3服務,網絡支持GRE、VLAN。插件架構支持許多主流的網絡廠家和技術,如OpenvSwitch。自Folsom版本集成到項目中。架構
爲運行實例提供穩定的數據塊存儲服務,它的插件驅動架構有利於塊設備的建立和管理,如建立卷、刪除卷,在實例上掛載和卸載卷。自Folsom版本集成到項目中。負載均衡
OpenStack中各類服務的Web管理門戶,用於簡化用戶對服務的操做,例如:啓動實例、分配IP地址、配置訪問控制等。自Essex版本集成到項目中。ssh
像一個漏斗同樣,能把OpenStack內部發生的幾乎全部的事件都收集起來,而後爲計費和監控以及其它服務提供數據支撐。自Havana版本集成到項目中。
提供了一種經過模板定義的協同部署方式,實現雲基礎設施軟件運行環境(計算、存儲和網絡資源)的自動化部署。自Havana版本集成到項目中。
爲用戶在OpenStack的環境提供可擴展和可靠的關係和非關係數據庫引擎服務。自Icehouse版本集成到項目中。
RDO是由紅帽RedHat公司推出的部署OpenStack集羣的一個基於Puppet的部署工具,能夠很快地經過RDO部署一套複雜的OpenStack環境,當前的RDO默認狀況下,使用Neutron進行網絡管理,默認部署的是OpenStack Havana版本。
下面是RDO單節點部署的簡單配置:(所用系統爲rhel7.1)
安裝packstack
yum install openstack-packstack -y
安裝openstack
ssh-keygen packstack --gen-answer-file=answer.txt #生成問答文件 vim answer.txt #編輯問答文件 CONFIG_NTP_SERVERS=172.25.254.251 #用於同步時間 CONFIG_PROVISION_DEMO=n #取消示例 CONFIG_KEYSTONE_ADMIN_PW=westos #管理員admin的密碼將用來登陸web頁面進行配置 CONFIG_HORIZON_SSL=y #開啓加密協議 packstack --answe-file=answer.txt #執行RDO安裝
看到下圖表示成功
登陸網頁https://172.25.254.103/dashboard進行配置
建立項目和用戶:
點擊Admin--->Identity Panel--->Projects---->Create Projects建立項目
這裏只添加了Project info裏的Name其餘兩項沒有改動
點擊Admin--->Identity Panel--->Users---->Create User添加用戶
用新建的用戶登陸,並自定義網路設置: 建立外部網絡:
點擊Project--->Network--->Networks--->Create Network
點擊Admin--->Networks--->編輯public
建立內網:
點擊Project--->Network--->Networks--->Create Network
新建路由:
點擊Project--->Network--->Routers--->Create Router
建立完後點擊Gateway
點擊新建的路由添加Interfaces
點擊Project--->Network--->Network Topology能夠看到網絡拓撲圖
爲了可以訪問Floating IP須要從新配置網絡
cat /etc/sysconfig/network-scripts/ifcfg-eno1 DEVICE="eno1" ONBOOT=yes HWADDR=84:2B:2B:FC:AF:68 cat /etc/sysconfig/network-scripts/ifcfg-br-ex DEVICE="br-ex" ONBOOT=yes BOOTPROTO=none IPADDR=172.25.254.103 NETMASK=255.255.255.0 ovs-vsctl add-port br-ex eno1 ; systemctl restart network ovs-vsctl show #查看接口狀態
建立鏡像:
點擊Project--->Compute--->p_w_picpaths--->Create p_w_picpath
設置安全組規則:
點擊Project--->Compute--->Access&Security--->Create Security
點擊安全組的Manage Rules--->add roule添加規則
點擊Project--->Compute--->Access&Security--->Key Pairs建立密鑰用於雲主機的訪問
添加雲主機類型:
點擊Admin--->System Panel--->Flavors--->Create Flavor
添加雲主機:
點擊Project--->Compute--->Instances--->Launch instance
後面兩個選項沒有填寫
建立成功後點擊vm1的More--->Associate Floating IP 綁定浮動ip
若是沒有點擊‘+’獲取IP
點擊More--->Console進入雲主機控制檯
以後咱們就可一進入雲主機了root用戶的密碼爲redhat
此外咱們還能夠用生成的key來遠程登陸雲主機
ssh -i examplekey.pem cloud-user@172.25.9.2
注意key文件的權限要爲600