Docker發佈了用於簡化在AWS ECS和Fargate中部署的插件

Docker已經發布了增強Docker與 AWS Elastic Container ServiceAWS Fargate集成的 公測版本ECS插件的發佈使開發人員可以利用Docker的經驗來創建必要的基礎設施以在AWS中操作。

目前用戶可以體驗的beta版需要在Docker命令中使用 ecs 語法,因爲該插件在短期內會被直接利用。例如,執行 docker ecs compose up 將會創建應用程序以及AWS所需的所有資源,如 compose.yaml 文件。這樣就不需要單獨創建不屬於Compose規範的AWS ECS資源了,比如 VPCsECS集羣ECS任務定義

ECS Docker插件需要設置一個AWS配置文件,以便從中選擇必要的AWS API憑證。創建之後,AWS配置文件和區域將存儲在Docker上下文中。這可以通過 docker ecs setup 命令啓動。

該插件將解析 compose.yaml 文件,並將其轉換爲適當的 CloudFormation模板。然後,使用該模板按指定的順序創建應用程序資源。資源可以通過 down 命令清理,或者在部署失敗時自動清理。

ECS集成過程會執行四個步驟。加載階段( Load phase)依賴於 compose-go來加載和解析 compose.yaml 文件。在驗證階段(Validate phase),會將ECS默認值注入到compose-go模型中,並對 compose.yaml 文件進行驗證以確保其不包含不受支持的功能。轉換階段(Convert phase)生成一個CloudFormation模板,該模板定義了在AWS上實現應用程序模型所需的所有應用程序資源。最後,應用階段(Apply phase)執行CloudFormation模板的應用,方法是導出到堆棧文件或部署到AWS上。

在此過程中,Compose服務將映射到ECS服務。由於Compose不支持多容器服務,比如 Kubernetes Podssidecars等,因此可以使用自定義的Compose擴展(即 x-aws-* )將ECS特性作爲服務級特性公開。

網絡抽象從Compose模型映射到 AWS安全組。應用程序在單個VPC中創建,每個Compose網絡都將創建安全組,包括隱式的默認安全組。然後根據Compose模型中網絡的聲明方式附加服務。這使得附加到公共安全組的服務能夠彼此通信。

還爲每個應用程序創建了一個 Cloud Map私有命名空間,名稱爲 {project}.local 。 AWS Cloud Map是一種資源發現服務。它允許使用自定義名稱註冊任何應用程序資源。然後,Cloud Map將檢查已註冊資源的運行狀況,以確保其位置是最新的。

GA版本預計在今年晚些時候發佈,它將把該插件納入到 Docker Contexts中。 Docker Contexts爲單個CLI實例提供了一種擁有多個上下文的方法。每個上下文都包含管理集羣或節點所需的所有必要端點和安全信息。例如,同一檯筆記本電腦上可能有一個開發上下文和一個生產上下文。可以用 docker context use<context-name> 命令在上下文之間切換。

想要開始嘗試,需要一個Docker ID和 Docker Desktop Edge 2.3.3.0版GitHub倉庫中包含了一個 演示應用程序。 Docker也在尋找提交到 路線圖的特性請求。

原文鏈接:

Docker Releases Plugin for Simplified Deployments into AWS ECS and Fargate

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章