Openstack組件部署 — Overview和前期環境準備

目錄

前言

一直以來對Openstack都是心存嚮往的,大學的畢業設計題目也是《Openstack Dashboard的頁面定製》,還以此得到了當年的優秀畢業論文。從學生年代懵懂的將技術方向定位爲系統架構到逐漸轉型踏上Openstack開發之路,走的磕磕碰碰,總得來講仍是但願能爲Openstack作出一些本身的貢獻。即使微不足道,我想這正正就是開源的魅力和力量吧。
Openstack系列博文會從最基本的部署 –> 組件功能實現原理 –> 源碼解析這麼個由淺入深的過程來記錄。css

軟件環境

  • 系統
    • CentOS 7
  • 軟件版本
    • VMware 10
    • Openstack-kilo

Openstack 簡介

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的時候,應該考慮從一個體系相對成熟,資料相對豐富的版本入手。固然若是你擁有良好的英文閱讀習慣的話,Openstack的官網就提供了很是完善的最新版本的文檔資料。web

本篇是Openstack系列的開篇,因此先對Openstack總體架構作一個粗略的瞭解。
這裏寫圖片描述數據庫

部署Openstack的方法有不少,官方文檔Step by Step、Fuel在線安裝、Devstack、鏡像、RDO庫等等。固然若是但願更好的理解Openstack各組件的功能和關係的話,按照官方文檔來一步步部署將會是一個很是不錯的選擇。點這裏centos

OpenStack組件markdown

  • Compute (Nova) 計算服務
  • Identity Service (Keystone) 認證服務
  • Image Service (Glance) 鏡像服務
  • Networking (Neutron/Quantum) 網絡服務
  • Dashboard (Horizon) 儀表板
  • Object Storage (Swift) 對象存儲
  • Block Storage (Cinder) 塊存儲
  • Orchestration (Heat) 編排
  • Telemetry (Ceilometer) 監控
  • Database Service (Trove) 數據庫服務
  • Data Processing (Sahara) 數據處理

Openstack Install Overview

硬件參數
這裏寫圖片描述網絡

這是官方給出的Example architecture,由於咱們的實驗環境是VMware,因此會對架構規劃做出相應的修改,以下:架構

Node 拓撲
這裏寫圖片描述
這是一個相對接近生產環境的拓撲圖,涉及到虛擬專用網絡、高可用、主從備份、負債均衡等架構思想。

IPAddress 規劃
這裏寫圖片描述

  • Managerment Network on 192.168.1.0/24 with Gateway 192.168.1.1
  • Instance Tunnels Network on 172.16.0.0/24 with Gateway 172.16.0.1

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

建立Node虛擬機

在VMWare上至少建立Controller、Compute一、Network三個核心組件Node。若是條件容許的話最好可以按照Node拓撲來建立Node。
這一節的內容在每個Node上都須要進行

推薦硬件參數

  • Controller Node: 2 CPU, 8 GB memory, and 100 GB storage,1 NIP
  • Network Node: 2 CPU, 4 MB memory, and 100 GB storage,3 NIP
  • Compute Node: 4 CPU, 8 GB memory, and 100 GB storage,2 NIP

最低要求

  • Controller Node: 1 processor, 4 GB memory, and 5 GB storage
  • Compute Node: 1 processor, 2 GB memory, and 10 GB storage

環境準備

全部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中添加多網卡配置

Install OpenStack預備包

#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 :)

相關文章
相關標籤/搜索