1

每個工人運行多個任務。如果我們有很多任務,我們需要多個工作人員。爲了節省資源,我們希望根據供應(剩餘容量)和需求(待完成的任務)彈性擴展工作人員進出。規模在廣場工作人員沒有殺死任務

擴展很簡單:添加更多節點,他們向TSA註冊自己並開始工作。

縮放比較棘手:在殺死工人的實例之前,需要等待其任務完成。否則,他們將不得不重新啓動另一名工人。這對於小任務來說很好,但對於那些可能不被接受的較長任務來說很好。

AWS上的一種可能的解決方案是使用Autoscaling Lifecycle Hooks同步告訴工作人員不接受任何更多的任務,並在完成所有任務時返回,然後將其終止。 Concourse Worker API雖然沒有任何這樣的操作。

有沒有一種方法可以在Concourse工作人員中實施安全擴展?

如果答案是「不擔心,波什會照顧它」我想知道這些機制是因爲我可能不會使用它。

回答

1

您必須使用在命令行concourse二進制,運行的ATC(這是廣場調度和網絡接口)在主機上:

concourse --help 
Usage: 
    concourse [OPTIONS] <command> 

Application Options: 
    -v, --version Print the version of Concourse and exit [$CONCOURSE_VERSION] 

Help Options: 
    -h, --help  Show this help message 

Available commands: 
    land-worker Safely drain a worker's assignments for temporary downtime. 
    retire-worker Safely remove a worker from the cluster permanently. 
    web   Run the web UI and build scheduler. 
    worker   Run and register a worker. 

所以看起來你可以掛接到在自動縮放生命週期服務的東西,調用land-worker然後retire-worker(不知道是否retire-worker就足夠了),一旦你弄清楚你要降速哪一個工作......

當你旋轉相同的工人回來了,你可能有要小心工人的名字,我似乎想有時ATC會感到困惑,你必須試驗一下(不管你是否可以保留相同的名字或改變它)。

相關問題