[AWS] 03 - BATCH & ECS

AWS BATCH


文档:https://docs.aws.amazon.com/zh_cn/batch/latest/userguide/batch_user.pdf

就让我们按照文档,走一遍。本篇主要是导读。

 

前提摘要 

一、创建IAM User

Goto: [AWS] IAM User

 

/* implement */

 

 

简单的Demo

一、配置queue、jobs

Goto: AWS Batch Tutorial Part 1

Goto: AWS Batch Tutorial Part 2

Ref: https://hub.docker.com/r/bjjware/aws-batch-demo

本地创建镜像,提交到hub.docker.com。

 

二、前端对接queue

 (vue.js --> Flask) Lambda --> SQS --> Lambda --> queue --> BATCH

 

 

 

 

ECS介绍


Ref: https://edu.51cto.com/center/course/lesson/index?id=199645

Ref: 简评AWS Fargate (Serverless K8S)

Ref: AWS Lambda都是浮云,AWS Fargate才是王道——无服务器的未来,有我没你!

 

开启容器之旅

一、Amazon ECR (EC2 Container Registry)

Ref: 什么是 Amazon Elastic Container Registry?

BTW ECR (Elastic Container Registry) is only a storage for your containers. It's to be used with ECS.

 

二、创建ECR容器库

  • EC2 Container Service

 

  • "开始使用" 按钮

第一步,配置存储库。

第二步,构建、标记和推送Docker映像。

aws ecr的返回结果是一个cmd (非常长):docker login -u ...

下一步,执行这条长命令,提示:Loign Succeeded。

 

  • Docker 构建镜像

docker build -t ecsdemo .

 

  • Docker 标记镜像

docker tag ecsdemo:latest 919796776125.dkr.ecr.cn-north-1.amazonaws.com.cn/ecsdemo:latest

 

  • Docker 推送镜像

docker push 919796776125.dkr.ecr.cn-north-1.amazonaws.com.cn/ecsdemo:latest

可见镜像上传结果。  

 

 

微服务

一、定义一个任务、运行一个服务

Manage: 资源定义,状态跟踪;

Scheduler: 资源调度;

Agent: 状态是什么样的,代理功能。

 

例如:web server + log collection,有这么两个容器,一个任务同时启动。

三台机器。

一个 task 可以最多跑10个contrainers。

 

要么是”计算任务”,计算结束就任务终止。

或者是“网页服务”,遇到意外崩溃再启动其他服务给予协助。

 

 

 

 

二、集群

创建集群 (demo-cluster) --> 集群名字,准备两台机器 (实例)。

 

  • TASK 任务定义

 

[添加容器]

容器名称,指定 docker image

内存限制:例如 128M

端口映射:例如 80 --> 3000 tcp

 

默认下,一个物理CPU 划分为了128个单元。 

关键容器的,一旦该容器失败,则全局任务为失败。

 

[约束]

任务定义结果,修订版2,有版本控制。

 

三、任务 变 服务

任务数将设置为:2

Long-Running App的百分比设置的理解。

 

任务置放原则 Placement Strategy:

 

四、服务状态

服务启动后的状态。可见有两个容器、两个任务。

 

End.

posted @ 2020-03-07 19:45  郝壹贰叁  阅读(277)  评论(0编辑  收藏  举报