Senza template for the automatic possgresql db deployments
acid.senza.templates的Python项目详细描述
用于自动部署PostgreSQL实例的Senza模板
这个包为stups senza工具(https://github.com/zalando-stups/senza)提供了一个外部模板,允许在aws上快速部署postgresql节点。它被设计成与运行的外部工具一起工作 senza具有所有必需的参数,并自动部署db实例,因此模板是非交互式的。与PostgresApp模板(包含在Senza中)相比,它添加了以下操作:
- 基于客户dns区域检测nat网关。
- 为特定区域检测到当前帐户中正确的ETCD终结点。
- 非交互模式是默认模式,所有参数都可以与环境变量一起提供(senza init期间的-v选项)。
- pg_hba.conf默认配置为拒绝非ssl连接。
- 将自动生成备用密码和超级用户密码。
- 所有密码和scalyr密钥都是加密的。
- ZMON2组自动从当前帐户中选取。
- 总是使用ebs。
安装
$ sudo pip3 install --upgrade senza.templates.acid
用法
$ senza init -t base [-v param=name] deployment.yaml
下面是模板支持的参数列表:
- team_name:部署模板的团队的名称(用作结果实例的dns名称的一部分)。
- team_region:要部署模板的团队的aws区域(默认情况下,支持eu-west-1和eu-central-1)。
- team_gateway_zone:应用程序运行的dns区域,用于查找nat网关。
- add_replica_load balancer:是否添加一个单独的负载平衡器来满足对副本的请求(默认值:false)。
- instance\u type:要在其上部署数据库的aws ec2实例类型(默认值:t2.medium)。
- 卷大小:db ebs卷的初始大小(以gbs为单位)(默认值:10)。
- volume_type:ebs卷的aws类型(默认值:gp2)。
- volume_iops:提供IO EBS卷的每秒IO操作数。
- scalyr_account_key:记录数据库活动的scalyr帐户的键。
- pgpassword\u admin:管理帐户的密码。
- postgresql_conf:postgresql的键值参数的json字典。
示例
初始化:
$ senza init -t base -v team_name=foo -v 'team_region=eu-west-1' -v 'team_gateway_zone=foo.example.com' -v 'hosted_zone=db.example.com' -v instance_type=m3.medium' -v 'postgresql_conf='{shared_buffers: 1GB}' deploy.yaml
部署:
$ senza create deploy.yaml bar
上述步骤导致部署由3个t2.medium实例组成的新PostgreSQL集群,可在 bar.db.example.com的名称,可供在与DNS区域关联的帐户中运行的应用程序访问 foo.example.com。它们只在为stups和senza配置的aws环境中工作。
senza是zalando开发的一个强大的工具,用于在aws上部署应用程序。如果你不熟悉Senza基地 部署,请参阅stups文档:http://stups.readthedocs.io/en/latest/。
许可证
阿帕奇2.0
释放
$ ./release.sh <NEW_VERSION>