繁体   English   中英

如何使用容器覆盖在AWS ECS上运行服务?

[英]How to run a service on AWS ECS with container overrides?

在AWS ECS上,您可以运行任务或服务。

如果使用run_task(**kwargs)运行任务,则可以选择覆盖某些任务选项,例如容器环境变量,这样就可以配置容器内的事物。 那很棒。

现在,我找不到如何使用create_service(**kwargs)做同样的方法。 您只能指定任务,因此创建的容器将按照任务定义中指定的配置运行。 无法配置它。

有没有办法修改服务中的任务,或者AWS ECS服务无法做到这一点?

这是不可能的。 如果您认为服务如何工作,他们会创建X个任务副本。 任务的所有实例都具有相同的参数,因为目的是扩展任务 - 他们应该完成相同的工作。 通常,流量是负载平衡的(服务配置的一部分),因此不希望用户在下一次获得与先前请求不同的响应,因为结束了不同配置的任务。 所以底线是 - 这是设计的。

由于参数是共享的,因此如果需要更改参数,则需要创建任务的新定义,然后将其作为服务启动(或更新现有服务)。

如果您希望任务知道其他任务(因此行为不同),例如将数据写入分片存储的不同分片,则必须在任务逻辑中实现该任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM