跳转到主要内容

Senza模板,用于自动部署PostgreSQL数据库

项目描述

Senza模板,用于自动部署PostgreSQL实例

本软件包为stups-senza工具(https://github.com/zalando-stups/senza)提供外部模板,允许在AWS上快速部署PostgreSQL节点。它旨在与外部工具配合使用,该工具运行sansa并带有所有必要的参数,自动部署数据库实例,因此,模板是非交互式的。与sansa中包含的PostgresApp模板相比,它增加了以下操作

  • 基于客户DNS区域检测NAT网关。

  • 检测当前账户特定区域的正确Etcd端点。

  • 非交互式模式是默认模式,所有参数都可以通过环境变量提供(在sansa init期间使用-c选项)。

  • 默认配置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_loadbalancer:是否为副本添加单独的负载均衡器来处理请求(默认:false)。

  • instance_type:在AWS EC2上部署数据库的实例类型(默认:t2.medium)。

  • volume_size:DB EBS卷的初始大小(以GB为单位)(默认:10)。

  • volume_type:EBS卷的AWS类型(默认:gp2)。

  • volume_iops:配置IO EBS卷的每秒I/O操作数。

  • snapshot_id:从现有EBS快照初始化新数据库的ID。

  • scalyr_account_key:用于记录数据库活动的scalyr账户的密钥。

  • pgpassword_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区域关联的账户中的应用程序访问(例如,DNS区域foo.example.com)。它们只在STUPS和senza配置的AWS环境中工作。

Senza是Zalando开发的一个强大的工具,用于在AWS上部署应用程序。如果您不熟悉基于senza的部署,请参阅STUPS文档:http://stups.readthedocs.io/en/latest/

许可证

Apache 2.0

发布

$ ./release.sh <NEW_VERSION>

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

acid.senza.templates-1.103.tar.gz (12.3 kB 查看散列值

上传时间

构建分布

acid.senza.templates-1.103-py3-none-any.whl (14.3 kB 查看散列值

上传时间 Python 3

支持