Murano 安裝與設定

Murano 是 OpenStack 的專案之一,它將許多應用程式與多功能工具進行封裝,形成應用程式目錄,透過目錄方式來快速提交應用程式,讓IT人員只需要點擊設定參數就可以快速部署應用程式。

安裝需求

在進行安裝 Murano 之前,需要滿足以下服務才能完整的部署完成服務:

  • Keystone --- Identity service
  • Glance ----- Image service
  • Nova ------- Compute service
  • Neutron ---- Network service
  • Cinder ----- Block Storage service
  • Heat ------- Orchestration service

安裝前準備

在開始安裝前,要預先建立一個資料庫給 Murano 儲存相關資訊,使用以下指令建立資料庫:

$ mysql -u root -p

透過以下命令用來更新現有帳號資料或建立 Murano 資料庫:

CREATE DATABASE murano;
GRANT ALL PRIVILEGES ON murano.* TO 'murano'@'localhost'  IDENTIFIED BY ' MURANO_DBPASS';
GRANT ALL PRIVILEGES ON murano.* TO 'murano'@'%'  IDENTIFIED BY 'MURANO_DBPASS';

這邊MURANO_DBPASS可以隨需求修改。

完成後離開資料庫,接著要建立 Service 與 API Endpoint,首先導入admin環境變數:

$ . admin-openrc

接著透過以下流程來建立 Murano 的使用者、Service 以及 API Endpoint:

# 建立 Murano user
$ openstack user create --domain default --password MURANO_PASS --email [email protected] murano

# 新增 Murano user 到 Admin Role
$ openstack role add --project service --user murano admin

# 建立 Murano service
$ openstack service create --name murano \
--description "Application Catalog" application-catalog

# 建立 Murano public endpoints
$ openstack endpoint create --region RegionOne \
application-catalog public http://10.0.0.11:8082

# 建立 Murano internal endpoints
$ openstack endpoint create --region RegionOne \
application-catalog internal http://10.0.0.11:8082

# 建立 Murano admin endpoints
$ openstack endpoint create --region RegionOne \
application-catalog admin http://10.0.0.11:8082

這邊MURANO_PASS可以隨需求修改。

套件安裝與設定

在開始設定之前,首先要安裝相關套件與 OpenStack 服務套件,可以透過以下指令進行安裝:

$ DEBIAN_FRONTEND=noninteractive sudo apt-get install murano-api murano-engine python-muranoclient

安裝完成後,編輯/etc/murano/murano.conf設定檔,在[DEFAULT]部分加入以下內容:

[DEFAULT]
home_region = RegionOne
use_syslog = False
debug = True

transport_url = rabbit://openstack:[email protected]
auth_strategy = keystone

這邊RABBIT_PASS可以隨需求修改。

接下來,在[database]部分修改使用以下方式:

[database]
connection = mysql+pymysql://murano:[email protected]/murano

這邊MURANO_DBPASS可以隨需求修改。

[keystone_authtoken]部分加入以下內容:

[keystone_authtoken]
memcached_servers = 10.0.0.11:11211
auth_version = v3
auth_url = http://10.0.0.11:35357
auth_uri = http://10.0.0.11:5000/v3
project_domain_id = default
project_name = service
user_domain_id = default
auth_type = password
username = murano
password = MURANO_PASS

這邊MURANO_PASS可以隨需求修改。

[engine]部分加入以下內容:

[engine]
enable_model_policy_enforcer = False

[murano]部分加入以下內容:

[murano]
url = http://127.0.0.1:8082

[networking]部分加入以下內容:

[networking]
create_router = true
external_network = EXTERNAL_NETWORK

這邊EXTERNAL_NETWORK請取代成環境的 Provider 網路。

[oslo_messaging_notifications]部分加入以下內容:

[oslo_messaging_notifications]
driver = messaging

[oslo_policy]部分加入以下內容:

[oslo_policy]
policy_file = /etc/murano/policy.json

[oslo_concurrency]部分加入以下內容:

[oslo_concurrency]
lock_path = /var/lib/murano/tmp

完成所有設定後,即可同步資料庫來建立 Murano 資料表:

$ sudo murano-db-manage upgrade

重新啟動所有 Murano 服務:

sudo service murano-api restart
sudo service murano-engine restart

驗證服務

首先回到Controller節點並接著導入admin帳號來驗證服務:

$ . admin-openrc

下載將使用的 Murano meta core 套件,並上傳核心套件:

$ git clone https://github.com/openstack/murano.git -b stable/newton
$ cd murano
$ pushd ./meta/io.murano
$ zip -r ../../io.murano.zip *
$ popd && murano package-import --is-public io.murano.zip

透過 Murano client 來查看服務列表,如以下方式:

$ murano package-list

results matching ""

    No results matching ""