Как подключить мою группу автомасштабирования к моему кластеру ecs?
Во всех учебных пособиях для ECS вам необходимо создать кластер, а после этого - группу автомасштабирования, в которой будут появляться экземпляры. Каким-то образом во всех этих учебниках экземпляры волшебным образом отображаются в кластере, но никто не дает подсказки, что связано с группой автомасштабирования и кластером.
моя группа автомасштабирования порождает экземпляры, как ожидалось, но они просто не отображаются в моем кластере ecs, который держит мои определения докеров.
Где соединение отсутствует?
Ответы
Ответ 1
Ну, я узнал.
Его все о ecs-agent и его файле конфигурации /etc/ecs/ecs.config(Этот файл будет создан через поле Userdata при создании экземпляров EC2 даже из конфигурации автомасштабирования.)
Ознакомьтесь с параметрами конфигурации здесь: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
Но вы даже можете скопировать ecsconfig, хранящийся на Amazon S3, сделать это так (следующие строки идут в поле Userdata
):
#!/bin/bash
yum install -y aws-cli
aws configure set default.s3.signature_version s3v4
aws configure set default.s3.addressing_style path
aws configure set default.region eu-central-1
aws s3 cp s3://<bucketname>/ecs.config /etc/ecs/ecs.config
note: Signature_version v4 специфична для некоторых областей, таких как eu-central-1.
Этот параметр работает только в том случае, если ваша роль IAM для экземпляра (в моем случае его ecsInstanceRole) имеет право AmazonS3ReadOnlyAccess
Консоль консоли AWS GUI для этого будет:
Используйте мастер кластера в https://console.aws.amazon.com/ecs/home#/firstRun.
Он создаст автомасштабирование grou для вашего кластера, loadbalancer перед ним и соедините все это красиво.
Ответ 2
Я боролся с этим некоторое время. Ключ к получению экземпляров в группе автомасштабирования, связанной с вашим кластером ECS, находится в пользовательских данных. Когда вы создаете конфигурацию запуска, когда вы переходите к шагу 3, "Настроить детали", нажмите вкладку "Дополнительно" и введите простой bash script, как показано ниже, для ваших пользовательских данных.
#!/usr/bin/env bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Все доступные параметры конфигурации агента можно найти здесь http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
Ответ 3
Группа автомасштабирования не связана строго с кластером. Однако группу автомасштабирования можно настроить таким образом, чтобы каждый запущенный экземпляр регистрировался в конкретном кластере.
Регистрация экземпляра в кластере лежит на агенте ECS, запущенном на экземпляре. Если вы используете AMIS оптимизированный AMA, агент ECS запустится, когда экземпляр загрузится и зарегистрируется в настроенный кластер. Тем не менее, вы также можете использовать агент ECS для других AMI Linux, следуя инструкциям по установке.