溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

juno版OpenStack如何部署

發(fā)布時(shí)間:2021-12-29 15:36:45 來源:億速云 閱讀:146 作者:小新 欄目:云計(jì)算

這篇文章給大家分享的是有關(guān)juno版OpenStack如何部署的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

安裝前備注

官方推薦的各個(gè)節(jié)點(diǎn)的最低配置如下:

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

  • Network Node: 1 processor, 512 MB memory, and 5 GB storage

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

實(shí)際操作發(fā)現(xiàn),以Ubuntu14.04LTS虛擬機(jī)為例,controller節(jié)點(diǎn)按8G存儲(chǔ)空間設(shè)置后到后期仍然會(huì)出現(xiàn)磁盤空間不足的情況,所以推薦按12G容量來給定磁盤空間。

由于本文采用的是虛擬機(jī)安裝,可以先配置一個(gè)虛擬機(jī)的模版,把一些統(tǒng)一的修改方案做好,節(jié)省一些工作量,具體內(nèi)容如下:

  1. 更改```

vi /etc/hosts```文件,添加如下代碼:

10.10.10.10    controller
 10.10.10.11    compute
 10.10.10.12    network
 10.10.10.13    block
 10.10.10.14    object1
 10.10.10.15    object2```

2. 安裝最新的OpenStack發(fā)布包,執(zhí)行如下命令:
安裝Ubuntu Cloud archive keyring和repository

apt-get install ubuntu-cloud-keyring```;

# echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list```
更新所有安裝包

apt-get update && apt-get dist-upgrade```

  1. 安裝NTP

# apt-get install ntp```

# 網(wǎng)絡(luò)配置

![網(wǎng)絡(luò)基本架構(gòu)圖](https://wt-prj.oss.aliyuncs.com/d73bb2b1eddf48eeb64933373734de51/d0522985-0bea-402e-83f9-1306bdd988ac.png)
上圖為本文所用的基本網(wǎng)絡(luò)架構(gòu)圖,由于之前試驗(yàn)使用官方文檔的網(wǎng)絡(luò)IP配置會(huì)導(dǎo)致連接不上外網(wǎng)(具體原因不明,個(gè)人感覺是因?yàn)镮P的網(wǎng)段和使用虛擬機(jī)的主機(jī)的網(wǎng)段處于同一網(wǎng)段中而沖突,后用Ubuntu server版測試,還是網(wǎng)關(guān)問題,注釋掉設(shè)置文件中eth0的網(wǎng)關(guān)后即可以聯(lián)網(wǎng)),故IP的設(shè)定參考[OPENSTACK JUNO: INSTALLATION USING VIRTUALBOX & UBUNTU 14.10 ( BASIC ENVIRONMENT ) - 1](http://chaalpritam.blogspot.jp/2015/03/openstack-juno-installation-basic-environment.html)文章中的IP設(shè)定,下文將詳細(xì)給出。

具體IP配置方案如下:
| 網(wǎng)絡(luò) | 使用的網(wǎng)段 |
|:-----:|:------------:|
| The management network | 10.10.10.1 |
| The tunnel network | 10.20.20.1 |
| The external network | 192.168.100.1 |

management network里各個(gè)節(jié)點(diǎn)的IP設(shè)定如下:
| 節(jié)點(diǎn) | 使用IP |
|:-----:|:-------:|
| controller | 10.10.10.10 |
| compute | 10.10.10.11 |
| network | 10.10.10.12 |
| block | 10.10.10.13 |
| object1 | 10.10.10.14 |
| object2 | 10.10.10.15 |

在進(jìn)行各個(gè)節(jié)點(diǎn)具體操作之前,先設(shè)定虛擬機(jī)網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò),進(jìn)入VirtualBox->全局設(shè)定->網(wǎng)絡(luò)->僅主機(jī)(Host-Only)網(wǎng)絡(luò):
1. 添加網(wǎng)絡(luò)VirtualBox Host-Only Ethernet Adapter #2,主機(jī)虛擬網(wǎng)絡(luò)界面中設(shè)置IPv4地址為10.10.10.1,IPv4網(wǎng)絡(luò)掩碼為255.255.255.0,DHCP服務(wù)器選項(xiàng)不啟用;
2. 添加網(wǎng)絡(luò)VirtualBox Host-Only Ethernet Adapter #3,主機(jī)虛擬網(wǎng)絡(luò)界面中設(shè)置IPv4地址為10.20.20.1,IPv4網(wǎng)絡(luò)掩碼為255.255.255.0,DHCP服務(wù)器選項(xiàng)不啟用;
3. 添加網(wǎng)絡(luò)VirtualBox Host-Only Ethernet Adapter #4,主機(jī)虛擬網(wǎng)絡(luò)界面中設(shè)置IPv4地址為192.168.100.1,IPv4網(wǎng)絡(luò)掩碼為255.255.255.0,DHCP服務(wù)器選項(xiàng)不啟用;

## controller節(jié)點(diǎn)上的網(wǎng)絡(luò)配置

controller節(jié)點(diǎn)虛擬機(jī)網(wǎng)絡(luò)設(shè)置,設(shè)置->網(wǎng)絡(luò):
1. 網(wǎng)卡1,連接方式->僅主機(jī)(Host-Only)適配器,界面名稱->VirtualBox Host-Only Ethernet Adapter #2,控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),混雜模式->全部允許,接入網(wǎng)線->勾選;
2. 網(wǎng)卡2,連接方式->網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),接入網(wǎng)線->勾選。

啟動(dòng)虛擬機(jī)后,配置其網(wǎng)絡(luò),通過更改```
# vi /etc/network/interfaces```文件,添加如下代碼:

The management network interface

auto eth0 iface eth0 inet static address 10.10.10.10 netmask 255.255.255.0

The NAT network

auto eth2 iface eth2 inet dhcp```

配置命名的解決方案,更改```

vi /etc/hostname文件,將主機(jī)名改為controller,更改

vi /etc/hosts```文件,添加以下代碼:

10.10.10.10    controller
10.10.10.11    compute
10.10.10.12    network
10.10.10.13    block
10.10.10.14    object1
10.10.10.15    object2```

之后重啟系統(tǒng)激活配置。

## compute節(jié)點(diǎn)上的網(wǎng)絡(luò)配置

compute節(jié)點(diǎn)虛擬機(jī)網(wǎng)絡(luò)設(shè)置,設(shè)置->網(wǎng)絡(luò):
1. 網(wǎng)卡1,連接方式->僅主機(jī)(Host-Only)適配器,界面名稱->VirtualBox Host-Only Ethernet Adapter #2,控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),混雜模式->全部允許,接入網(wǎng)線->勾選;
2. 網(wǎng)卡2,連接方式->僅主機(jī)(Host-Only)適配器,界面名稱->VirtualBox Host-Only Ethernet Adapter #3,控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),混雜模式->全部允許,接入網(wǎng)線->勾選;
3. 網(wǎng)卡3,連接方式->網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),接入網(wǎng)線->勾選。

啟動(dòng)虛擬機(jī)后,配置其網(wǎng)絡(luò),通過更改```
# vi /etc/network/interfaces```文件,添加如下代碼:

The management network interface

auto eth0 iface eth0 inet static address 10.10.10.11 netmask 255.255.255.0

The tunnel network interface

auto eth2 iface eth2 inet static address 10.20.20.11 netmask 255.255.255.0

The NAT network

auto eth3 iface eth3 inet dhcp```

配置命名的解決方案,更改```

vi /etc/hostname文件,將主機(jī)名改為compute,更改

vi /etc/hosts```文件,添加以下代碼:

10.10.10.10    controller
10.10.10.11    compute
10.10.10.12    network
10.10.10.13    block
10.10.10.14    object1
10.10.10.15    object2```

之后重啟系統(tǒng)激活配置。

## network節(jié)點(diǎn)上的網(wǎng)絡(luò)配置

network節(jié)點(diǎn)虛擬機(jī)網(wǎng)絡(luò)設(shè)置,設(shè)置->網(wǎng)絡(luò):
1. 網(wǎng)卡1,連接方式->僅主機(jī)(Host-Only)適配器,界面名稱->VirtualBox Host-Only Ethernet Adapter #2,控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),混雜模式->全部允許,接入網(wǎng)線->勾選;
2. 網(wǎng)卡2,連接方式->僅主機(jī)(Host-Only)適配器,界面名稱->VirtualBox Host-Only Ethernet Adapter #3,控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),混雜模式->全部允許,接入網(wǎng)線->勾選;
3. 網(wǎng)卡3,連接方式->僅主機(jī)(Host-Only)適配器,界面名稱->VirtualBox Host-Only Ethernet Adapter #4,控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),混雜模式->全部允許,接入網(wǎng)線->勾選;
4. 網(wǎng)卡4,連接方式->網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),控制芯片->準(zhǔn)虛擬化網(wǎng)絡(luò)(virtio-net),接入網(wǎng)線->勾選。

啟動(dòng)虛擬機(jī)后,配置其網(wǎng)絡(luò),通過更改```
# vi /etc/network/interfaces```文件,添加如下代碼:

The management network interface

auto eth0 iface eth0 inet static address 10.10.10.12 netmask 255.255.255.0

The tunnel network interface

auto eth2 iface eth2 inet static address 10.20.20.12 netmask 255.255.255.0

The external network interface

auto eth3 iface eth3 inet manual up ip link set dev $IFACE up down ip link set dev $IFACE down

The NAT network

auto eth4 iface eth4 inet dhcp```

配置命名的解決方案,更改```

vi /etc/hostname文件,將主機(jī)名改為network,更改

vi /etc/hosts```文件,添加以下代碼:

10.10.10.10    controller
10.10.10.11    compute
10.10.10.12    network
10.10.10.13    block
10.10.10.14    object1
10.10.10.15    object2```

之后重啟系統(tǒng)激活配置。

## 驗(yàn)證節(jié)點(diǎn)之間的連通性

各個(gè)節(jié)點(diǎn)之間能相互ping通,能ping外網(wǎng),以controller節(jié)點(diǎn)為例:

1. ping外網(wǎng)

$ ping -c 4 www.baidu.com PING www.a.shifen.com (14.215.177.37) 56(84) bytes of data. 64 bytes from 14.215.177.37: icmp_seq=1 ttl=54 time=6.16 ms 64 bytes from 14.215.177.37: icmp_seq=2 ttl=54 time=6.42 ms 64 bytes from 14.215.177.37: icmp_seq=3 ttl=54 time=6.12 ms 64 bytes from 14.215.177.37: icmp_seq=4 ttl=54 time=5.84 ms

--- www.a.shifen.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 5.841/6.140/6.429/0.229 ms```

  1. ping compute節(jié)點(diǎn)

$ ping -c 4 compute
 PING compute (10.10.10.11) 56(84) bytes of data.
 64 bytes from compute (10.10.10.11): icmp_seq=1 ttl=64 time=1.35 ms
 64 bytes from compute (10.10.10.11): icmp_seq=2 ttl=64 time=0.936 ms
 64 bytes from compute (10.10.10.11): icmp_seq=3 ttl=64 time=0.843 ms
 64 bytes from compute (10.10.10.11): icmp_seq=4 ttl=64 time=1.09 ms

 --- compute ping statistics ---
 4 packets transmitted, 4 received, 0% packet loss, time 3002ms
 rtt min/avg/max/mdev = 0.843/1.055/1.352/0.194 ms```

3. ping network節(jié)點(diǎn)

$ ping -c 4 network PING network (10.10.10.12) 56(84) bytes of data. 64 bytes from network (10.10.10.12): icmp_seq=1 ttl=64 time=0.975 ms 64 bytes from network (10.10.10.12): icmp_seq=2 ttl=64 time=0.530 ms 64 bytes from network (10.10.10.12): icmp_seq=3 ttl=64 time=1.05 ms 64 bytes from network (10.10.10.12): icmp_seq=4 ttl=64 time=0.815 ms

--- network ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 0.530/0.844/1.056/0.200 ms```

Network Time Protocol(NTP)

NTP是用來同步各個(gè)節(jié)點(diǎn)之間的服務(wù)(service)的,推薦讓controller節(jié)點(diǎn)參照一些更精確的服務(wù)器來同步,而其他節(jié)點(diǎn)參照controller節(jié)點(diǎn)來同步。(We recommend that you configure the controller node to reference more accurate (lower stratum) servers and other nodes to reference the controller node.)

controller節(jié)點(diǎn)上NTP的配置

安裝NTP

# apt-get install ntp```

配置NTP

1. 修改配置文件```
# vi /etc/ntp.conf```,添加如下代碼:

server NTP_SERVER iburst restrict -4 default kod notrap nomodify restrict -6 default kod notrap nomodify NTP_SERVER這里被代替為controller,也可設(shè)置為其他主機(jī)名或服務(wù)器,在配置文件中其他參照的server不需要使用的話也可以注釋掉,restrict選項(xiàng)中移除nopeer和noquery選項(xiàng)。如果 /var/lib/ntp/ntp.conf.dhcp```文件存在,則刪除之。

  1. 重啟NTP服務(wù):```

service ntp restart```

其他節(jié)點(diǎn)上NTP的配置

安裝NTP

# apt-get install ntp```

配置NTP

1. 修改配置文件```
# vi /etc/ntp.conf```,添加如下代碼:

server controller iburst 其他server全部都注釋掉。如果 /var/lib/ntp/ntp.conf.dhcp```文件存在,則刪除之。

  1. 重啟NTP服務(wù):```

service ntp restart```

驗(yàn)證

  1. 在controller節(jié)點(diǎn)上運(yùn)行如下命令:

# ntpq -c peers
      remote           refid      st t when poll reach   delay   offset  jitter
 ==============================================================================
  localhost       .STEP.          16 l    -   64    0    0.000    0.000   0.000
  91.189.89.199   193.79.237.14    2 u   67   64   16  273.049  -69.706  53.406```
remote這欄中能看到主機(jī)名或者多個(gè)NTP服務(wù)器的IP地址。

2. 在controller節(jié)點(diǎn)上運(yùn)行如下命令:

ntpq -c assoc

ind assid status conf reach auth condition last_event cnt

1 21224 8011 yes no none reject mobilize 1 2 21225 965a yes yes none sys.peer sys_peer 5``` condition這欄中至少有一個(gè)server含有sys.peer。

  1. 在其他節(jié)點(diǎn)上運(yùn)行如下命令:

ntpq -c peers
      remote           refid      st t when poll reach   delay   offset  jitter
 ==============================================================================
  controller      91.189.89.199    3 u   23   64    0    0.000    0.000   0.000```
remote這欄中顯示controller節(jié)點(diǎn)的主機(jī)名。

4. 在其他節(jié)點(diǎn)上運(yùn)行如下命令:

ntpq -c assoc ind assid status conf reach auth condition last_event cnt

1 57512 9024 yes yes none reject reachable 2``` 這里condition欄按照官方文檔應(yīng)該是sys.peer,這里顯示為reject不知道原因?yàn)楹?,參考以下兩篇文章,其也顯示為reject,OpenStack入門教程 -Part2- 配置 OpenStack 實(shí)驗(yàn)環(huán)境,openstack【Kilo】入門 【準(zhǔn)備篇】二:NTP安裝。

OpenStack安裝包

方法如本文開頭備注所寫。

數(shù)據(jù)庫配置

數(shù)據(jù)庫一般都安裝在controller節(jié)點(diǎn)上,本文采用MySQL。

  1. 安裝數(shù)據(jù)庫

# apt-get install mariadb-server python-mysqldb```
在安裝過程中會(huì)要求創(chuàng)建和輸入root帳號(hào)的密碼。

2. 修改數(shù)據(jù)庫的配置文件,```
# vi  /etc/mysql/my.cnf```:
在```
[mysqld]```部分,把```
bind-address```對(duì)應(yīng)的IP地址替換為controller的management網(wǎng)絡(luò)的接口IP。

[mysqld] ... bind-address = 10.10.10.10 繼續(xù)在 [mysqld]```部分添加如下代碼:

[mysqld]
 ...
 default-storage-engine = innodb
 innodb_file_per_table
 collation-server = utf8_general_ci
 init-connect = 'SET NAMES utf8'
 character-set-server = utf8```

3. 重啟數(shù)據(jù)庫服務(wù):

service mysql restart```

  1. 設(shè)置數(shù)據(jù)庫安全參數(shù)

# mysql_secure_installation```
在設(shè)置的步驟中,可以不用重置root密碼,其他按提示設(shè)置即可。

# 消息服務(wù)(Messaging server)
本文選用RabbitMQ作為消息隊(duì)列服務(wù)器。

安裝RabbitMQ:

apt-get install rabbitmq-server```

安裝過程中RabbitMQ會(huì)自動(dòng)創(chuàng)造一個(gè)名為guest的賬戶,密碼也為guest。為了方便,在本文中使用guest這個(gè)賬戶,可以使用以下命令修改密碼,將其中RABBIT_PASS替換為合適的密碼:

# rabbitmqctl change_password guest RABBIT_PASS
Changing password for user "guest" ...
...done.```

對(duì)于3.3.0以上版本的,需要開啟遠(yuǎn)程訪問,具體操作如下:

檢查RabbitMQ版本

rabbitmqctl status | grep rabbit

Status of node 'rabbit@controller' ... {running_applications,[{rabbit,"RabbitMQ","3.4.2"},```

檢查 /etc/rabbitmq/rabbitmq.config文件,確保loopback_users對(duì)應(yīng)空列表

[{rabbit, [{loopback_users, []}]}].```
如果文件不存在則新建一個(gè),將上述代碼寫入其中。

重啟服務(wù)

service rabbitmq-server restart```

至此,OpenStack的基礎(chǔ)環(huán)境配置完成。

安裝時(shí)出現(xiàn)的問題及解決方法

  • 安裝OpenStack的repository時(shí),使用sudo安裝的話,到最后會(huì)有幾個(gè)文件因?yàn)闄?quán)限問題裝不了,需轉(zhuǎn)成root用戶才能完整安裝。

  • 在配置虛擬機(jī)網(wǎng)絡(luò)時(shí),虛擬網(wǎng)卡最后選用用virtio-net,否則會(huì)遇到設(shè)置好網(wǎng)絡(luò)后無法連接外網(wǎng)的情況。還有就是如果在網(wǎng)絡(luò)配置文件 /etc/network/interfaces中,設(shè)置了內(nèi)網(wǎng)網(wǎng)絡(luò)的網(wǎng)關(guān)也會(huì)導(dǎo)致不能連接外網(wǎng)。

  • RabbitMQ版本即使沒有高于3.3.0,最好也還是將 /etc/rabbitmq/rabbitmq.config文件按高于3.3.0版本的要求設(shè)置好,不然在以后neturon安裝過程中可能會(huì)出現(xiàn),安裝完成后輸入```

neutron agent-list```命令后顯示為空的情況。

感謝各位的閱讀!關(guān)于“juno版OpenStack如何部署”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI