簡體   English   中英

如何防止獨立作業(運行完成)被調度程序/自動縮放器驅逐?

[英]How do I prevent independent jobs (which run to completion) from being evicted by the scheduler/autoscaler?

我有一個K8s集群,它運行獨立的工作(每個工作有一個pod),我希望它們能夠運行完成。 但是,調度程序有時會在不同的節點上重新安排它們。 我的工作需要單獨運行,並且在不同的節點上重新啟動它們對我來說不是一個可接受的結果。

我正在研究Pod中斷預算(PDB),但據我所知,他們的選擇器適用於pod的標簽。 由於我的每個工作都不同並且有一個單獨的標簽,我如何使用PDB告訴K8s我的所有 pod的maxUnavailable都是0?

我也使用過這個注釋

"cluster-autoscaler.kubernetes.io/safe-to-evict": false

但這並不影響資源壓力下的pod驅逐。

理想情況下,我應該告訴K8s,除非他們完成,否則我的任何Pod都不應被驅逐。

您應指定資源,以使您的工作成為有保證的服務質量:

resources:
  limits:
    memory: "200Mi"
    cpu: "700m"
  requests:
    memory: "200Mi"
    cpu: "700m"

請求應該等於限制 - 然后你的pod將變得有保證,並且不再被驅逐。

閱讀更多: https//kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod

暫無
暫無

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

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