zoukankan      html  css  js  c++  java
  • [AWS

    ECS

    Steps to create a ECS

    1. Create Cluster: EC2 Linux + Networking

    When you created ECS cluster, it comes with Auto Scaling Group, and with ASG, it comes with EC2 instances.

    Also created Launch Configuration.

    Also create IAM rule for ECS Instance Role.

      2. Create ECS Task Definitions

    • Tasks definitions are metadata in JSON form to tell ECS how to run a Docker Container.
    • Contains crucial information around:
      • Image Name
      • Port Binding for Container and Host
      • Memory and CPU required
      • Environment variables
      • Networking information
    • Task Role: If doesn't come with Task Role, you cannot pull the image from ECR, cannot talk to EC2... It can be created automaticlly
    • Container defination

      "httpd:2.4": image + tag: ECR knows it comes from Docker Hub

    • Port Mapping
      • Can be static mapping
      • Or dynamic mapping with ALB (set Host port to 0)

      3. Create ECS Service

    • Will run Task defination
    • We can set tup Application Load Balancer

     

    It use Dynamic port mapping, for Host Port, we can set 0.

    ECR

    Ref to ECR in Task defintion:

    Fargate

    • Create Cluster with Fargate
    • Create Task Defination
    • Create Service

    • ECS need to use IAM role which attached to EC2 level to perform different action.
    • Task Defination need to have ECS Task Role to perform acess different resource.

    • When you add a new container, ECS service need to find out which EC2 instances to put new containers
    • When remove EC2 isntance, need to find out which one to terminated

    Cluster Capacity Provider can decide new Task should run on new EC2 instance or Fargate.



    The main question is when should you put multiple containers into the same task definition versus deploying containers separately in multiple task definitions.

    You should put muultiple containers in the same task definition if:

    • Containers share a common lifecycle (they shoyl dbe alunched and terminated together)
    • Containers are required to be run on the same underlying host
    • You want your containers to share resources.
    • You containers share data volumes

    Otherwise, you should define your containers in separate tasks definitions so that you can scale, provision, and deprovision them separately.

    "Shared memory"...

  • 相关阅读:
    深入理解Linux修改hostname
    Linux开发环境必备十大开发工具
    管理员必备的几个Linux系统监控工具
    Solaris&&QNX® Neutrino®&&OpenVMS&&FreeBSD&&AIX
    ansible来了
    Cobbler系统安装备用链接
    Web安全
    在Eclipse/STS中使用EclEmma进行覆盖率检查
    C#中使用扩展方法
    Winform中Textbox的使用
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14859210.html
Copyright © 2011-2022 走看看