chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Kube-scheduler調(diào)度器內(nèi)部流轉(zhuǎn)過程

阿銘linux ? 來源:阿銘linux ? 2023-05-06 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

K8S調(diào)度器Kube-schduler的主要作用是將新創(chuàng)建的Pod調(diào)度到集群中的合適節(jié)點(diǎn)上運(yùn)行。kube-scheduler的調(diào)度算法非常靈活,可以根據(jù)不同的需求進(jìn)行自定義配置,比如資源限制、親和性和反親和性等。 kube-scheduler的工作原理

監(jiān)聽API Server:kube-scheduler會監(jiān)聽API Server上的Pod對象,以獲取需要被調(diào)度的Pod信息。它會通過API Server提供的REST API接口獲取Pod的信息,例如Pod的標(biāo)簽、資源需求等信息。

篩選可用節(jié)點(diǎn):kube-scheduler會根據(jù)Pod的資源需求和約束條件(例如Pod需要的特定節(jié)點(diǎn)標(biāo)簽)篩選出可用的Node節(jié)點(diǎn)。它會從所有注冊到集群中的Node節(jié)點(diǎn)中選擇符合條件的節(jié)點(diǎn)。

計(jì)算分值:kube-scheduler會為每個可用的節(jié)點(diǎn)計(jì)算一個分值,以決定哪個節(jié)點(diǎn)是最合適的。分值的計(jì)算方式可以通過調(diào)度算法來指定,例如默認(rèn)的算法是將節(jié)點(diǎn)資源利用率和距離Pod的網(wǎng)絡(luò)延遲等因素納入考慮。

選擇節(jié)點(diǎn):kube-scheduler會選擇分值最高的節(jié)點(diǎn)作為最終的調(diào)度目標(biāo),并將Pod綁定到該節(jié)點(diǎn)上。如果有多個節(jié)點(diǎn)得分相等,kube-scheduler會隨機(jī)選擇一個節(jié)點(diǎn)。

更新API Server:kube-scheduler會更新API Server上的Pod對象,將選定的Node節(jié)點(diǎn)信息寫入Pod對象的spec字段中,然后通知Kubelet將Pod綁定到該節(jié)點(diǎn)上并啟動容器。

Kube-scheduler調(diào)度器內(nèi)部流轉(zhuǎn)過程

b72cd95c-eb92-11ed-90ce-dac502259ad0.png

Scheduler 通過注冊 client-go 的 informer 的 handler 方法監(jiān)聽 api-server 的 pod 和 node 變更事件,從而實(shí)現(xiàn)將 pod 的信息更新 scheduler 的 activeQ,podbackoffQ,unschedulableQ 三個隊(duì)列中。

帶調(diào)度的 pod 會進(jìn)入到 activeQ 的調(diào)度隊(duì)列中,activeQ 是一個維護(hù)著 pod 優(yōu)先級的堆結(jié)構(gòu),調(diào)度器在調(diào)度循環(huán)中每次從堆中取出優(yōu)先級最高的 pod 進(jìn)行調(diào)度。

取出的待調(diào)度 pod 會經(jīng)過調(diào)度器的一系列調(diào)度算法找到合適的 node 節(jié)點(diǎn)進(jìn)行綁定。如果調(diào)度算法判定沒有適合的節(jié)點(diǎn),會將 pod 更新為不可調(diào)度狀態(tài),并扔進(jìn) unschedulable 的隊(duì)列中。

調(diào)度器在執(zhí)行綁定操作的時(shí)候是一個異步過程,調(diào)度器會先在緩存中創(chuàng)建一個和原來 pod 一樣的 assume pod 對象用模擬完成節(jié)點(diǎn)的綁定,如將 assume pod 的 nodename 設(shè)置成綁定節(jié)點(diǎn)名稱,同時(shí)通過異步執(zhí)行綁定指令操作。

在 pod 和 node 綁定前,scheduler需要確保 volume 已經(jīng)完成綁定操作,確認(rèn)完所有綁定前準(zhǔn)備工作,scheduler 會向 api-server 發(fā)送一個 bind 對象,對應(yīng)節(jié)點(diǎn)的 kubelet 將待綁定的pod在節(jié)點(diǎn)運(yùn)行起來。

為節(jié)點(diǎn)計(jì)算分值 節(jié)點(diǎn)分值計(jì)算是通過調(diào)度器算法實(shí)現(xiàn)的,而不是固定的。默認(rèn)情況下,kube-scheduler采用的是DefaultPreemption算法,其計(jì)算分值的方式包括以下幾個方面:

節(jié)點(diǎn)的資源利用率 kube-scheduler會考慮每個節(jié)點(diǎn)的CPU和內(nèi)存資源利用率,將其納入節(jié)點(diǎn)分值的計(jì)算中。資源利用率越低的節(jié)點(diǎn)得分越高。

節(jié)點(diǎn)上的Pod數(shù)目 kube-scheduler會考慮每個節(jié)點(diǎn)上已經(jīng)存在的Pod數(shù)目,將其納入節(jié)點(diǎn)分值的計(jì)算中。如果節(jié)點(diǎn)上已經(jīng)有大量的Pod,新的Pod可能會導(dǎo)致資源競爭和擁堵,因此節(jié)點(diǎn)得分會相應(yīng)降低。

Pod與節(jié)點(diǎn)的親和性和互斥性 kube-scheduler會考慮Pod與節(jié)點(diǎn)的親和性和互斥性,將其納入節(jié)點(diǎn)分值的計(jì)算中。如果Pod與節(jié)點(diǎn)存在親和性,例如Pod需要特定的節(jié)點(diǎn)標(biāo)簽或節(jié)點(diǎn)與Pod在同一區(qū)域,節(jié)點(diǎn)得分會相應(yīng)提高。如果Pod與節(jié)點(diǎn)存在互斥性,例如Pod不能與其他特定的Pod共存于同一節(jié)點(diǎn),節(jié)點(diǎn)得分會相應(yīng)降低。

節(jié)點(diǎn)之間的網(wǎng)絡(luò)延遲 kube-scheduler會考慮節(jié)點(diǎn)之間的網(wǎng)絡(luò)延遲,將其納入節(jié)點(diǎn)分值的計(jì)算中。如果節(jié)點(diǎn)之間的網(wǎng)絡(luò)延遲較低,節(jié)點(diǎn)得分會相應(yīng)提高。

Pod的優(yōu)先級 kube-scheduler會考慮Pod的優(yōu)先級,將其納入節(jié)點(diǎn)分值的計(jì)算中。如果Pod具有高優(yōu)先級,例如是關(guān)鍵業(yè)務(wù)的部分,節(jié)點(diǎn)得分會相應(yīng)提高。

這些因素的相對權(quán)重可以通過kube-scheduler的命令行參數(shù)或者調(diào)度器配置文件進(jìn)行調(diào)整。需要注意的是,kube-scheduler的算法是可擴(kuò)展的,可以根據(jù)需要編寫自定義的調(diào)度算法來計(jì)算節(jié)點(diǎn)分值。 調(diào)度策略

默認(rèn)調(diào)度策略(DefaultPreemption):默認(rèn)調(diào)度策略是kube-scheduler的默認(rèn)策略,其基本原則是為Pod選擇一個未滿足需求的最小代價(jià)節(jié)點(diǎn)。如果無法找到這樣的節(jié)點(diǎn),就會考慮使用預(yù)選,即將一些已經(jīng)調(diào)度的Pod驅(qū)逐出去來為新的Pod騰出空間。

帶優(yōu)先級的調(diào)度策略(Priority):帶優(yōu)先級的調(diào)度策略基于Pod的優(yōu)先級對節(jié)點(diǎn)進(jìn)行排序,優(yōu)先選擇優(yōu)先級高的Pod。該策略可以通過設(shè)置Pod的PriorityClass來實(shí)現(xiàn)。

節(jié)點(diǎn)親和性調(diào)度策略(NodeAffinity):節(jié)點(diǎn)親和性調(diào)度策略基于節(jié)點(diǎn)標(biāo)簽或其他條件,選擇與Pod需要的條件相匹配的節(jié)點(diǎn)。這可以通過在Pod定義中使用NodeAffinity配置實(shí)現(xiàn)。

Pod 親和性調(diào)度策略(PodAffinity):Pod 親和性調(diào)度策略根據(jù)Pod的標(biāo)簽和其他條件,選擇與Pod相似的其他Pod所在的節(jié)點(diǎn)。這可以通過在Pod定義中使用PodAffinity配置實(shí)現(xiàn)。

Pod 互斥性調(diào)度策略(PodAntiAffinity):Pod 互斥性調(diào)度策略選擇與Pod不相似的其他Pod所在的節(jié)點(diǎn),以避免同一節(jié)點(diǎn)上運(yùn)行相似的Pod。這可以通過在Pod定義中使用PodAntiAffinity配置實(shí)現(xiàn)。

資源限制調(diào)度策略(ResourceLimits):資源限制調(diào)度策略選擇可用資源最多的節(jié)點(diǎn),以滿足Pod的資源需求。這可以通過在Pod定義中使用ResourceLimits配置實(shí)現(xiàn)。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • REST
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    9666
  • API接口
    +關(guān)注

    關(guān)注

    1

    文章

    85

    瀏覽量

    10878
  • 調(diào)度器
    +關(guān)注

    關(guān)注

    0

    文章

    98

    瀏覽量

    5499

原文標(biāo)題:這些Kubernetes調(diào)度知識點(diǎn)你知道嗎

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    leader選舉在kubernetes controller中是如何實(shí)現(xiàn)的

    在 Kubernetes 的 kube-controller-manager , kube-scheduler, 以及使用 Operator 的底層實(shí)現(xiàn) controller-rumtime 都支持高可用系統(tǒng)中的 leader 選舉。
    的頭像 發(fā)表于 07-21 10:03 ?2023次閱讀

    深入探討Linux的進(jìn)程調(diào)度

    Linux操作系統(tǒng)作為一個開源且廣泛應(yīng)用的操作系統(tǒng),其內(nèi)核設(shè)計(jì)包含了許多核心功能,而進(jìn)程調(diào)度Scheduler)就是其中一個至關(guān)重要的模塊。進(jìn)程調(diào)度
    的頭像 發(fā)表于 08-13 13:36 ?1283次閱讀
    深入探討Linux的進(jìn)程<b class='flag-5'>調(diào)度</b><b class='flag-5'>器</b>

    用于vGPU的GPU調(diào)度程序

    / libnvidia-vgpu進(jìn)程)?十多年來,有更復(fù)雜的調(diào)度程序。如果你查看網(wǎng)絡(luò)硬件,你可以看到更多高級調(diào)度程序(https://en.wikipedia.org/wiki/Network_scheduler
    發(fā)表于 09-11 16:37

    調(diào)度運(yùn)行的過程是怎樣的? 它的應(yīng)用有哪些?

    調(diào)度是由哪幾部分組成的?調(diào)度運(yùn)行的過程是怎樣的?調(diào)度
    發(fā)表于 04-27 07:12

    電機(jī)實(shí)際的運(yùn)轉(zhuǎn)過程是怎樣的?

    什么是步進(jìn)電機(jī)?具有哪些優(yōu)缺點(diǎn)?步進(jìn)電機(jī)的工作原理是什么?有哪些種類?電機(jī)實(shí)際的運(yùn)轉(zhuǎn)過程是怎樣的?
    發(fā)表于 10-19 09:08

    關(guān)于RTT中scheduler線程調(diào)度的學(xué)習(xí)

    RTT中的scheduler并不是以一個類的形式存在,更類似傳統(tǒng)的過程編程。個人認(rèn)為這一點(diǎn)在編程風(fēng)格上和其他的組件是不夠統(tǒng)一的。 下面引用一段RTT官網(wǎng)上,關(guān)于RTT線程調(diào)度的介紹。 RTT中提
    發(fā)表于 04-27 14:19

    從零開始入門 K8s | 調(diào)度調(diào)度流程和算法介紹

    等,并介紹了兩種方式用于實(shí)現(xiàn)自定義調(diào)度能力。 調(diào)度流程 調(diào)度流程概覽 Kubernetes 作為當(dāng)下最主流的容器自動化運(yùn)維平臺,作為 K8s 的容器編排的核心組件 kube-scheduler
    發(fā)表于 03-09 17:04 ?1293次閱讀

    基于Web的Kubernetes scheduler模擬

    ./oschina_soft/kube-scheduler-simulator.zip
    發(fā)表于 05-13 09:54 ?1次下載
    基于Web的Kubernetes <b class='flag-5'>scheduler</b>模擬<b class='flag-5'>器</b>

    Kube-capacity CLI的安裝與用法

    使用 Kube-capacity CLI 查看 Kubernetes 資源請求、限制和利用率
    的頭像 發(fā)表于 07-03 15:30 ?1440次閱讀

    Kube Multisensor NodeMCU模塊板

    電子發(fā)燒友網(wǎng)站提供《Kube Multisensor NodeMCU模塊板.zip》資料免費(fèi)下載
    發(fā)表于 07-18 16:37 ?0次下載
    <b class='flag-5'>Kube</b> Multisensor NodeMCU模塊板

    容器進(jìn)程調(diào)度時(shí)是該優(yōu)先考慮CPU資源還是內(nèi)存資源

    當(dāng)然實(shí)際中 k8s 的調(diào)度策略不是這么簡單的,系統(tǒng)默認(rèn)的 kube-scheduler 調(diào)度外還有直接指定Node主機(jī)名、節(jié)點(diǎn)親和性、Pod親和性、nodeSelector 等等
    的頭像 發(fā)表于 08-16 18:20 ?1629次閱讀

    kube-scheduler v1.21 的調(diào)度流程分析

    Scheduler 在整個系統(tǒng)中承擔(dān)了“承上啟下”的重要功能。“承上”是指它負(fù)責(zé)接受 Controller Manager 創(chuàng)建的新 Pod,為其安排 Node;“啟下”是指安置工作完成后,目標(biāo)
    的頭像 發(fā)表于 08-22 09:15 ?1481次閱讀

    NVIDIA Triton 系列文章(11):模型類別與調(diào)度-1

    在 Triton 推理服務(wù)的使用中,模型(model)類別與調(diào)度scheduler)、批量處理(batcher)類型的搭配,是整個管
    的頭像 發(fā)表于 01-11 06:35 ?1252次閱讀

    Linux調(diào)度的核心scheduler_tick介紹

    scheduler_tick在Linux內(nèi)核中扮演著關(guān)鍵角色。它不僅負(fù)責(zé)處理定時(shí)中斷和更新系統(tǒng)時(shí)間,還記錄進(jìn)程的運(yùn)行時(shí)間,并決定是否需要進(jìn)行任務(wù)切換。通過這些功能,scheduler_tick有效保障了系統(tǒng)的時(shí)間管理和任務(wù)
    的頭像 發(fā)表于 08-22 14:54 ?804次閱讀

    重新分配pod節(jié)點(diǎn)

    升級至v1.15.12; Master節(jié)點(diǎn)的服務(wù)包括:apiserver、controller-manager、kube-scheduler; Node節(jié)點(diǎn)的服務(wù)包括:kubelet
    的頭像 發(fā)表于 01-02 09:17 ?477次閱讀
    重新分配pod節(jié)點(diǎn)