murano由来

OpenStack在H版本到K版本的摸索中,对整合容器的思路逐步清晰与成熟,温哥华OpenStack Summit上,Container/Docker成为一大关注焦点,随后发表的白皮书《Exploring Opportunities:Containers and OpenStack》阐明了OpenStack今后深度整合容器的方式与方向。基于这份白皮书,Liberty版本发布时,包含了许多容器相关的重要新特性:

● Magnum-提供容器环境的编排、部署与管理,即:COE(Container Orchestration Engines) as a service,目前支持Kubernetes、Mesos和Docker Swarm;

● Kuryr-集成libnetwork等原生的容器网络组件,打通容器网络与Neutron网络;

● Murano-提供应用目录服务,实现服务与应用程序的一键发布、快速部署和生命周期管理;

● Solum-简化云应用程序从研发到交付的生命周期管理,为云应用开发者提供持续集成的能力;

● Manila-文件共享服务,可以为容器应用的Replication和多读多写提供持久化存储方案。

murano简介

容器的出现解决了服务与应用的快速部署与弹性扩展的问题,使得这些年不温不火的PaaS平台重新得到了关注。如何将第三方开发者的服务与应用方便地发布出来是PaaS平台的一个重要功能点,即PaaS平台的应用目录(Application Catalog)服务。各主流的PaaS平台,比如OpenShift、CloudFundry、GAE都有相应的方案,但发布接口与应用打包方式并不统一。OpenStack的Murano致力于通过标准化以及一套新的编程语言(YAQL)来解决这一问题。

Murano是OpenStack的应用目录服务,在Murano的世界里,一切皆服务(Anything as a Service),不管是虚拟机镜像、容器镜像、服务应用模板,甚至是一个编排模板(HOT),都可以在Murano中发布。第三方开发者与管理员可以通过标准的接口、标准的应用打包规范、标准的应用发布流程,标准的生命周期管理流程,来实现服务与应用程序的一键发布、快速部署和管理,降低服务与应用程序对底层基础架构的依赖。简单说,Muarno主要提供应用目录的服务,就是用户可以把一些常用的应用发布出来供其他用户去使用。

在Liberty版本中,开发者的控制得到加强,支持应用版本升级。应用程序的使用者可以自由选择应用将要被部署的网络。另外,在基础设施控制方面,Murano能够使用Glance Artifact Repository作为它的存储后端,通过Glance Artifact API即可读取或存储服务镜像。

murano相关的几个项目:

(1)murano是主要的存储库,包含 Murano API server, Murano engine and MuranoPL代码;

(2)murano-agent运行在vm上,并执行安装应用部署;

(3)murano-dashboard是murano的UI;

(4)python-muranoclient客户端。

Murano和Murano-dashboard安装

1

创建murano数据库,并设置数据库的用户名密码都为murano

mysql

CREATE DATABASE murano;

GRANT ALL PRIVILEGES ON murano.* TO 'murano'@'10.43.166.104' IDENTIFIED BY 'murano';

GRANT ALL PRIVILEGES ON murano.* TO 'murano'@'%' IDENTIFIED BY 'murano';

注:后面在murano.conf文件中填写murano的数据库连接时,如下

mysql+pymysql://murano:murano@10.43.166.104/murano

2

创建user和role

创建user和role时,对应的project可以通过openstack project list查看

openstack user create --password murano murano

openstack role add --project admin --user murano admin

3

取代码安装

git clone https://git.openstack.org/openstack/murano

cd murano

sudo pip install -e .

注:环境需要提前安装pip、tox等工具。

4

创建配置文件存放目录

mkdir -p /etc/murano

5

生成默认murano.conf文件(环境需安装tox和gcc等工具)

tox -egenconfig

生成的配置文件保存在源码的murano/etc/murano/murano.conf.sample

需要将配置文件复制到环境/etc/murano目录下

cp murano/etc/murano/murano.conf.sample /etc/murano/murano.conf

cp murano/etc/murano/api-paste.ini /etc/murano/api-paste.ini

cp murano/etc/murano/policy.json /etc/murano/policy.json

6

配置文件

修改/etc/murano/murano.conf配置文件,下面列出几项都是基本配置,

比如%RABBITMQ_SERVER_IP%,需要替换为环境中的实际值

[DEFAULT]

debug = true

verbose = true

rabbit_host = %RABBITMQ_SERVER_IP%

rabbit_userid = %RABBITMQ_USER%

rabbit_password = %RABBITMQ_PASSWORD%

rabbit_virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST%

...

[database]

connection = mysql+pymysql://murano:%MURANO_DB_PASSWORD%@127.0.0.1/murano

...

[keystone]

auth_url = 'http://%OPENSTACK_HOST_IP%:5000'

...

[keystone_authtoken]

auth_uri = 'http://%OPENSTACK_HOST_IP%:5000'

auth_host = '%OPENSTACK_HOST_IP%'

auth_port = 5000

auth_protocol = http

admin_tenant_name = %OPENSTACK_ADMIN_TENANT%

admin_user = %OPENSTACK_ADMIN_USER%

admin_password = %OPENSTACK_ADMIN_PASSWORD%

...

[murano]

url = http://%YOUR_HOST_IP%:8082

[rabbitmq]

host = %RABBITMQ_SERVER_IP%

login = %RABBITMQ_USER%

password = %RABBITMQ_PASSWORD%

virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST%

[networking]

default_dns = 8.8.8.8 # In case OpenStack neutron has no default

[oslo_messaging_notifications]

driver = messagingv2

直接打开/etc/murano/murano.conf找到对应字段修改属性就可。

7

安装muranoclient

git clone https://github.com/openstack/python-muranoclient

cd python-muranoclient

sudo pip install -e .

8

更新murano数据库

murano-db-manage upgrade

9

创建service和endpoint

openstack service create --name murano --deion

"Application Catalog for OpenStack" application-catalog

openstack endpoint create --publicurl http://10.43.166.104:8082

--adminurl http://10.43.166.104:8082

--internalurl http://10.43.166.104:8082

--region=RegionOne

application-catalog

注:ip修改为环境的hostip,murano使用8082端口。代码中url路由v1版本,所以endpoint中的url配置为http://10.43.166.104:8082,而不是http://10.43.166.104:8082/v1

10

创建服务后端

分别在新的shell窗口,启动murano-api和murano-engine服务

murano-api --config-file /etc/murano/murano.conf

murano-engine --config-file /etc/murano/murano.conf

11

确认安装是否正确

使用murano命令确认是否正常

[root@tfg104 python-muranoclient(keystone_admin)]# murano environment-list

+----+------+--------+---------+---------+

| ID | Name | Status | Created | Updated |

+----+------+--------+---------+---------+

+----+------+--------+---------+---------+

Murano简介和源码方式安装相关推荐

  1. ThingsBoard-Windows安装(包括zip方式和源码方式)

    本篇文章主要讲解thingsboard入门安装,包括zip包安装和源码编译安装,记录了全过程遇到的坑,希望帮助大家成功闭坑 ThingsBoard hingsBoard是一个开源物联网平台,可实现物联 ...

  2. 源码方式安装的nginx注册到systemctl管理

    用源码方式安装的nginx每次都要进入安装目录才能进行启动.重启.停止操作,使用yum install nginx方式安装的话会自动注册到systemctl管理中,源码方式安装的nginx注册到sys ...

  3. CentOS 安装MySQL5.7 源码方式安装

    MySQL rpm方式安装:https://www.cnblogs.com/deverz/p/9560403.html 1.卸载已经安装的MySQL yum list installed mysqlr ...

  4. 零基础Linux版MySQL源码方式安装+配置+远程连接完整图解 无坑实录

    无论开发还是运维,项目环境搞不定,还真让你干不成活,MySQL在不同场景.不同平台下安装方式也不同,本次主要分享centos7下MySQL源码rpm方式安装,其它方式后续分享,很多项目还都用着MySQ ...

  5. Centos nginx 安装 源码方式安装

    以 yum 方式安装 Nginx https://andyoung.blog.csdn.net/article/details/118802486 安装所需插件 1.安装gcc gcc是linux下的 ...

  6. yum更换本地源、yum下载和源码包安装

    7.6 yum更换国内源 恢复系统默认yum源配置: [root@gaohanwei Packages]# cd /etc/yum.repos.d [root@gaohanwei yum.repos. ...

  7. centos 7 源码方式安装mysql5.6

    mysql安装:参考文章1 mysql编译报错:参考文章2 1.首先,创建目录,输入命令: mkdir /usr/local/mysql mkdir /usr/local/mysql/data 2.接 ...

  8. Ubuntu 源码方式安装Subversion

    使用到的安装包: apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz pcre-8.35.tar.gz httpd-2.4.9.tar.bz2 subversion-1.8. ...

  9. centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本

    LNMP环境的搭建 一.yum源直接搭建 1.安装epel源 2.安装mariadb 初始化mariadb 3.安装php模块 配置php-fpm 3.安装nginx 配置nginx 4.测试环境是否 ...

最新文章

  1. 释放变量所指向的内存_C++动态内存分配(学习笔记:第6章 15)
  2. Java中的值传递和引用传递
  3. php-5.2.3.tar.bz2.gz 的解压方法
  4. LeetCode - 121. 买卖股票的最佳时机
  5. 字符缓冲流特有功能复制Java文件
  6. 2017一季度JAVA面试题锦集
  7. 优先级调度算法实现_React17新特性:启发式更新算法
  8. hnu2021小学期程序设计 电话号码
  9. java提高篇之理解java的三大特性——继承
  10. 面向对象——意图与逻辑
  11. tal php x 1,20:1, PHP性能评测Base62x:内置模块 vs. 脚本模块
  12. InveighZero:基于C#的数据欺骗和MitM工具
  13. 模块化机房建设指导书_模块化机房建设方案解析
  14. 【Linux】Linux的字符终端
  15. itunes更新失败卸载失败(AppleMobileDeviceSupport6464安装时回滚的解决办法)
  16. python ttk_tkinter进阶版——ttk
  17. [文摘20070308]中国历史朝代歌
  18. 计算机软件水平考试(软考)-程序员介绍
  19. 无法为此计算机验证安装的驱动,无法为此计算机验证正在安装的驱动程序怎么办?...
  20. iqooneo3支持鸿蒙系统吗,iQOO Neo3搭载144Hz竞速屏:支持全局自适应刷新率

热门文章

  1. Linux的触屏手势软件安装,Touchégg: Linux 上触摸板/屏的多指手势
  2. Unicode 编码范围
  3. 重塑矩阵(matlab reshape函数原理)
  4. 多任务进化优化算法(二) 多因子进化算法(MFEA)的理论基础、多任务贝叶斯优化以及MFEAII简介
  5. 25-[案例]百度风云榜(网格布局)
  6. 三星s10支持html,三星s10支持5g吗
  7. 如何爬取微博全部粉丝python_让你了解python的强大!【 登录新浪微博爬取粉丝信息】...
  8. Nginx代理sftp配置
  9. 华为v10的android版本,荣耀V10 P 版本(EMUI 9.0+Android 9.0) 正式版 9.0.0.125 发布说明...
  10. 单行图片与文字垂直居中、图片和span水平垂直居中问题