1. 程式人生 > >快速入門Openstack,無腦多節點部署Mitaka(1)--前期環境搭建準備

快速入門Openstack,無腦多節點部署Mitaka(1)--前期環境搭建準備

序言

openstack是什麼?官方的解釋: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.大致意思是說openstack是一個具有大量計算能力、儲存、乃至於整個資料中心網路資源的雲作業系統,可以通過dashboard這個web管理介面對其進行管理操作。
本人也只是一個openstack的初學者,寫這序列博文的目的最主要是分享記錄自己的學習成長曆程,其次是希望大家能在這裡能夠學會在最少資源規劃下實現無腦搭建openstack,然後再通過部署的過程去初步瞭解openstack。
本文以UnistedStack公有云為例,選擇其他雲伺服器或者虛擬機器的小朋友也不用太過糾結,原理是一樣的。
這篇文章只是開始篇,比較簡單粗暴。但是如果前期的準備比較充足的話,後面會省了很多麻煩。很多人一開始就遇到各種問題,比如網路不通,服務已經正常啟動但是卻抓不到包。所以為了避免這些麻煩,我們需要一開始就把防火牆清空關掉。

Openstack整體架構

我們可以通過官方的overview,大致瞭解一下openstack的整體架構和相關服務。

官方overView:

這裡寫圖片描述

整體架構:

這裡寫圖片描述

OpenStack元件:

後續會針對各個元件做介紹,現在只需要初步瞭解一下各個元件的功能即可。
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) 資料處理

網路拓補圖

Although most environments include Identity, Image service, Compute, at least one networking service, and the dashboard, the Object Storage service can operate independently. If your use case only involves Object Storage, you can skip to Object Storage service after configuring the appropriate nodes for it. However, the dashboard requires at least the Image service, Compute, and Networking.
根據官方給的建議,我覺得如果不考慮效能和安全性的話,整個網路拓補圖可以設計成方案一,我打算把neutron裝到controller節點上(這樣做很不好,會導致controller節點直接暴露在公網上),但是這樣就只需要三個節點即可,而我的目的是在最少資源下實現openstack的基礎功能。如果計算機資源充沛的同學我推薦使用傳統方案二,因為openstack是耦合架構,所以部署的辦法也是一樣的,只需要把對應的服務安裝到你拓補圖中的對應節點中即可。

方案一:

這裡寫圖片描述
如圖所示,我用了三個網段,一個是Management管理網路,一個是Instance例項網路,另一個連線外網用的Public網路。至於這些網路是幹什麼用的,到neutron那裡會做介紹。所以現階段大家需要準備三個網段即可。其中controller節點需要三個網絡卡,compute節點需要兩個網絡卡,storage節點只需要一個網絡卡就好。

方案二:

這裡寫圖片描述

這個是比較經典的搭配方案,有興趣的朋友可以自己嘗試一下。

環境準備

  1. 因為公司免費的原因,我使用的是UOS雲:
    UnistedStack控制檯傳送門:https://console.ustack.com
    這裡寫圖片描述
  2. 下面步驟也可在vmware上操作。
  3. 建立三臺虛擬機器,建議使用官方推薦配置。4核+8G記憶體+20G硬碟,雙核也可以,但是記憶體不夠的,可以新增swap虛擬分割槽,將就著用。
    這裡寫圖片描述
  4. 按照官方文件要求,系統統一使用64位的centos7.0。話說你見過32位的centos7麼?冷漠臉…..
  5. 建立網路,網絡卡,繫結靜態IP,更改主機名。本人配置如下
    ManageSubnet:192.168.0.0/24:
    controller.example.com:192.168.0.17/24
    compute.example.com:192.168.0.18/24
    compute.example.com:192.168.0.19/24
    InstanceSubnet:172.16.0.0/24:
    controller.example.com:172.16.0.17/24
    compute.example.com:172.16.0.18/24
    PublicSubnet:10.10.10.0/24:
    controller.example.com:10.10.10.17/24
  6. 配置NTP時間伺服器
    在每部機器上安裝:
    yum install chrony -y
    在controller節點上修改/etc/chrony.conf配置檔案,註釋掉其他server,重新指定NTP伺服器IP,並允許192.168.0.0/24網段的主機訪問。儲存退出,重啟服務並設定為開機自啟。
    vim /etc/chrony.conf

     server 192.168.0.17 iburst
     allow 192.168.0.0/24
     systemctl enable chronyd.service
     systemctl start chronyd.service

    在其他節點進行同樣操作
    vim /etc/chrony.conf

    server 192.168.0.17 iburst
    systemctl enable chronyd.service
    systemctl start chronyd.service
  7. 配置DNS域名解析伺服器:
    偷懶,所以我用了靜態的,修改每個節點的/etc/hosts
    vim /etc/hosts

    192.168.0.17 controller.example.com
    192.168.0.18 compute.example.com
    192.168.0.19 storage.example.com
    172.16.0.17 controller.example.com
    172.16.0.18 compute.example.com

    可以相互ping一下對方的主機名做測試
  8. 如果ping不通,配置檔案又沒有錯的話,可以檢視一下你的防火牆。官方建議是關掉防火牆和selinux的。

    systemctl mask iptables.service
    systemctl mask ip6tables.service
    systemctl mask ebtables.service
    systemctl mask firewalld.service
    setenforce 0

    編輯selinux檔案,設定為開機預設關閉
    vim /etc/selinux/config
    SELINUX=disabled
  9. 安裝openstackPackage,每部機器都執行一遍:
    安裝yum-plugin-priorities包,防止高優先順序軟體被低優先順序軟體覆蓋。
yum install yum-plugin-priorities -y 
安裝EPEL擴充套件yum源,這個包是會更新,去用前面的地址去找到最新的包:
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-7.noarch.rpm -y 
安裝OpenStackyum源,同樣會更新:
yum install https://repos.fedorapeople.org/repos/openstack/openstack-mitaka/rdo-release-mitaka-5.noarch.rpm -y 

更新系統

yum upgrade -y

重啟系統

reboot

安裝openstackClient

yum install python-openstackclient -y

安裝openstack的selinux

yum install openstack-selinux

Installing······!本文結束
have a nice day!

相關推薦

快速入門Openstack節點部署Mitaka1--前期環境搭建準備

序言 openstack是什麼?官方的解釋:OpenStack is a cloud operating system that controls large pools of compute, storage, and networking reso

快速入門Openstack節點部署Mitaka5--Nova部署

什麼是Nova? 簡介 Nova是openstack中用來提供高可擴充套件、按需、自服務的計算資源服務的一個專案。Nova是openstack最老牌的專案,最初剛釋出的時候集成了很多的功能,既包括計算,也包括網路和儲存。後來隨著openstack

快速入門Openstack節點部署Mitaka7--cinder部署

什麼是Cinder? 1.簡介 Cinder從Openstack的Folsom版本(2012年9月釋出)開始出現,用以替代Nova-Volume服務,Cinder為Openstack提供了管理卷(volunme)的基礎設施。 Cinder是受請求得到、

『中級篇』docker-swarm創建一個節點集群43

fine containe 創建 lock tis -cp -a lang virt >原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!>原文鏈接地址:『中級篇』docker-swarm創建一個多節點集群(43) docker Swarm是Docker

C++快速入門---傳值、傳值和傳引用6

C++快速入門---傳值、傳值和傳引用(6)     傳值 #include <iostream> void changeAge(int age, int newAge); // 如果想要實現計劃功能,需要怎麼改? main() { int a

GAN應用之資料生成監督深度學習新方法3

3.1 從GAN到Conditional GAN GAN的生成式模型可以擬合真實分佈,所以它可以用於偽造資料。DCGAN是第一個用全卷積網路做資料生成的,下面是它的基本結構和生成的資料。 輸入100維的噪聲,輸出64*64的影象,從mnist的訓練結果來看,

【無私分享:從入門到精通ASP.NET MVC】從0開始一起搭框架、做專案1搭建MVC環境 註冊區域

索引 簡述 從今天開始,我們從0開始搭建一個框架,並且完成一個任務管理系統的專案。這並不是什麼大專案,只是對於不熟悉MVC以及不熟悉面向介面開發和依賴注入的朋友們有所啟發,因為是從0開始,所以有些地方比較囉嗦,希望大家理解! 希望新手朋友們拋棄“拿來主義”,動手跟著一步一步的做,當做完這個框架和專案

執行緒開發1:主執行緒前臺執行緒後臺執行緒守護執行緒子執行緒託管執行緒的關係

1.主執行緒 當一個程式啟動時,就有一個程序被作業系統(OS)建立,與此同時一個執行緒也立刻執行,該執行緒通常叫做程式的主執行緒(Main Thread),因為它是程式開始時就執行的,如果你需要再建立執行緒,那麼建立的執行緒就是這個主執行緒的子執行緒。每個程序至少都有一個

執行緒系列1執行緒基礎

執行緒相關概念 在學習多執行緒之前,先來了解下幾個與多執行緒相關的概念。 程序:程序是計算機的概念,程式在伺服器執行時佔據全部計算資源的總和,一個應用程式執行起來就是一個程序,開啟windows的工作管理員,如下圖 執行緒:執行緒也是計算機的概念,執行緒是程序的最小單位,也是程式在響應作業系統時的最小單位

從零開始學習音視頻編程技術 開發環境搭建Qt4.86手動設置環境主要就是設置g++和qmake比較透徹附下載鏈接

路徑 details 分享 baidu 末尾 是我 其中 找到 source 1.先下載安裝Qt 我們使用的版本是4.8。 可以自行百度下載也可以從下面的網盤地址下載: Qt庫和編譯器下載: 鏈接:http://pan.baidu.com/s/1hrUxLIG 密碼

線程小結1

ogr private 順序執行 sed article 其他 pri 控制臺 dst 原文出處 定義就不多說了,直接上代碼 1 /// <summary> 2 /// 單線程應用 3 /// </summary>

執行緒學習1

優點:多程序,多執行緒可以讓程式不被阻塞.可以充分利用多核cpu的優勢,提高執行效率 建立方式:   (1)通過繼承Thread類,並重寫其中的run方法來出建立 Thread t = new Thread() { public void run() { // 執行 //

使用 typescript 提升 vue 專案的開發體驗1

此文已由作者張漢銳授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 前言:對於我們而言,typescript 更像一個工具 官方指南 從 vue2.5 之後,vue 對 ts 有更好的支援。根據官方文件,vue 結合 typescript ,有兩種書寫方式: Vue.extend

Java程式設計師從笨鳥到菜鳥之開發環境搭建基本語法字串陣列

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

java執行緒知識1

基礎概念 1.執行緒和程序: 程序有自己的獨立空間,而執行緒共享程序的空間 執行緒通訊方便,同一程序的執行緒共享全域性變數,靜態資料 多程序更健壯,多執行緒只要有一個執行緒死掉,整個程序也死 2.同步和非同步:同步必須等該方法的呼叫返回 3.並行和

零基礎入門學習Python1——安裝環境

人生苦短,我選Python! 大圖鎮樓:   很多初學Python的同學會有很多疑問,例如 : 學Python應該看什麼書啊? 學Python有沒有推薦速成的就業培訓機構? 學Python還是學R好啊? 學Python工作好找麼?   對

朱有鵬C語言高階---4.9.2--單鏈表--訪問單鏈表中各個節點的資料1

朱有鵬C語言高階---4.9.2--單鏈表--訪問單鏈表中各個節點的資料(1) 朱有鵬C語言高階---4.9.3--單鏈表--將建立節點的程式碼封裝成一個函式(2)   構建一個簡單的單鏈表 目標:構建一個連結串列,然後將一些資料(譬如1,2,3三個數字)儲存在連結串列中,

Linux真小白入門教程第四集——Bash Shell命令學習1

大部分的Linux發行版的預設shell都是GNU預設的bash shell,而Ubuntu上大多數都是dash shell。 啟動shell,/etc/passwd 樣例條目下的最後一個欄位會顯示預設的shell版本,登陸後自動啟動。 在虛擬控制檯終端登入,CLI提示符會自動出現,即可

給定一個句子只包含字母和空格 將句子中的單詞位置反轉單詞用空格分割, 單詞之間只有一個空格前後沒有空格。 比如: 1 “hello xiao mi”-> “mi xiao hello”

題目描述 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 輸入描述: 輸入資料有多組,每組佔一行,包含一個句子(句子長度小於100

給出n個學生的考試成績表每條記錄由學號、姓名和分數和名次組成設計演算法完成下列操作: 1設計一個顯示對學生資訊操作的選單函式如下所示: *************************

給出n個學生的考試成績表,每條記錄由學號、姓名和分數和名次組成,設計演算法完成下列操作: (1)設計一個顯示對學生資訊操作的選單函式如下所示: *************************        1、錄