簡體   English   中英

如何通過 Ruby SDK 在 ECS Fargate 任務上配置臨時存儲?

[英]How to configure ephemeral storage on ECS Fargate Task via Ruby SDK?

我正在使用 AWS ECS 的 Ruby SDK 通過run_task方法啟動托管在 Fargate 中的任務。 這一切都適用於默認值 - 我可以啟動任務 OK 並且可以將自定義命令參數發送到我的 Docker 容器:

client = Aws::ECS::Client.new(region: region)
client.run_task({
  cluster: fargate_cluster_name,
  task_definition: task_definition,
  launch_type: 'FARGATE',
  network_configuration: {
    awsvpc_configuration: {
      subnets: my_subnets,
        security_groups: my_security_groups,
        assign_public_ip: 'ENABLED',
      },
  },
  overrides: {
    container_overrides: [
      {
        name: my_container_name,
        command: command_params
      }
    ]
  }
})

對於某些運行,我需要比默認值更大的磁盤大小,並希望通過 SDK 中的ephemeral_storage參數進行設置。 我試過這個:

client = Aws::ECS::Client.new(region: region)
client.run_task({
  cluster: fargate_cluster_name,
  task_definition: task_definition,
  launch_type: 'FARGATE',
  network_configuration: {
    awsvpc_configuration: {
      subnets: my_subnets,
        security_groups: my_security_groups,
        assign_public_ip: 'ENABLED',
      },
  },
  overrides: {
    container_overrides: [
      {
        name: my_container_name,
        command: command_params
      }
    ],
    ephemeral_storage: {
      size_in_gi_b: 200
    }
  }
})

但它不起作用(我在我的入口點運行df -H並且可以看到存儲沒有增加)。

  • 我知道ephermal_storage屬性在我的調用中位於正確的位置,就好像我移動它 SDK 給出了錯誤一樣。
  • 我知道size_in_gi_b值是正確的,就好像我改變它(例如size_in_gib )我也得到一個錯誤。
  • 我正在使用平台版本1.4.0
  • Cloudwatch 中沒有錯誤或警告無法設置屬性,例如(任務運行良好,然后磁盤空間不足)。
  • 我在文檔中找不到有關如何解決此問題的任何內容。

如何通過 Ruby SDK 為臨時任務執行設置臨時存儲? (我正在尋找與AWS的這篇博文等效的 SDK,而不是替代解決方案,例如安裝 EFS 或通過 EC2 運行)

是 SDK 的錯誤,現已修復(服務器端,因此不需要庫更新)。

問題中的代碼塊是通過 Ruby SDK 增加臨時存儲的正確方法:

client.run_task({
  # ...
  overrides: {
    # ...
    ephemeral_storage: {
      size_in_gi_b: 200
    }
  }
})

暫無
暫無

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

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