我在AWS中定义了一个ECS集群,并在必要时使用一个自动缩放组来添加/删除实例来处理任务。我已经设置了ASG,以便在适当的时候创建EC2实例,但是除非我手动进入并禁用/启用ECS服务,否则它不会连接到ECS集群。
我在EC2机器上使用AmazonLinux2ami,所有东西都在同一个区域/帐户中。我已经在下面列出了我的用户数据。
#!/bin/bash
yum update -y
amazon-linux-extras disable docker
amazon-linux-extras install -y ecs
echo "ECS_CLUSTER={CLUSTERNAME}" >> /etc/ecs/ecs.config
systemctl enable --now ecs如前所述,这将安装ECS服务并正确设置配置文件,但enable实际上并不连接机器,但是在机器上运行相同的禁用/启用命令,一旦运行就会连接到没有问题。我遗漏了什么?
发布于 2021-03-02 22:39:47
最后我用一句古老的格言解决了这个问题,一次又一次地关掉它。
例如,我将shutdown -r 0添加到用户数据脚本的底部,以便在机器“配置”并立即连接之后重新启动它。
发布于 2020-07-07 02:13:10
首先,正确的语法是
#!/usr/bin/env bash
echo "ECS_CLUSTER=CLUSTER_NAMe" >> /etc/ecs/ecs.config一旦您更好地更新配置以重新启动ECS代理。
#!/usr/bin/env bash
echo "ECS_CLUSTER=CLUSTER_NAME" >> /etc/ecs/ecs.config
sudo yum update -y ecs-init
#this will update ECS agent, better when using custom AMI
/usr/bin/docker pull amazon/amazon-ecs-agent:latest
#Restart docker and ECS agent
sudo service docker restart
sudo start ecshttps://stackoverflow.com/questions/62763764
复制相似问题