Я настроил на ECS кластер, контейнер, задачу и сервис.
После того, как я создал службу, похоже, что она работает с «3 желаемыми задачами», однако задачи не создаются как ожидающие или выполняющиеся. По сути, кажется, что он ничего не делает.
Определение моей задачи (исключая нули и пустые массивы):
{
"containerDefinitions": [
{
"portMappings": [
{
"hostPort": 5000,
"protocol": "tcp",
"containerPort": 25565
},
{
"hostPort": 5000,
"protocol": "udp",
"containerPort": 25565
}
],
"cpu": 0,
"memoryReservation": 1024,
"image": "itzg/bungeecord",
"essential": true,
"name": "BungeeCord"
}
],
"compatibilities": [
"EC2"
],
"taskDefinitionArn": "arn:aws:ecs:us-west-1:949960343466:task-definition/BungeeCordTask:3",
"family": "BungeeCordTask",
"requiresAttributes": [
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
}
],
"requiresCompatibilities": [
"EC2"
],
"revision": 3,
"status": "ACTIVE",
}
В моем кластере 3 экземпляра ECS, которые все работают и на них ничего нет: Мой кластер
Моя услуга здесь: Моя служба
У меня нет автоматического масштабирования, балансировки нагрузки или чего-либо еще. Но у меня действительно есть обнаружение некоторых служб по умолчанию.
У кого-нибудь есть идеи, почему не запускаются задачи?
Редактировать:
Возможно, экземпляры не зарегистрированы в ECS. Обязательно создавайте экземпляры только с помощью CloudFormation. Обновляйте службы только после того, как все экземпляры перейдут в рабочее состояние. Если вы обновляете CloudFormation из командной строки, убедитесь, что вы ввели sleep
и позвольте вашим экземплярам EC2 сначала запуститься, а затем обновить службу ECS.
в обслуживание Открой Вкладка "Задачи" и переключите представление на «Остановленные задачи».
Вы должны увидеть список задач, которые не удалось запустить, и причину их сбоя.
Также проверьте /var/log/amazon/{something about ecr}/*
на предмет других возможных ошибок.
Может случиться так, что экземпляры не могут получить доступ к реестру докеров (проблема конфигурации сети) или они не могут войти в систему, если это ECR (роль IAM) или требуется имя пользователя / пароль.
Надеюсь, это поможет :)