亚马逊网络服务运营商界面
aegea的Python项目详细描述
aegea是一个命令行界面(cli),它为 亚马逊网络服务(aws)账户的运营商。aegea允许您使用 cloud-init配置管理包、管理配置角色、启动和监视实例 和服务,并管理aws资源,包括elb、rds和aws批处理。它打算与 已存在的功能,例如。
安装
pip install aegea
在执行此操作之前,还需要安装一些系统库依赖项:
OS | Python | Command |
---|---|---|
OS X | ^{tt1}$ ^{tt2}$ (if prompted to install XCode Command Line Tools, do it and try again) | |
Ubuntu | Python 2 | sudo apt-get update; sudo apt-get install build-essential python-pip python-dev python-cffi libffi-dev libssl-dev moreutils |
Ubuntu | Python 3 | sudo apt-get update; sudo apt-get install build-essential python3-{pip,dev,cffi} libffi-dev libssl-dev moreutils |
Red Hat | Python 2 | sudo yum install python-devel python-cffi openssl-devel moreutils |
Red Hat | Python 3 | sudo yum install python3-devel python3-cffi openssl-devel moreutils |
运行aws configure以配置将由 aws和aegea命令。可以在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