1. 程式人生 > >簡易手動部署多節點的Openstack(L版)——肆(安裝Nova服務)

簡易手動部署多節點的Openstack(L版)——肆(安裝Nova服務)

  • 注:前半部分在控制節點安裝並配置Nova服務

在控制節點新增Nova資料庫並新增Nova使用者

1、建立資料庫:

  • 用資料庫連線客戶端以 root 使用者連線到資料庫伺服器:
    mysql -u root -p
  • 建立 nova資料庫:
    CREATE DATABASE nova;
  • nova資料庫授予恰當的訪問許可權,使用合適的密碼替換NOVA_DBPASS
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
    IDENTIFIED BY 'NOVA_DBPASS';
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
    IDENTIFIED BY 'NOVA_DBPASS';
  • 退出資料庫客戶端

2、獲得 admin 憑證來獲取只有管理員能執行命令的訪問許可權:

source admin-openrc.sh

3、建立服務證書:

  • 建立 nova 使用者:
    openstack user create --domain default --password-prompt nova
  • 新增admin 角色到 nova 使用者:
    openstack role add --project service --user nova admin
  • 建立nova 服務實體:
    openstack service create --name nova \
    --description "OpenStack Compute" compute

4、建立計算服務API端點:

# 建立public端點:
openstack endpoint create --region RegionOne \
  compute public http://controller:8774/v2/%\(tenant_id\)s

#建立internal端點:
openstack endpoint create --region RegionOne \
  compute internal http://controller:8774/v2/%\(tenant_id\)s

#建立admin端點:
openstack endpoint create --region RegionOne \
compute admin http://controller:8774/v2/%\(tenant_id\)s

安裝並配置元件

1、安裝軟體包:

apt-get install nova-api nova-cert nova-conductor \
  nova-consoleauth nova-novncproxy nova-scheduler \
  python-novaclient

2、編輯/etc/nova/nova.conf檔案並完成如下修改:

#在 [database] 部分,配置資料庫訪問,使用你為計算資料庫選擇的密碼替換NOVA_DBPASS:
[database]
...
connection = mysql+pymysql://nova:[email protected]/nova

#在[DEFAULT]和 [oslo_messaging_rabbit]部分,配置 RabbitMQ 訊息佇列訪問,用你在RabbitMQ中為 openstack使用者選擇的密碼替換RABBIT_PASS:
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

#在[DEFAULT]和[keystone_authtoken]部分,配置認證服務訪問,使用你在身份認證服務中選擇的nova使用者密碼替換NOVA_PASS並在 [keystone_authtoken] 中註釋或者刪除其他選項:
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS

#在 [DEFAULT] 部分,配置 my_ip 來使用控制節點的管理介面的IP 地址並啟用網路服務支援:
[DEFAULT]
...
my_ip = 10.122.0.1

network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver

#在[DEFAULT]部分,禁用EC2 API,並啟用日誌:
[DEFAULT]
...
enabled_apis=osapi_compute,metadata
verbose = True

#在[vnc]部分,配置VNC代理使用控制節點的管理IP地址 :
[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

#在[glance]部分,配置映象服務的位置:
[glance]
...
host = controller

#在 [oslo_concurrency] 部分,配置鎖路徑:
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

3、同步Compute 資料庫:

su -s /bin/sh -c "nova-manage db sync" nova

4、重啟 Compute 服務:

service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-novncproxy restart

5、刪除Ubuntu預設建立的SQLite資料庫:

rm -f /var/lib/nova/nova.sqlite
  • 注:以下在計算節點上完成相關配置。

在計算節點上安裝並配置Nova元件

1、安裝軟體包:

apt-get install nova-compute sysfsutils

2、編輯/etc/nova/nova.conf檔案並完成如下修改:

# 在[DEFAULT] 和 [oslo_messaging_rabbit]部分,配置RabbitMQ訊息佇列,用你在RabbitMQ中為openstack使用者選擇的密碼替換RABBIT_PASS:
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

#在[DEFAULT]和[keystone_authtoken]部分,配置認證服務訪問,用你在身份認證服務中選擇的nova使用者密碼替換NOVA_PASS,在 [keystone_authtoken] 中註釋或者刪除其他選項:
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS

#在 [DEFAULT] 部分,配置 my_ip 選項,將其中的 MANAGEMENT_INTERFACE_IP_ADDRESS 替換為計算節點上的管理網路介面的IP 地址,如10.122.0.2:
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

#在[DEFAULT]部分,啟用網路服務支援同時啟用日誌:
[DEFAULT]
...
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
verbose = True

#在[vnc]部分,啟用並配置遠端控制檯訪問,如果你執行瀏覽器的主機無法解析controller主機名,你可以將 controller替換為你控制節點管理網路的IP地址。:
[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

#在[glance]部分,配置映象服務的位置:
[glance]
...
host = controller

#在 [oslo_concurrency] 部分,配置鎖路徑:
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

3、確定您的計算節點是否支援虛擬機器的硬體加速。

egrep -c '(vmx|svm)' /proc/cpuinfo
  • 如果這個命令返回 1或者更大的值,說明您的計算節點支援硬體加速,一般不需要進行額外的配置。直接轉步驟4
  • 如果這個命令返回0,你的計算節點不支援硬體加速,你必須配置 libvirt 使用QEMU而不是使用KVM。在/etc/nova/nova-compute.conf檔案中像下面這樣編輯[libvirt]部分,然後轉步驟4:
[libvirt]
...
virt_type = qemu

4、重啟計算服務:

service nova-compute restart

5、刪除Ubuntu預設建立的SQLite資料庫:

rm -f /var/lib/nova/nova.sqlite

驗證Nova服務(在控制節點上進行)

1、獲得 admin 憑證來獲取只有管理員能執行命令的訪問許可權:

source admin-openrc.sh

2、列出服務元件,以驗證是否成功啟動並註冊了每個程序(如果你只有一個控制節點和一個計算節點的話,該輸出應該顯示五個服務四個服務元件在控制節點上啟用,一個服務元件在計算節點上啟用):

nova service-list

3、列出身份認證服務中的 API 端點來驗證身份認證服務的連通性(可以忽略輸出的警告):

nova endpoints

4、列出映象服務目錄的映象,驗證映象服務的連通性:

nova image-list
  • 注:如果你有多個計算節點的話也按照如上步驟配置,注意修改相應的IP地址即可
    本文基於參考文章撰寫,根據自己的理解對於翻譯難以理解的部分進行了調整,此博文部署過程親測可用。
    參考文章:OpenStack官方文件

相關推薦

簡易手動部署節點OpenstackL——安裝Nova服務

注:前半部分在控制節點安裝並配置Nova服務 在控制節點新增Nova資料庫並新增Nova使用者 1、建立資料庫: 用資料庫連線客戶端以 root 使用者連線到資料庫伺服器: mysql -u root -p 建立 nova資料庫: CREATE

基於kolla部署節點OpenStack(Ocata)-續

1. 檢視各個服務是否正常 計算服務:一個控制節點,一個計算節點,計算服務均正常啟動 塊儲存服務:一個控制節點,一個儲存節點,儲存服務均正常啟動 網路代理:網路服務在控制節點和計算節點,並且都正常啟動 2.安裝OpenStack cl

基於kolla部署節點OpenStack(Ocata)

在這篇文章(http://blog.csdn.net/dylloveyou/article/details/77148560)中,我們已經部署了單節點的OpenStack環境,這次我們嘗試部署一個多節點的環境(包括1個controller節點,1個compute

超級賬本HyperLedger的Fabric“全手動”、“節點部署教程,帶視訊演示

說明 雖然通過Building Your First Network中的docker-compose檔案可以直接啟動一個all-in-one的fabric。 但這種方式隱藏了太多的細節,只能讓人有個模糊的認識,對生產環境中部署方式、多伺服器部署,依然不清不楚, 對各

在單機上使用Kubeadm-dind 部署節點k8s叢集

     近幾年Google的Kubernetes(簡稱k8s)已經成為分散式容器編排和管理領域事實上的標準,在基於容器的微服務架構下的分散式應用開發、部署和運維管理等領域,會有越來越多的使用者部署和使用k8s平臺。對於初學著來說,部署一個多機k8s叢集一來缺少環境、另

部署節點openstack私有云

Controller: 1、修改主機名 vi /etc/sysconfig/network 使主機名生效: hostname controller&&bash 2、新增主機名與ip地址對映 vi /etc/hosts 測試下是否對映成功:

同一伺服器部署個tomca的埠號修改詳情同時啟動兩個tomcat

同一伺服器部署多個tomcat時的埠號修改詳情(同時啟動兩個tomcat) 同一伺服器部署多個tomcat時,存在埠號衝突的問題,所以需要修改tomcat配置檔案server.xml,以tomc

在 Linux 部署節點 Kubernetes 叢集與 KubeSphere 容器平臺

KubeSphere 是在 Kubernetes 之上構建的以應用為中心的企業級容器平臺,所有供為使用者提供簡單易用的操作介面以及嚮導式操作方式。同時,KubeSphere Installer 提供了 快速部署生產級別的 Kubernetes 叢集和全棧化容器平臺的功能,能夠快速幫助企業使用者快速搭建一套以應

Linux 執行行命令的方法與區別解決supervisor啟動使用GPU的python服務

在很多情況下,我們需要一次性執行多條命令。比如我在用supervisor啟動python服務的時候就有類似的需求。 對於我的例子背景是通過supervisor監控python在python 35環境下的GPU使用的服務,其中分三個塊:python35環境的需求、GPU服務的使用、服務自動重啟。當

Windows下安裝RabbitMQ服務

百度網盤 http lang gin 配置 ble localhost 語言 load 一:安裝RabbitMQ需要先安裝Erlang語言開發包,百度網盤地址:http://pan.baidu.com/s/1jH8S2u6。直接下載地址:http://erlang.org/

centos7.5靜態網頁基於nginx建站python3.6 mysql5.7 nginx安裝以及配置

系統純淨 首先在不損壞原生Python2.7的情況下安裝python3.6 centos7安裝pip 1.執行:yum install python-pip 若沒有python-pip包,先執行:yum -y install epel-release,再執行yum install python-

阿里雲中ssl配置nginx安裝https服務

1.配置      a.阿里雲伺服器      b.安裝了nginx,php等 2.申請免費ssl證數 a. b. c.產看ssl證數 d.下載證數 e,這裡我下載的是nginx(crt與key檔案) f.伺服器上配置

阿里資深架構師構造Java架構學習樹效能調優+常用框架原始碼+微服務

效能調優專題 效能優化如何理解 JVM調優 JAVA程式效能優化 Tomcat Mysql 歡迎加入Java高階架構學習交流群:805685193 免費獲取Dubbo、Redis、設計模式、Netty、zookeeper、S

解決:-bash: unzip: command not found Linux 中 unZip/Zip 的安裝及使用

【轉自:http://ju.outofmemory.cn/entry/315349】 Linux系統沒有自帶的壓縮解壓工具;需要我們自己安裝; 當用到zip或者unzip如果沒有安裝就會出現 unzip: Command Not Found 或 zip: Command Not Found

關於虛擬機器中網路配置及埠對映外部能夠訪問虛擬機器裡面的服務

0: 以管理員的身份執行 1: 編輯---------à 虛擬網路編輯器                             &nb

PAT 1020 月餅 (25)精簡程式碼+思路+推薦測試用例

1020 月餅 (25)(25 分)提問 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。 注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們

RabbitMQ入門教程概念,應用場景,安裝,使用

RabbitMQ 簡介 RabbitMQ是一個在AMQP(Advanced Message Queuing Protocol )基礎上實現的,可複用的企業訊息系統。它可以用於大型軟體系統各個模組之間的高效通訊,支援高併發,支援可擴充套件。 AMQP AMQP,即Advanced Mess

redis-5.0.0基於Redis官方工具的叢集搭建排坑指南,從安裝Redis開始

一、前言 搭建Redis叢集的教程很多,介紹的也很全面,但是大多數 還是使用Ruby指令碼的版本,安裝Ruby本身也不是一件簡單的事情,redis-5.0.0之後已經將 redis-trib.rb 指令碼的功能全部整合到 redis-cli之中了,本章基於redis-cli 的&nbs

Windows下python的pip使用升級pip、管理pip安裝的庫

開啟命令控制行cmd: 使用命令pip show pip,可以檢視pip的資訊。 使用命令pip help,可以檢視幫助。 使用命令python -m pip install --upgrade pip,可以升級pip。 使用命令pip list --outdated,可以檢視當前庫,有沒有

Ubuntu16.04下的NetCore環境搭建附錄含Ubuntu 18.04 安裝 NetCore2.1

官方參考連結: 2.安裝SDK sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/s