4

我試圖啓動一個AWS青苗環境中運行多個集裝箱碼頭工人,但它失敗的事件以下列表:AWS青苗環境中運行多集裝箱碼頭工人無法啓動與健康:嚴重

2016-01-18 16:58:57 UTC+0100 WARN Removed instance [i-a7162d2c] from your environment due to a EC2 health check failure. 
2016-01-18 16:57:57 UTC+0100 WARN Environment health has transitioned from Degraded to Severe. None of the instances are sending data. 
2016-01-18 16:47:58 UTC+0100 WARN Environment health has transitioned from Pending to Degraded. Command is executing on all instances. Command failed on all instances. 
2016-01-18 16:43:58 UTC+0100 INFO Added instance [i-a7162d2c] to your environment. 
2016-01-18 16:43:27 UTC+0100 INFO Waiting for EC2 instances to launch. This may take a few minutes. 
2016-01-18 16:41:58 UTC+0100 INFO Environment health has transitioned to Pending. There are no instances. 
2016-01-18 16:41:54 UTC+0100 INFO Created security group named: awseb-e-ih2exekpvz-stack-AWSEBSecurityGroup-M2O11DNNCJXW 
2016-01-18 16:41:54 UTC+0100 INFO Created EIP: 52.48.132.172 
2016-01-18 16:41:09 UTC+0100 INFO Using elasticbeanstalk-eu-west-1-936425941972 as Amazon S3 storage bucket for environment data. 
2016-01-18 16:41:08 UTC+0100 INFO createEnvironment is starting. 

健康狀況被標記爲 「嚴重」,我有如下記錄:

98 % of CPU is in use. 
Initialization failed at 2016-01-18T15:54:33Z with exit status 1 and error: Hook /opt/elasticbeanstalk/hooks/preinit/02ecs.sh failed. 

. /opt/elasticbeanstalk/hooks/common.sh 
/opt/elasticbeanstalk/bin/get-config container -k ecs_cluster 
EB_CONFIG_ECS_CLUSTER=awseb-figure-test-ih2exekpvz 
/opt/elasticbeanstalk/bin/get-config container -k ecs_region 
EB_CONFIG_ECS_REGION=eu-west-1 
/opt/elasticbeanstalk/bin/get-config container -k support_files_dir 
EB_CONFIG_SUPPORT_FILES_DIR=/opt/elasticbeanstalk/containerfiles/support 
is_baked ecs_agent 
[[ -f /etc/elasticbeanstalk/baking_manifest/ecs_agent ]] 
true 
aws configure set default.output json 
aws configure set default.region eu-west-1 
echo ECS_CLUSTER=awseb-figure-test-ih2exekpvz 
grep -q 'ecs start/' 
initctl status ecs 
initctl start ecs 
ecs start/running, process 8418 
TIMEOUT=120 
jq -r .ContainerInstanceArn 
curl http://localhost:51678/v1/metadata 
% Total % Received % Xferd Average Speed Time Time Time Current 
Dload Upload Total Spent Left Speed 
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to  localhost port 51678: Connection refused 

我的配置:

Environment type: Single Instance 
Instance type: Medium 
Root volume type: SSD 
Root Volume Size: 8GB 
Zone: EU-West 

我Dockerrun.aws.json:

{ 
    "AWSEBDockerrunVersion": "2", 
    "containerDefinitions": [ 
    { 
     "essential": true, 
     "memory": 252, 
     "links": [ 
     "redis" 
     ], 
     "mountPoints": [ 
     { 
      "containerPath": "/srv/express", 
      "sourceVolume": "_WebExpress" 
     }, 
     { 
      "containerPath": "/srv/express/node_modules", 
      "sourceVolume": "SrvExpressNode_Modules" 
     } 
     ], 
     "name": "web", 
     "image": "figure/web:latest", 
     "portMappings": [ 
     { 
      "containerPort": 3000, 
      "hostPort": 3000 
     } 
     ] 
    }, 
    { 
     "essential": true, 
     "memory": 252, 
     "image": "redis", 
     "name": "redis", 
     "portMappings": [ 
     { 
      "containerPort": 6379, 
      "hostPort": 6379 
     } 
     ] 
    } 
    ], 
    "family": "", 
    "volumes": [ 
    { 
     "host": { 
     "sourcePath": "./web/express" 
     }, 
     "name": "_WebExpress" 
    }, 
    { 
     "host": { 
     "sourcePath": "/srv/express/node_modules" 
     }, 
     "name": "SrvExpressNode_Modules" 
    } 
    ] 
} 
+0

你有沒有安裝應用程序中的健康檢查端點?:http://docs.aws.amazon.com/elasticbeanstalk /latest/dg/using-features.managing.elb.html#using-features.managing.elb.healthchecks –

+0

我沒有。我剛剛意識到我沒有配置文檔http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecstutorial.html –

回答

1

@Kilianc:如果您使用的創建彈性豆莖應用多碼頭集裝箱平臺,那麼您必須將以下策略列表添加到默認角色「aws-elasticbeanstalk-ec2-role」,或者您可以創建自己的角色。

  1. AWSElasticBeanstalkWebTier
  2. AWSElasticBeanstalkMulticontainerDocker
  3. AWSElasticBeanstalkWorkerTier

感謝