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)

Loading

Facebook评论