Tsuru Paas前端即服务API
tsuru-feaas的Python项目详细描述
部署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
我们完了!