Как да

Работещи контейнери за докер на AWS с ECS - част 1

Работещи контейнери за докер на AWS с ECS - част 1

Тази статия е част 1 от 4-частично ръководство за стартиране на Docker контейнери на AWS ECS. ECS означава Elastic Container Service. Това е управлявана контейнерна услуга, която може да изпълнява докер контейнери. Въпреки че AWS предлага и управление на контейнери с Kubernetes, (EKS) има и свое собствено решение (ECS). Ръководството ще обхваща:

Това ръководство ще обхване как да създадете ECS клъстер.

Изисквания / предпоставки

Преди да продължи с това ръководство, четецът / потребителят трябва да има:

Ръководство за създаване на VPC и подмрежи (AWS Network Architecture) можете да намерите на връзката по-долу:

Създаване на AWS ECS клъстер

Има два вида ECS клъстери, които можем да създадем.

Създайте AWS ECS клъстер с опция Fargate

За да създадем клъстера, можем да го направим ръчно или автоматично, използвайки CloudFormation или Terraform. За тази статия ще създам клъстера с помощта на CloudFormation и ръчно.

CloudFormation:

По-долу CloudFormation Template създава ECS клъстер с доставчик на капацитет като Fargate и Container Insights разрешени. Читателят трябва да промени настройките на шаблона, за да персонализира според техните специфични изисквания. Основните аспекти за промяна ще бъдат:

AWSTemplateFormatVersion: "2010-09-09" Описание: "Създаване на ECS клъстер на fargate" Параметри: Име: Тип: Описание на низа: Името на ресурсите на клъстера на ECS: ECSCluster: Тип: 'AWS :: ECS :: Cluster' Свойства: ClusterName : !Ref Name ClusterSettings: - Name: containerInsights Value: enabled CapacityProviders: - FARGATE Tags: - Key: "Name" Value: "test-ecs" - Key: "CreatedBy" Value: "Maureen Barasa" - Key: "Environment" Value: "тест" Изходи: ECS: Описание: Създадената стойност на ECS клъстера: !Ref ECSCluster

Ръчно:

За да създадете ръчно клъстера, следвайте стъпките по-долу.

На конзолата Elastic Container Services щракнете върху създаване на клъстер.

Създаване на клъстер

След това за шаблона на клъстера изберете Powered by Fargate като опция. Щракнете върху следващата стъпка.

Изберете шаблон на клъстер (Осъществено от Fargate)

И накрая, конфигурирайте настройката на клъстера и щракнете върху създаване на клъстер. N / B: Можете да създадете нов VPC за клъстера. Но това не е задължително.

Конфигурирайте настройките на клъстера

Вече имате стартиран вашия клъстер на ECS Fargate.

Създайте AWS ECS клъстер с опция EC2

Можем да направим това и с помощта на CloudFormation, Terraform или ръчно.

CloudFormation:

За CloudFormation използвайте шаблона по-долу.

AWSTemplateFormatVersion: "2010-09-09" Описание: "Създаване на клъстер на ECS fargate" Параметри: Име: Тип: Описание на низа: Името на ECS клъстера VPC: Тип: Описание на низа: vpc за стартиране на услугата по подразбиране: vpc-ID PrivateSubnet01: Тип: Описание на низа: Подмрежата, където да се стартират екземплярите на ecs По подразбиране: ID на подмрежа PrivateSubnet02: Тип: Описание на низа: Подмрежата, където да се стартират екземплярите на ecs По подразбиране: ID на подмрежа InstanceType: Тип: Описание на низа: EC2 тип По подразбиране: "t2.микро "MinSize: Тип: Описание на низа: Подмрежата, където да стартирате ec2 По подразбиране: 1 MaxSize: Тип: Описание на низа: Подмрежата, където да стартирате ec2 По подразбиране: 2 DesiredSize: Тип: Описание на низа: Подмрежата, където да стартирате ec2 По подразбиране: 1 Ресурси: IAMInstanceRole: Тип: 'AWS :: IAM :: Role' Свойства: Описание: Името на ролята на инстанцията на ECS Име: ecsInstanceRole2 AssumeRolePolicyDocument: Версия: 2012-10-17 Изявление: - Ефект: Разрешаване на принципала: Услуга: - ec2.amazonaws.com Действие: - 'sts: AssumeRole' ManagedPolicyArns: - arn: aws: iam :: aws: policy / service-role / AmazonEC2ContainerServiceforEC2Role - arn: aws: iam :: aws: policy / CloudWatchAgentServerPolicy - arn: aws: iam :: aws : policy / AmazonS3ReadOnlyAccess Тагове: - Ключ: "Околна среда" Стойност: "тест" - Ключ: "createdBy" Стойност: "Морийн Бараса" - Ключ: "Име" Стойност: "ecsInstanceRole2" IAMInstanceProfile: Тип: AWS :: IAM :: InstanceProfile Properties: InstanceProfileName: ecsInstanceRole2 Роли: - !Ref IAMInstanceRole ECSSecurityGroup: Type: "AWS :: EC2 :: SecurityGroup" Properties: GroupDescription: "Security Group to control access to the ECS cluster" GroupName: "test-ECS-SG" VpcId: !Ref VPC SecurityGroupIngress: - CidrIp: 0.0.0.0/0 FromPort: 80 IpProtocol: "tcp" ToPort: 80 - CidrIp: 0.0.0.0/0 FromPort: 443 IpProtocol: "tcp" ToPort: 443 Tags: - Key: "Name" Value: "test-ECS-SG" - Key: "CreatedBy" Value: "Maureen Barasa" - Key: "Environment" Value : "test" ECSCluster: Type: 'AWS :: ECS :: Cluster' Properties: ClusterName: !Ref Name ClusterSettings: - Name: containerInsights Value: enabled Tags: - Key: "Name" Value: "test-ecs" - Key: "CreatedBy" Value: "Maureen Barasa" - Key: "Environment" Value: "test" ECSAutoScalingGroup : Тип: AWS :: AutoScaling :: AutoScalingGroup Properties: VPCZoneIdentifier: - !Реф. PrivateSubnet01 - !Ref PrivateSubnet02 LaunchConfigurationName: !Ref LaunchConfiguration MinSize: !Ref MinSize MaxSize: !Ref MaxSize Желан капацитет: !Ref DesiredSize HealthCheckGracePeriod: 300 Тагове: - Ключ: „Име“ Стойност: „test-ecs“ PropagateAtLaunch: true - Ключ: „CreatedBy“ Стойност: „MaureenBarasa“ PropagateAtLaunch: true - Ключ: „Околна среда“ Стойност: „тест“ PropagateAtLaunch: true LaunchConfiguration: Type: AWS :: AutoScaling :: LaunchConfiguration Properties: ImageId: "ami-ID" SecurityGroups: - !Ref ECSSecurityGroup InstanceType: !Ref InstanceType IamInstanceProfile: !Ref IAMInstanceProfile KeyName: "test-key" UserData: Fn :: Base64: !Под | #!/ bin / bash echo ECS_CLUSTER = test-ecs >> / etc / ecs / ecs.config; echo ECS_BACKEND_HOST = >> / etc / ecs / ecs.конфиг; BlockDeviceMappings: - DeviceName: "/ dev / xvda" Ebs: Encrypted: false VolumeSize: 20 VolumeType: "gp2" DeleteOnTermination: true Изходи: IAMProfile: Описание: Създадената стойност на EC2 на инстанцията: !Ref IAMInstanceProfile AutoScalingGroup: Описание: Стойността на групата за автоматично мащабиране на ECS: !Ref ECSAutoScalingGroup ECS: Описание: Създадената стойност на ECS клъстера: !Ref ECSCluster

В раздела за параметри на шаблона въведете конкретните персонализирани входове за вашия клъстер. Това включва:

Под раздела ресурси. Обърнете внимание, за да персонализирате:

След като CloudFormation приключи с изпълнението на стека, сега трябва да имате ECS клъстер с регистриран активен екземпляр на контейнер EC2. Виж отдолу:

ECS клъстер с екземпляр на контейнер

Ръчно:

За да създадете ръчно клъстера, следвайте стъпките по-долу:

Създайте роля на екземпляр на ECS със следните управлявани политики на AWS:

Редактирайте връзката доверие на ролята и добавете долната JSON политика на доверие.

"Версия": "2008-10-17", "Изявление": ["Sid": "", "Ефект": "Разрешаване", "Основно лице": "Услуга": "ec2.amazonaws.com "," Action ":" sts: AssumeRole "]

След това на конзолата Elastic Container Service щракнете върху създаване на клъстер. Този път в прозореца за избор на шаблон на клъстер, вместо да изберете Powered by Fargate, изберете EC2 Linux + Networking опция. Щракнете върху следващата стъпка.

Изберете шаблон на клъстер

След това трябва да конфигурирате вашия клъстер. За конфигурацията на клъстера имаме 3 основни раздела:

Име на клъстера:

Име на клъстера

Конфигурация на екземпляра:

Конфигурации на екземпляра

Уверете се, че сте избрали правилните конфигурации на екземпляра, специфични за вашите изисквания.

Работа в мрежа:

Конфигурации в мрежа

Тук има опция за създаване на нов VPC и подмрежи, ако потребителят не е създал своя собствена. Ако вече са създали мрежова архитектура, четецът може да използва съществуващата настройка. Същото се отнася и за групата за защита на клъстера. Може да се създаде нов или да изберем съществуващ.

След това за ролята на IAM на контейнера изберете ролята, която сте създали по-горе. Активирайте статистика за контейнери, като поставите отметка в квадратчето до това, за да активирате статистика за контейнери.

Конфигурирайте IAM Роля и Insight Insights

Накрая щракнете, създайте клъстер. Ще имате клъстер, работещ след няколко минути.

По-долу има връзка към част 2 от тази поредица, където обсъждам внедряването на контейнери в клъстера, използвайки дефиниции на задачи и услуги.

Стартиране на Docker контейнери на AWS ECS - Качване на изображения на Docker в ECR - Част 2

AWS ECS: Внедряване на контейнери с използване на дефиниции на задачи и услуги - Част 3

Етикети:

Важни връзки

Още ръководства за AWS:

Монтирайте файловата система AWS EFS на инстанция EC2

Как да създадете файлова система AWS EFS с CloudFormation

Щастлива сграда!!!

Бъдещето на лаптопите Asus може да е вдъхновено от Touch Bar на Apple
Сензорната лента на Apple на техните MacBooks може да не е оказала точно въздействието, което са търсили. Това обаче трябва да им служи като удовлетво...
Представете си, че вечеряте в ресторант с вашата храна, приготвена от робот
Живеем в общество, където все повече се автоматизира, като все повече се правят от машини. Сега дори има ресторант в Бостън, Масачузетс, където цялото...
Проучване показва, че смартфоните и видеоигрите влияят на съня на тийнейджърите, което ги прави по-тъжни
Много е казано за ефектите от смартфоните и видео игрите сред децата. Не може да е добре през цялото време да сте залепени за електронни устройства и ...