[英]Mount a single config file onto an ECS service
我來自 Kube.netes 背景,我正在嘗試學習 AWS/ECS。 在 Kube.netes 中,您可以使用ConfigMap
資源快速輕松地將簡單的一次性配置文件掛載到容器中,而無需 go 設置卷的所有麻煩。 這也使得從 Terraform 配置服務變得非常容易,這正是我正在嘗試做的。
AWS ECS 服務是否具有 Kube.netes Config Maps 之類的功能? 我只需要最簡單的方法在啟動時將任意文本文件插入到我的服務中,可以使用 Terraform 快速更新。 我想避免每次此文件更改時都必須重建整個圖像。
這是可能的還是我需要為此創建卷? 如果是這樣,為此目的最好的卷配置類型是什么? 我可以輕松地在 S3 中存儲和更新文件,這些只是只需要讀取訪問權限的簡單配置文件,那么僅掛載 S3 存儲桶是否可以接受?
解決方案取決於架構和細節。 這是我可以看到的一些可能的解決方案:
Systems Manager
或Secrets Manager
服務中並傳遞給容器(以其他方式,您可以在容器內生成配置文件,讀取這些 ENV 並使用自定義Entrypoint
值打印到文件)base_image
並且每次只重建它的最后一層。 在 Dockerfile 術語中,它看起來像: FROM base_image COPY config_file /app/config_file
Entrypoint
將其復制到容器中。 例如,如果當前Entryrpoint
是/usr/bin/apache
: FROM some_image RUN echo 'aws s3 cp s3://mybucket/config_file /app/ && /usr/bin/apache' > /Entrypoint.sh ENTRYPOINT ['sh', '/Entrypoint.sh']
*但是在這種情況下你需要在容器中安裝aws cli。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.