Tsuru Paas前端即服务API

tsuru-feaas的Python项目详细描述


https://travis-ci.org/tsuru/varnishapi.png?branch=master

部署API

首先,让我们在tsuru中创建一个应用程序,从项目根目录执行以下操作:

% tsuru app-create varnishapi python
% git remote add tsuru git@remote.sbrubles.com
% git push tsuru master

推送将返回一个错误,告诉您不能在 应用程序单元已启动,请等待您的单元投入使用,您可以使用:

% tsuru app-list

当你得到这样的输出,你可以继续推。

+-------------+-------------------------+--------------------------------------+
| Application | Units State Summary     | Address                              |
+-------------+-------------------------+--------------------------------------+
| your-app    | 1 of 1 units in-service | your-app.sa-east-1.elb.amazonaws.com |
+-------------+-------------------------+--------------------------------------+

现在,如果您访问我们的应用程序终结点“/”(您可以使用tsuru app info查看 cmd)您应该得到404,这是正确的,因为api没有响应 通过这个网址。

好的,让我们配置应用程序,它需要与ec2 api对话,并且 它是通过使用环境变量来实现的。您需要的是:

% tsuru env-set EC2_ENDPOINT=https://ec2.amazonaws.com EC2_ACCESS_KEY=your-access-key EC2_SECRET_KEY=your-secret-key

为了运行varnish,您可以提供一个ami或一个包列表 通过用户数据安装。ami是通过AMI_ID环境指定的 变量,而包由API_PACKAGES环境指定 变量。用户可以指定这两个变量。

% tsuru env-set AMI_ID=your-ami-id API_PACKAGES=varnish vim-nox

您还可以通过USER_DATA_URLintead of使用自定义用户数据url API_PACKAGES。在这种情况下,返回内容体应该包含 VARNISH_SECRET_KEYword将被合适的清漆替换 远程计算机上的秘密。

% tsuru env-set AMI_ID=your-ami-id USER_DATA_URL=http://server/custom-user-data

用户也可以指定一个子网与vpc一起运行。您可以指定 通过SUBNET_ID环境变量的子网ID。

% tsuru env-set SUBNET_ID=your-subnet-id

还有一件事:这个api将使用mongodb来存储关于实例的信息, MongoDB端点和数据库名称也通过环境控制 变量:

我们的api用完了!让我们在tsuru创建服务。

创建服务

首先,您必须更改位于项目中的manifest.yaml文件 我们的应用程序的根。将生产终结点更改为指向 应用程序地址,您的yaml应该如下所示:

id: varnish
password: some123
endpoint:
  production: varnishapi-endpoint.com

现在让我们告诉tsuru它需要注册一个新的服务,从项目 根运行,使用crane

% crane create manifest.yaml

我们完了!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在reducer中迭代自定义可写组件时出现java问题   属性文件中属性的java命名约定   任务链关闭的java Executor服务   java从Eclipse中的字段生成多个构造函数   java通过继承读取Json   java在不知道密钥的情况下解析json   java camel cxf如何在电子邮件中发送soap请求响应   java程序似乎跳过了if语句的一部分,在移回正确位置之前先移到else语句   测试简单的Java加密/解密inputFileName不存在   java从Jenkins REST API获取所有作业的所有构建的构建细节   java基本包装器和静态“类型”类对象   在WebSphere8.5上部署java代码   java对象相等(对象引用“=”)   java MongoDB整型字段到枚举的转换   每次我重新导入gradle时,IntelliJ都会不断重置Java设置   类型使用键或索引从Java中的数据类型检索值   在Java的列表接口中需要listIterator()和iterator()是什么?