一直以來對Openstack都是心存嚮往的,大學的畢業設計題目也是《Openstack Dashboard的頁面定製》,還以此得到了當年的優秀畢業論文。從學生年代懵懂的將技術方向定位爲系統架構到逐漸轉型踏上Openstack開發之路,走的磕磕碰碰,總得來講仍是但願能爲Openstack作出一些本身的貢獻。即使微不足道,我想這正正就是開源的魅力和力量吧。
Openstack系列博文會從最基本的部署 –> 組件功能實現原理 –> 源碼解析這麼個由淺入深的過程來記錄。css
What’s Openstack ?
這個問題,我相信沒有任何人可以比Openstack官網給出更好的答案。點這裏node
原文:OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.python
粗譯:Openstack是一個控制着大量計算能力、存儲、乃至於整個數據中心網絡資源的雲操做系統,經過Dashboard這個Web界面,讓管理員能夠控制、賦予他們的用戶去提供資源的權限(即:可以經過Dashboard控制整個Openstack雲計算平臺的運做)。linux
Openstack的發展很是快,並且因爲其開源的本質,因此致使了即使是先後相隔的兩個不一樣版本,也可能會出現比較大的區別。因此在咱們初習Openstack的時候,應該考慮從一個體系相對成熟,資料相對豐富的版本入手。固然若是你擁有良好的英文閱讀習慣的話,Openstack的官網就提供了很是完善的最新版本的文檔資料。web
本篇是Openstack系列的開篇,因此先對Openstack總體架構作一個粗略的瞭解。
數據庫
部署Openstack的方法有不少,官方文檔Step by Step、Fuel在線安裝、Devstack、鏡像、RDO庫等等。固然若是但願更好的理解Openstack各組件的功能和關係的話,按照官方文檔來一步步部署將會是一個很是不錯的選擇。點這裏centos
OpenStack組件markdown
硬件參數:
網絡
這是官方給出的Example architecture,由於咱們的實驗環境是VMware,因此會對架構規劃做出相應的修改,以下:架構
Node 拓撲
這是一個相對接近生產環境的拓撲圖,涉及到虛擬專用網絡、高可用、主從備份、負債均衡等架構思想。
IPAddress 規劃
Hostname
controller.jmilk.com 192.168.1.5
network.jmilk.com 192.168.1.6
compute1.jmilk.com 192.168.1.10
compute2.jmilk.com 192.168.1.11
block1.jmilk.com 192.168.1.20
block2.jmilk.com 192.168.1.21
object1.jmilk.com 192.168.1.31
object2.jmilk.com 192.168.1.32
在VMWare上至少建立Controller、Compute一、Network三個核心組件Node。若是條件容許的話最好可以按照Node拓撲來建立Node。
這一節的內容在每個Node上都須要進行。
推薦硬件參數:
最低要求:
全部Node都須要執行環境準備的操做
Step1:關閉防火牆
systemctl mask iptables.service
systemctl mask ip6tables.service
systemctl mask ebtables.service
systemctl mask firewalld.service
Step2:設置主機名
hostnamectl set-hostname NEW_HOSTNAME
Step3:關閉Selinux
Step4:按照IPAddress規劃來設置staticIP
注意:當須要聯網下載RDO庫時,能夠將虛擬機的網絡選爲橋接
Example: Controller Node
nmcli connection modify eno16777736 ipv4.addresses "192.168.1.5/24 192.168.1.1" ipv4.dns "202.106.195.68,202.106.46.151" ipv4.method manual
這樣就能夠鏈接到外網,在VMWare中衛虛擬機添加多網卡的配置,能夠參考CentOS7 修改網卡名稱爲eth0 & 在VMWare中添加多網卡配置
#1. 安裝yum-plugin-priorities包,防止高優先級軟件被低優先級軟件覆蓋
yum install yum-plugin-priorities
#2. 安裝EPEL擴展yum源,是一個RHEL系列的高質量軟件源,可能版本號會被修改
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
#3. 安裝extras repository 和 RDO repository
yum install centos-release-openstack-mitaka
yum install https://rdoproject.org/repos/rdo-release.rpm
#4. 更新系統
yum update -y
#5. 重啓系統
reboot
#6. 安裝openstack-selinux自動管理SELinux
yum install openstack-selinux
#7. 安裝Openstack client
yum install python-openstackclient -y
本篇是Openstack系列的開篇、也是部署Openstack的前期準備,但願能在一個月以內完成Openstack部署系列的記錄。有興趣學習交流的朋友,不妨點個關注。 Hope you enjoy :)