Postgres部署脚本是一种简单的方法,可以在云中部署PostgreSQL、EDB Postgres高级服务器和EDB工具。
项目描述
入门指南
edb-pot
工具是部署云资源并部署PostgreSQL、EDB Postgres高级服务器和工具(高可用性和监控)以进行技术证明的简单方法。
支持的云提供商是AWS、Azure和Google Cloud。
edb-pot
帮助用户部署定制的Postgres参考架构,以展示EDB技术的功能。
edb-pot
是一个开源工具,并由GitHub仓库的成员维护和支持,不由EDB支持正式支持。请通过提交问题和提供拉取请求来提供反馈。
在开始深入研究此存储库之前,最好熟悉特定云(AWS、Azure和Google Cloud)的部署过程步骤。
先决条件
edb-pot
依赖于以下组件。在开始使用之前,请安装以下组件。
- Python 3
pip3
第三方先决条件
-
最新供应商云CLI或SDK(AWS、Azure或Google Cloud)
根据云服务提供商,在系统上安装:最新版本的 AWS CLI、Azure CLI 或 Google Cloud SDK。
-
Terraform >= 0.13
-
Ansible >= 2.9
为了帮助安装上述第三方先决条件,edb-pot
为 Linux (x64) 和 MacOS (x64) 提供了安装脚本。请参阅章节先决条件安装脚本。
安装
从源代码
使用pip3
命令进行安装。一旦下载了代码,无论是通过克隆存储库还是下载版本,请转到创建的文件夹并运行命令pip3 install
$ cd postgres-deployment
$ sudo pip3 install . --upgrade
从 Pypi
$ sudo pip3 install edb-pot
确保工具已正确安装,运行以下命令
$ edb-pot --version
Shell 自动完成
edb-pot
支持使用tab
键进行命令行自动完成。
支持的 Shell 是 bash
和 zsh
。
要启用当前会话中的自动完成,必须运行以下命令
$ eval "$(register-python-argcomplete edb-pot)"
要为所有会话启用自动完成,必须将上述命令添加到您使用的 Shell 的~/.bashrc
文件或~/.zshrc
文件末尾。
先决条件安装脚本
为了简化第三方先决条件工具(如aws
、terraform
、ansible
等)的安装,为 Linux (x64) 和 MacOS (x64) 提供了一些 bash 安装脚本。它们位于script/
文件夹中。
执行安装脚本需要以下软件包:gcc
(仅限 Linux)、python3-devel
(仅限 Linux)、unzip
、wget
、tar
。这些软件包应通过常规包管理器(dnf
、apt
、brew
等)安装。
最后,必须使用root
权限安装 Python 的virtualenv
。
$ sudo pip3 install virtualenv
现在可以运行先决条件安装脚本。默认情况下,第三方工具将安装在$HOME/.edb-cloud-tools
文件夹中,此路径可以通过设置环境变量INSTALL_PATH
进行更改。
在 Linux 上
$ /usr/local/share/edb-pot/scripts/install_requirements_linux_x64.sh
在 MacOS 上(使用brew
安装的 Python 3.9)
$ /usr/local/share/edb-pot/scripts/install_requirements_darwin_x64.sh
最后一步是将安装路径添加到PATH
变量中。如果您的 Shell 是bash
,只需输入
$ source ~/.bashrc
对于其他 Shell,您必须以这种方式重新导出环境变量PATH
$ export PATH=$PATH:$HOME/.edb-cloud-tools/bin
现在,您可以使用命令aws --version
、ansible --version
等来检查工具是否可以随时使用。
用法
每个新的部署都将在一个专用的命名空间下完成,即<PROJECT_NAME>
。
edb-pot
CLI 功能通过子命令实现。每个子命令可以像这样执行
$ edb-pot <CLOUD_VENDOR> <SUB_COMMAND> [<PROJECT_NAME>]
云供应商列表
aws
:Amazon Web Servicesazure
:Microsoft Azure Cloudgcloud
:Google Cloud
子命令
configure
:新项目初始化和配置provision
:云资源提供destroy
:云资源销毁deploy
:Postgres 和工具部署display
:显示项目信息passwords
:显示项目密码show
:显示配置list
:列出项目specs
:显示云供应商默认规范logs
:显示项目日志remove
:删除项目
如何使用
新项目的部署应遵循以下工作流程
配置云凭证
此步骤取决于目标云供应商。
AWS 凭证配置
AWS 凭证配置将通过aws
工具完成。为此步骤,我们需要获取您的AWS Access Key ID和AWS Secret Access Key。有关 Amazon Access Key 管理的更多信息,请访问官方文档页面。
运行以下命令,并输入访问密钥ID和秘密访问密钥
$ aws configure
Azure凭据配置
可以使用以下命令使用az
工具完成Azure云凭据配置
$ az login --use-device-code
GCloud凭据配置
GCloud凭据配置比其他云供应商的步骤更多。需要GCloud项目ID。
- 使用您的电子邮件地址登录
$ gcloud auth login <LOGIN_EMAIL> --no-launch-browser
- 在您的浏览器中打开链接,并复制提供的验证码。
- 项目配置
$ gcloud config set project <PROJECT_ID>
- 要查找服务的IAM账户,请输入以下命令以列出服务账户
$ gcloud iam service-accounts list
- 最后,创建并下载新的服务账户密钥
$ gcloud iam service-accounts keys create ~/accounts.json --iam-account=<IAM_ACCOUNT>
必须保留JSON文件$HOME/accounts.json
,并且edb-pot
将需要它。
项目配置
配置好云供应商凭据后,您可以继续进行项目配置步骤。
云供应商规范
edb-pot
为要部署的云资源提供默认配置值,如实例类型、磁盘大小、OS镜像、附加卷等。
要更改这些配置值,您需要首先使用以下命令导出默认值
$ edb-pot <CLOUD_VENDOR> specs > my_configuration.json
然后,您可以编辑并更新存储在JSON文件中的资源配置。
项目初始化
项目初始化将通过使用configure
子命令来完成
$ edb-deploy <CLOUD_VENDOR> configure <PROJECT_NAME> \
--route53-access-key <route53-acccess-key> \
--route53-secret <route53-secret> \
--email-id <email-id> \
-u "<EDB_REPO_USERNAME>:<EDB_REPO_PASSWORD>" \
-r <CLOUD_REGION> \
-s my_configuration.json
注意
-
"EDB_REPO_USERNAME:EDB_REPO_PASSWORD"
EDB包仓库凭据。 必需。
-
CLOUD_REGION
云供应商区域。默认值取决于云供应商。
有关更多详细信息,请使用
$ edb-pot <CLOUD_VENDOR> configure --help
云资源提供
项目配置完成后,我们可以继续进行云资源部署
$ edb-pot <CLOUD_VENDOR> provision <PROJECT_NAME>
组件部署
最后,我们可以使用deploy
子命令部署组件
$ edb-pot <CLOUD_VENDOR> deploy <PROJECT_NAME>
其他功能
项目列表
$ edb-pot <CLOUD_VENDOR> list
显示项目库存
$ edb-pot <CLOUD_VENDOR> display <PROJECT_NAME>
显示项目密码
$ edb-pot <CLOUD_VENDOR> passwords <PROJECT_NAME>
云资源销毁
$ edb-pot <CLOUD_VENDOR> destroy <PROJECT_NAME>
项目树删除
$ edb-pot <CLOUD_VENDOR> remove <PROJECT_NAME>
许可协议
原始作品版权2019-2020,EnterpriseDB公司
版权所有。
在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否修改:
-
源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。
-
二进制形式的重新分发必须在文档中或与分发一起提供的其他材料中复制上述版权声明、本条件列表和以下免责声明。
-
未经企业DB或其贡献者事先书面许可,不得使用EnterpriseDB或其贡献者的名称来认可或推广源自本软件的产品。
本软件由版权所有者和贡献者“按原样”提供,并且不提供任何明示或暗示的保证,包括但不限于对适销性和对特定用途的适用性的暗示保证。在任何情况下,版权所有者或贡献者不应对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论该责任基于合同、严格责任还是侵权(包括疏忽或其他原因)。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源分发
构建分发
edb-pot-2.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bcef9a6bed589a94fa3da5fe2e76b4925502533b233da69eebd2f718e7ef4f0e |
|
MD5 | 73274befa22c25cd7db39d5173d12eb1 |
|
BLAKE2b-256 | adb251a62e00e5269527286575aa3fc47f9b4f6f505f1f92391b2f81e46e4b58 |
edb_pot-2.1.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4bdddea45b913d45038d8156843919a7d547821779d6278e0f2d4dbeda1e3253 |
|
MD5 | 2c5085f4cf7f2ea231f4b6215d80dbff |
|
BLAKE2b-256 | c827629e8506ce6b488e037e1a1f367dcbf81a7dc36f247960f1e1ecd4310bef |