亚马逊网络服务运营商界面

aegea的Python项目详细描述


aegea是一个命令行界面(cli),它为 亚马逊网络服务(aws)账户的运营商。aegea允许您使用 cloud-init配置管理包、管理配置角色、启动和监视实例 和服务,并管理aws资源,包括elb、rds和aws批处理。它打算与 已存在的功能,例如。

安装

pip install aegea

在执行此操作之前,还需要安装一些系统库依赖项:

OSPythonCommand
OS X^{tt1}$ ^{tt2}$ (if prompted to install XCode Command Line Tools, do it and try again)
UbuntuPython 2sudo apt-get update; sudo apt-get install build-essential python-pip python-dev python-cffi libffi-dev libssl-dev moreutils
UbuntuPython 3sudo apt-get update; sudo apt-get install build-essential python3-{pip,dev,cffi} libffi-dev libssl-dev moreutils
Red HatPython 2sudo yum install python-devel python-cffi openssl-devel moreutils
Red HatPython 3sudo yum install python3-devel python3-cffi openssl-devel moreutils

运行aws configure以配置将由 awsaegea命令。可以在https://console.aws.amazon.com/iam/home#/users处创建新的IAM密钥。

本地安装:在此目录中运行make install

没有根访问权限;用户本地安装:使用make install_venv在自己的virtualenv中安装aegea。最后一行 输出显示如何激活virtualenv。在ubuntu 12.04中打包的virtualenv版本太旧;请使用 pip install --upgrade--user virtualenv来升级它。

AEGEA批次

通过AWS Batchapi,您可以在docker中运行非交互式命令行工作流 容器,代表您管理帐户中的aws ecs、spot fleet和ec2。使用aegea batch系列命令 与aws批处理交互。key命令是提交作业的aegea batch submit

aegea/missions/docker-example/aegea任务的根目录。- 配置管理角色。它有一个rootfs.skel和一个config.yml,后者有安装包的指令, 等等,这个例子只是安装了bwa apt包。

运行aegea-build-image-for-missiondocker-example dex从“docker example”生成名为dex的ecr映像 任务。您可以使用aegea ecr ls列出ecr图像,并使用aws ecr delete-repository dex删除它们。

运行aegea batch submit --ecs-image dex --command "bwa aln || true" "bwa mem || true" --memory 2048 --vcpus 4 --watch 要使用“dex”映像运行需要2 GB RAM和4核分配给Docker容器的批处理作业, 并使用“bash-euo pipefail-c”执行–command后面列出的两个命令。

您也可以使用aegea batch submit --execute FILE。这将slurp up文件(任何类型的shell脚本或elf 可执行)并在作业的Docker容器中执行。

批处理作业的并发性和成本由计算环境中的“max vcpus”设置控制。 要更改计算环境的容量或其他设置,请转到 https://console.aws.amazon.com/batch/home?region=us-east-1#/compute-environments,选择“aegea_batch”,然后单击“编辑”。

aws批量启动并管理ECS主机实例以执行作业。你可以看到 通过运行aegea ls托管实例。

AEGEA ECS运行

api是aws基于容器的虚拟化平台的接口, 鞭炮。ECS Fargate允许您在完全管理的容器中运行工作负载:您的帐户中没有运行实例;您的帐单由 第二个容器使用,并且容器通常在20秒内启动。使用aegea ecs run命令与 ECS法盖特。大多数aegea batch语义都适用于aegea ecs,后者通过“一枪”与ecs交互。 ECS RunTask原料药。

配置管理

aegea支持从可配置的源数组中摄取配置。每个源都是一个json或yaml文件。 跟随第一个源的配置源使用递归字典合并更新配置。消息来源是 按以下顺序枚举(即按优先级增加的顺序):

  • 站点范围的配置源,/etc/aegea/config.yml
  • 用户配置源,~/.config/aegea/config.yml
  • 冒号分隔变量AEGEA_CONFIG_FILE
  • 中列出的任何源
  • 命令行选项

数组合并运算符:加载配置源链时,aegea使用递归字典合并 合并来源。另外,当原始配置值是一个列表时,aegea支持数组操作 运算符,它允许您扩展和修改在底层配置中定义的rray。见 https://github.com/kislyuk/tweak#array-merge-operators用于这些运算符的列表。

构建AMIS和Docker图像

aegea包括一个轻量级配置管理系统,用于构建基于 cloud-init(Docker映像和AMI都受支持)。

待办事项:build_image build_ami build_docker_image rootfs.skel

https://img.shields.io/travis/com/kislyuk/aegea.svghttps://img.shields.io/pypi/v/aegea.svghttps://img.shields.io/pypi/l/aegea.svghttps://codecov.io/gh/kislyuk/aegea/branch/master/graph/badge.svg

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

推荐PyPI第三方库


热门话题
java本机方法的源代码可用吗?   java如何使父方法抛出异常?   java Android以编程方式设置不同屏幕大小/密度的布局   java如何使用一个变量来管理所有客户端请求   java输入一个txt文件,每行有一组数字   json java从jsonobject获取jsonarray错误   java将一个(WAV)写入一个文件只会说一个单词(最后一个单词)   java Telnet忽略原始字节   proguard java。运行桌面应用程序时出现lang.VerifyError   java用左键移动JLabel?   java如何在jText区域验证选项卡?   文件服务器客户端Javasocket编程中的字符串搜索   java省略了JSTL中的最后一个逗号<c:out>   java如何找到if或else代码已执行的次数?   java JavaScript WebSocket send()方法未执行   浮点数声明上的java标识符预期错误   java这是指二进制搜索算法吗?   编译mod at:reobfJar java时的minecraft问题。util。拉链ZipException:重复条目   java检测特定的震动运动(如图所示:D)