Murano简介和源码方式安装
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简介和源码方式安装相关推荐
- ThingsBoard-Windows安装(包括zip方式和源码方式)
本篇文章主要讲解thingsboard入门安装,包括zip包安装和源码编译安装,记录了全过程遇到的坑,希望帮助大家成功闭坑 ThingsBoard hingsBoard是一个开源物联网平台,可实现物联 ...
- 源码方式安装的nginx注册到systemctl管理
用源码方式安装的nginx每次都要进入安装目录才能进行启动.重启.停止操作,使用yum install nginx方式安装的话会自动注册到systemctl管理中,源码方式安装的nginx注册到sys ...
- CentOS 安装MySQL5.7 源码方式安装
MySQL rpm方式安装:https://www.cnblogs.com/deverz/p/9560403.html 1.卸载已经安装的MySQL yum list installed mysqlr ...
- 零基础Linux版MySQL源码方式安装+配置+远程连接完整图解 无坑实录
无论开发还是运维,项目环境搞不定,还真让你干不成活,MySQL在不同场景.不同平台下安装方式也不同,本次主要分享centos7下MySQL源码rpm方式安装,其它方式后续分享,很多项目还都用着MySQ ...
- Centos nginx 安装 源码方式安装
以 yum 方式安装 Nginx https://andyoung.blog.csdn.net/article/details/118802486 安装所需插件 1.安装gcc gcc是linux下的 ...
- yum更换本地源、yum下载和源码包安装
7.6 yum更换国内源 恢复系统默认yum源配置: [root@gaohanwei Packages]# cd /etc/yum.repos.d [root@gaohanwei yum.repos. ...
- centos 7 源码方式安装mysql5.6
mysql安装:参考文章1 mysql编译报错:参考文章2 1.首先,创建目录,输入命令: mkdir /usr/local/mysql mkdir /usr/local/mysql/data 2.接 ...
- 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. ...
- centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本
LNMP环境的搭建 一.yum源直接搭建 1.安装epel源 2.安装mariadb 初始化mariadb 3.安装php模块 配置php-fpm 3.安装nginx 配置nginx 4.测试环境是否 ...
最新文章
- 释放变量所指向的内存_C++动态内存分配(学习笔记:第6章 15)
- Java中的值传递和引用传递
- php-5.2.3.tar.bz2.gz 的解压方法
- LeetCode - 121. 买卖股票的最佳时机
- 字符缓冲流特有功能复制Java文件
- 2017一季度JAVA面试题锦集
- 优先级调度算法实现_React17新特性:启发式更新算法
- hnu2021小学期程序设计 电话号码
- java提高篇之理解java的三大特性——继承
- 面向对象——意图与逻辑
- tal php x 1,20:1, PHP性能评测Base62x:内置模块 vs. 脚本模块
- InveighZero:基于C#的数据欺骗和MitM工具
- 模块化机房建设指导书_模块化机房建设方案解析
- 【Linux】Linux的字符终端
- itunes更新失败卸载失败(AppleMobileDeviceSupport6464安装时回滚的解决办法)
- python ttk_tkinter进阶版——ttk
- [文摘20070308]中国历史朝代歌
- 计算机软件水平考试(软考)-程序员介绍
- 无法为此计算机验证安装的驱动,无法为此计算机验证正在安装的驱动程序怎么办?...
- iqooneo3支持鸿蒙系统吗,iQOO Neo3搭载144Hz竞速屏:支持全局自适应刷新率
热门文章
- Linux的触屏手势软件安装,Touchégg: Linux 上触摸板/屏的多指手势
- Unicode 编码范围
- 重塑矩阵(matlab reshape函数原理)
- 多任务进化优化算法(二) 多因子进化算法(MFEA)的理论基础、多任务贝叶斯优化以及MFEAII简介
- 25-[案例]百度风云榜(网格布局)
- 三星s10支持html,三星s10支持5g吗
- 如何爬取微博全部粉丝python_让你了解python的强大!【 登录新浪微博爬取粉丝信息】...
- Nginx代理sftp配置
- 华为v10的android版本,荣耀V10 P 版本(EMUI 9.0+Android 9.0) 正式版 9.0.0.125 发布说明...
- 单行图片与文字垂直居中、图片和span水平垂直居中问题