iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
DevOps

運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天系列 第 22

【Day 22】ECS Task Definitions and setting of ECS provider

  • 分享至 

  • xImage
  •  
tags: 鐵人賽 AWS Outposts ECS

今天直接接續昨天部分說明

調整 Cluster

  • 因為 ECS Cluster 建好了之後,還要指定運算的來源,所以看圖
    • 從 ECS console 上,選 cluster 名稱後,跳到 Capacity Providers
    • 在這個頁面按 Create
  • 指定運算來源,他會對應到一個 Auto-scaling group
    • 自動調節的功能由誰來管?是否由 ECS 來介入呢?
    • 預期的使用率為多少?這個會決定是否要增長加開 EC2 的機器
    • 慣老闆最喜歡請臨時工、發日薪的那種,離峰時段不想付他薪水可以隨時可以叫他回家
    • 身為慣老闆的員工,當然要盡量壓榨每台機器
    • 保護機器被終止掉之前要先詢問的功能
    • 備註:如果 Auto-scaling group 的保護機制沒有打開,則上述的 Managed scaling 和 Managed termination protection 會都無法切換成 Enable
  • 成功訊息如下
  • 另外,因為 Outposts 的機器要配置 Public IP 使 ECS 可連入管理;沒配置的話,在 ECS Instances 會看不到機器!成圖案例如下圖:
  • 可以看到容器被丟到 Outpost 上的 ECS 運作了

設定 Task Definitions

  • 繼續昨天的部分,昨天因為缺少容器,所以還沒做這部分
  • 今天我花了些時間把程式接起來

原始碼

  • 來源請見我的 GitHub / Makefile
    • 在這個 Makefile 中,除了 awsid 是假的之外,其他東西都是會用到的指令
    • 針對 Makefile 的作法,可以看前面的文章,任賢齊那篇!!
  • 接著看我的 GitHub / Dockerfile
    • 我選了一個很小的 base image 當做基底
    • 對漢堡不熟的可以看本系列文章,連千毅那篇!!
  • 接著看我的 GitHub / libs 目錄下的個模組
    • 這裡有蠻多功能的,包含了生成 cred 的、新聞爬蟲、logging、寄信等等的
    • 今天解釋不完,先跳過。

流程

  • 寫完 code 後,build 一版 image ,以 make build-img 進行
  • 看狀況,決定要不要跑起來看,或者是推上 ECR / DockerHub
    • 地端開發沒有掛 IAM Role 所以,不要的去 gen cred,選擇註解掉或是寫雙重判斷生 cred 都行
  • 使用 make push-image 上夾棍 上傳容器映像檔
  • 在定義好 Task 後,可以直接從下圖方式,執行單次任務
  • 如果沒有要額外覆蓋預設值,按照食譜一路向北的話,就直接 Run Task
  • 從介面上可以看到,他在等待被安排到閒置的廚師身上
  • 點選單次任務的名稱,可以看 logs (如果你有開的話)
  • 信件寄起來!!
    • 我看到有時差的問題...改天再來修

結論

  • 今天的部長風向球就到這裡
  • 明天再來解說細節怎麼把玩
  • 週五下班前被派工作,加班好餓,明天繼續好了!
  • 我要去吃泡麵了

上一篇
【Day 21】夭壽讚的 ECS on Outposts 實作
下一篇
【Day 23】建立 EKS on Outpost 的前置作業
系列文
運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言