AWS – ECS
- ECS和Kubernetes很类似,他是AWS自家的容易编排系统
- ECS对比Kubernetes是比较简单的容易编排系统
- 使用ECS无需为Master Node付费,EKS需要付费每小时0.1美分
- ECS的容器运行单位是Task,Kubernetes的容器运行单位是Pod
- 因为ECS是AWS自家的产品,所以他的IAM Role匹配到比较完整,可以细到为Task设IAM Role权限
- EC2 instance Profile为EC2从ECR拉去image的设的权限
- 需要为Task设定Role,那么才有权限访问其他AWS资源
ECS – Data Volume (EFS)
- ECS只能用EFS做data volume,无法使用S3
- 因为EFS可以跨AZ,所以一旦其中一个EC2节点挂了,那么新创建的节点就能马上链接上
ECS 节点扩展方式
- Auto Scaling Group Scaling: 根据EC2的CPU使用率来进行节点的扩容或缩容
- ECS Cluster Capacity Provider: 为每个Task请求需要使用的资源量,如果不满足的话就自动扩容
部署容器应用
- 1. 创建Task Definition: 这是一个task模版,声明需要使用的image,cpu的使用需要量,设置到role,有Task Role,和Task Execution Role。Task Role是为容易设定好需要访问AWS资源的权限。Task Execution Role是需要为EC2节点设置好需要往ECR拉取image或写入log的权限。
- 2. 创建ECS Cluster
- 3. 创建Service: 需要定义使用哪个Task Definition,设定task使用的好VPC,使用哪个subnet,为Task创建ALB(类似于k8s当中的Ingress + Service + Deployment)
Facebook评论