openstack原始碼分析三

2021-10-04 18:36:06 字數 1790 閱讀 1571

上一期我們講了nova的服務啟動,有關協程都建立好了,現在就是看如何讓他們開始工作了。我們先部署一套os服務然後看看他們的具體工作流程。

安裝os,我們得選乙個版本來安裝,我們就用乙個比較新的n版本來**部署方式。

一種是rdo的部署方式,一種是devstack的部署方式,官方還提供了ansible的方式,以及最原始的一步步安裝的方式,我們為了快速熟悉原理,先利用rdo的方式來看一下如何安裝。

allinone是openstack最基本的模式,即將所有必要元件都安裝到一台硬體節點上。這種模式不包含塊儲存和物件儲存模組,本文會搭建乙個allinone的openstack。

出於研究的目的,我們會將所有安裝在虛擬機器上測試,然而我們要知道的是,真實的openstack是跑在硬體之上的。虛擬機器準備好之後最好打乙個快照以便在出錯的情況下及時恢復環境,os的部署過程很容易出現很頭疼的問題。

rdo是由red hat紅帽開源的乙個自動化部署openstack的工具,支援單節點(all-in-one)和多節點(multi-node)部署。但rdo只支援centos系列作業系統。需要注意的是,該專案並不屬於openstack官方社群專案。

openstack all-in-one模式會將openstack的控制節點、計算節點和網路節點同時安裝在乙個機器上。這種模式可以快速配置,非常方便用於測試和開發。

接下來我們使用rdo repository來部署os,我們建議的vm配置如下:

平台:centos7

記憶體:>=8gb

硬碟:100gb

cpu核數:>=8

虛擬機器呢就在滴滴雲上申請乙個就可以。

開始安裝:

先安裝packstack:

安裝rdo源rpm包

yum install

如圖:

說明:這個該repo工具預設安裝最新的train版本,而且os社群已不再針對a-n的版本支援了,o版本以後的還在支援。

接著安裝工具: 

yum install openstack-packstack

可能會遇到git問題,解除安裝了重新安裝指定的git版本即可。

然後os:

# packstack –allinone

發現報錯:

這個問題可以在packsack**裡加入如下:

從列印資訊看,應該是leatherman rpm包版本問題,已經安裝版本是1.10.0-1,但是facter需要1.3.0,因此需要降級:# yum downgrade leatherman

問題解決。

繼續安裝完成如下:

看輸出已經有了訪問的位址了,但是還有錯誤,其實這個不影響使用了,先不用管她。

我們再家目錄下執行:source keystonerc_admin

然後我們執行nova命令,如下:

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...

openstack之horizon原始碼分析

horizon是基於django webframework開發的標準的python wsgi程式,django的設計專注於 的高度可重用,信奉dry原則,一切物件導向,而horizon可以說高度match了django的設計風格。程式基本有三部分組成,業務邏輯 python 靜態檔案 js css ...

openstack之horizon原始碼分析之二

一 概述 django基礎入手 django新建project django admin startproject mysite 1 生成如下目錄 2mysite 3 manage.py 4 mysite 5 init py6 settings.py 7 urls.py 8 wsgi.py 1 則生...