在使用eb创建的初始环境中,不反映ebextensions

时间:2018-08-02 11:59:56

标签: amazon-web-services elastic-beanstalk ebcli eb

下面是应用程序的设置,该应用程序将docker容器运行到elasticbeanstalk中。

enter image description here

第1步:

创建了一个名为apptest的父文件夹,并在其中放置了Dockerfile,package.json和小型hello world server.js节点应用程序。

第2步:

在父文件夹apptest内运行了命令eb init,该命令创建了包含默认设置的.elasticbeanstalk的隐藏文件夹config.yml

第3步:

.ebextensions添加了配置文件01_run.config,该文件包含以下用于更新实例类型的配置。

option_settings:
    aws:autoscaling:launchconfiguration :
        InstanceType : "m4.xlarge"

请注意,到目前为止,尚未创建任何环境。并且由于创建了扩展,因此应使用指向m4.xlarge的实例类型覆盖默认值。

第4步:

现在运行命令eb create apptest-dev(例如)并创建环境


问题:

创建环境时,它没有m4.xlarge,而是以默认实例类型为t2.micro创建的。但是,当从控制台(不包括.elasticbeanstalk文件夹)将此文件夹内容的压缩版本上载到环境中时,将拾取ebextensions文件夹配置。唯一的原因是option_settings无法正常工作,但filescommands之类的其他资源却从命令行和文件上传中都得到体现。

我觉得它有点小东西丢失了,我无法从博客和文档中找出来。感谢您的提前帮助。

1 个答案:

答案 0 :(得分:1)

eb create期间,EBCLI传递了许多选项设置的自身默认值,其中包括实例类型。由于EBCLI不会解析.ebextensions,并且Beanstalk服务更喜欢EBCLI传递的默认值,因此您的.ebextensions中指定的实例类型将被忽略。

有两种方法可以解决此问题:

  1. eb config之后致电eb create。在交互模式下,更改实例类型,然后保存并退出。
  2. eb create的身分呼叫eb create -i m4.xlarge