Murano简介和源码方式安装

华为云Stack的学习(四) 在华为云Stack解决方案中,Service OM是FusionSphere OpenStack的操作管理界面,是资源池(计算、存储、网络)以及基础云服务的管理工具。 阅读详情

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 |

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

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

13、OpenStack 中自云就绪应用的发展:Murano 助力应用部署 本文介绍了 OpenStack 中 Murano 项目的发展及其在云就绪应用部署中的作用。Murano 作为 OpenStack 的应用目录和编排服务,简化了应用的部署流程,支持多角色协作,并兼容多种应用格式。文章详细解析了 Murano 的架构、集成步骤以及部署自包含应用的实践方法,同时展望了其未来的发展方向,如增强容器编排支持和深化与其他 OpenStack 服务的集成。 阅读详情

相关推荐

openstack-murano

openstack-murano JClouds1.8.0版本中添加了Murano模板,接口适应开发环境。

OpenStack版本 - 发布时间 - 及其组件

OpenStack 版本整理

ATDTL的博客 4054

别再死磕NFP了!用Python+遗传算法搞定异形件自动排版(附完整代码)

本文介绍了如何利用Python和遗传算法实现异形件智能排版,解决传统NFP方法计算复杂的问题。通过Shapely库处理几何运算和DEAP库搭建遗传算法框架,结合模拟退火策略避免局部最优,显著提升材料利用率。附完整代码和优化技巧,适用于服装裁剪、金属加工等行业。

weixin_26965807的博客 236

Murano环境搭建、使用介绍和思考

murano是OpenStack的Application Catalog服务,推崇AaaS(Anything-as-a-Service)的概念,通过统一的框架和API实现应用程序快速部署和应用程序生命周期管理的功能,降低应用程序对底层平台(OpenStack层和虚拟化层)的依赖。   目前,容器技术的火爆使沉默已久的PaaS焕发了青春,各种概念曾出不穷,比如CaaS(Container-as

u010571844的专栏 1196

手把手教学|用飞书+扣子工作流实现自动化批量图片生成,效率提升99%!体验完整操作流程

在先前的文章中,我们已经深入探讨了扣子智能体的多种应用场景,以及如何创建和使用工作流进行高效管理。本文将引领大家通过一个具体案例,将扣子的工作流功能嵌入飞书应用中,实现操作的自动化与高效化。

weixin_66485800的博客 6028

VS2019+EasyX图形库实战:手把手教你用C语言打造消消乐小游戏(附完整源码)

本文详细介绍了如何使用VS2019和EasyX图形库从零开始构建一个C语言消消乐小游戏。通过环境配置、数据结构设计、界面绘制、交互实现到游戏逻辑完善的完整流程,帮助开发者掌握图形编程和游戏开发的核心技巧,并附有完整源码供参考。

bush的博客 186

OpenStack 容器手册(二)

Magnum 是一个 OpenStack 服务,由 OpenStack 容器团队于 2014 年创建,旨在实现容器编排引擎COE),提供在 OpenStack 中将容器部署和管理为一流资源的能力。目前,Magnum 支持 Kubernetes、Apache Mesos 和 Docker Swarm COE。Magnum 使用 Heat 在 OpenStack 提供的 VM 或裸金属上进行这些 COE 的编排。它使用包含运行容器所需工具的 OS 映像。

龙哥盟 1723

一文搞定3D卷积

在讨论卷积核的时候,是不把channel维加进去的 核 = 一个可以滑动的窗口 窗口内不同位置数据之间的权值共享 3D卷积,卷积核会在3个方向上运动,那么卷积核的运动需要有三个自由度(一小块立方体,在一个大面包块内3个方向上滑动 2D卷积,卷积核只在2个方向上运动,因此只有两个自由度(一小片纸,在一大张纸内2个方向上滑动 1D卷积,卷积核只在1个方向上运动,因此只有一个自由度(一条滑窗,在一大长线上1个方向上滑动 一个卷积核运算一次 得到一个输出值 以上讨论了单个卷积核,接下来考虑多通道,一个卷积核对应一

njuptalex的博客 3万+

手动安装OpenStack-Murano和Murano-dashboard

一、 环境准备 搭建Murano和Murano-dashboard是在Red Hat Enterprise Linux Server release 7.1 (Maipo)上搭建的,之前这个环境已经搭建了Openstack的环境,因此一些系统的工具包也安装过了,例如:gcc,python-pip,mysql。 二、在Devstack上配置安装Murano 1.首先需要下载dev的包,

lanceyang1992的专栏 2599

基于PWM的汽车仪表步进电机微步驱动优化实践

本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。

weixin_29169505的博客 512

dolphinscheduler集群服务一键安装启动实现流程剖析

通过以上分析我们基本梳理清楚了整个dolphinscheduler项目的一键安装启动逻辑, 我们现在在通过一张图正好理一下整个实现流程。关于一键停止集群服务及一件查询集群各个角色服务实例运行状态的实现也都在stop-all.sh/status-all.sh及dolphinscheduler-daemon.sh这三个脚本中, 有兴趣自行研究。写这篇文章的核心目的不仅在于给大家分享如何优秀的开源项目的一键安装部署的实现过程。

最爱嫣夜来 1207

Openstack Murano(kilo)二次开发之添加Volume

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33984032的博客 198

爬虫瑞数5.5案例:欧冶钢材交易官网,带后缀K5nOZLud(面向对象补环境)

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。由于之前某通信的瑞数已经调整,这里再出一篇文章,瑞数特点以及请求执行的流程已在之前的文章中分析过,这里不再特别讲解;

老衲爱洗头的博客 3043

murano原理解析

转自:https://iaaslee.blogspot.com/2015/10/openstack-application-catalog-murano.html?view=snapshot 如题,本文的着重点在于讨论Murano的工作原理和设计。所以内容较为晦涩和枯燥。根据前面的内容,我们很容易得出Murano在OpenStack环境中的数据流,在整个创建、构建、直到虚拟机/集群开始运行的整个过...

yyy987456123的博客 1362

E2B Agent Runtime Sandbox 沙箱技术架构研究

本实现指南基于E2B的技术架构,提供了完整的基于Firecracker和Docker的Agent Runtime Sandbox后端服务实现方案。架构设计:参考E2B的分层架构,实现API层、管理层和虚拟化层Firecracker集成:深度集成Firecracker提供硬件级安全隔离完整功能:支持文件读写、shell执行、浏览器访问等核心功能生产就绪:提供Docker部署、监控、测试和安全配置可扩展性:设计支持水平扩展和高并发场景。

AI天才研究院 748

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OpenStack Murano Dashboard(Kilo)安装

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33670713的博客 284

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

国外物联网平台初探(五) ——Exosite Murano

定位 Murano是一个基于云的IoT软件平台,提供安全、可扩展的基础设施,支持端到端的生态系统,帮助客户安全、可扩展地开发、部署和管理应用、服务以及联网产品。 功能 Murano平台简化了整个IoT技术栈,可视为集成在一起的多个云软件层。 Murano提供IoT基础设施、开发环境和功能集成,包括设备连接、产品管理、数据路由、服务集成(如data store/告警/...

weixin_30662011的博客 116

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

国外物联网平台(5):Exosite Murano

国外物联网平台(5)——Exosite Murano 马智 定位 Murano是一个基于云的IoT软件平台,提供安全、可扩展的基础设施,支持端到端的生态系统,帮助客户安全、可扩展地开发、部署和管理应用、服务以及联网产品。 功能 Murano平台简化了整个IoT技术栈,可视为集成在一起的多个云软件层。 Murano提供IoT基础设...

weixin_30243533的博客 184

kolla简介

OpenStack容器化之路:Kolla项目介绍发布时间:2016-06-25一直都计划写篇文章介绍Kolla项目,可能是因为了解太多,不知道如何写,还有一种可能,就因为追求写的太正经,导致一直没写。有一次和朋友介绍Kolla的时候,开玩笑说,其实我也不愿意让你知道kolla,因为这个东西太革命,把我以前积累的安装和部署的经验,全部都报废。不过也确实没啥办法,这是社区的项目...

weixin_33976072的博客 971

OpenStack CI/CD之Solum使用

Solum是由Rackspace的工程师Adrian Otto于2013年9月在Launchpad上提出的一个BP。该项目聚焦于在OpenStack IaaS平台上,构建PaaS层的持续集成/持续交付(CI/CD)应用,可以简单理解为是一个应用程序App的集成开发平台,当然,它可以做很多事情。Murano是一个App Store(应用存储)服务,而Solum可以将开发的应用程序App发布到Mura...

imgxr的博客 1139

OpenStack容器化之路:Kolla项目介绍

一直都计划写篇文章介绍Kolla项目,可能是因为了解太多,不知道如何写,还有一种可能,就因为追求写的太正经,导致一直没写。 有一次和朋友介绍Kolla的时候,开玩笑说,其实我也不愿意让你知道kolla,因为这个东西太革命,把我以前积累的安装和部署的经验,全部都报废。不过也确实没啥办法,这是社区的项目,如果真的是革命性,那么你知道只是早晚的事情,为了保持我的专家身份,我也就只能提前告诉你了。 2

Allison_ywt的博客 649

openstack项目进展

Core项目 Keystone 对于keystone来说,有两个比较重要的,一个是ldap认证,这个已经merge,配置就可以实现,对于企业级来说,这个功能,还是需要的。https://review.openstack.org/#/c/340141/ 另外一个就是fernet token。 https://blueprints.launchpad.net/kolla/+sp

zhuangshu_feng'‘每天进步一点点 2470

Openstack-Murano应用包

Murano Package是Murano部署应用的基础,Package本身不包含任何的安装包,只是描述了应用的一些基本属性等信息 标准的Murano Package长相如下:drwxr-xr-x 2 root root 34 Jul 26 14:55 Classes -rw-r--r-- 1 root root 33332 May 8 2015 logo.png -rw-r--r--

iov_aaron的专栏 2053
上一篇: Multipath 安装和 Openstack Nova + Cinder 配置
下一篇: Mistral 工作流组件之一 概述
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值