簡體   English   中英

如何為任務提供不同環境變量ECS Terraform

[英]How to provide tasks with different environment variables ECS Terraform

我有一個 ECS 服務,在該 ECS 服務中,我想從同一個任務定義中啟動 3 個任務。 我需要將這些任務中的每一個都放在一個單獨的 EC2 實例上,這看起來很簡單,但是我想向每個正在運行的任務傳遞一個不同的命令,以通過我的 CLI 中的 CLI 指定在哪里可以找到它們的配置和一些其他選項運行應用程序。

例如,對於任務 1,我想傳遞run-node CONFIG_PATH="/tmp/nodes/node_0和任務 2 run-node CONFIG_PATH="/tmp/nodes/node_1" --bootnode true和任務 3 run-node CONFIG_PATH="/tmp/nodes/node_0 --http true"

我正在努力了解如何使用 Terraform 在單個服務中管理這樣的單個任務實例,管理多個完全相等的實例似乎真的很容易,但我找不到將自定義覆蓋傳遞給每個任務的方法它們都運行相同的任務定義。

我認為這可能是一個不同的開發運維自動化工具的工作,但如果可能的話,我希望在 Terraform 中繼續這樣做。

這不是 terraform 的限制。 這就是 ECS 服務的工作方式——運行相同任務定義的精確副本 因此,您無法在 ECS 服務中自定義單個任務,因為所有這些任務都是相同的、可互換的和一次性的。

要提供覆蓋,您必須在服務之外運行任務,您可以使用run-taskstart-task以及 AWS CLI 的--overrides或任何 AWS SDK 中的等效項來執行此操作。 可悲的是,在 terraform 中沒有等效的,除了使用 AWS CLI 運行local-exec

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM