色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(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é)點上運行。kube-scheduler的調(diào)度算法非常靈活,可以根據(jù)不同的需求進行自定義配置,比如資源限制、親和性和反親和性等。 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é)點:kube-scheduler會根據(jù)Pod的資源需求和約束條件(例如Pod需要的特定節(jié)點標(biāo)簽)篩選出可用的Node節(jié)點。它會從所有注冊到集群中的Node節(jié)點中選擇符合條件的節(jié)點。

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

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

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

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 變更事件,從而實現(xiàn)將 pod 的信息更新 scheduler 的 activeQ,podbackoffQ,unschedulableQ 三個隊列中。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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






審核編輯:劉清

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

    關(guān)注

    0

    文章

    33

    瀏覽量

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

    關(guān)注

    1

    文章

    85

    瀏覽量

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

    關(guān)注

    0

    文章

    98

    瀏覽量

    5468

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

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

收藏 0人收藏

    評論

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

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

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

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

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

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

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

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

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

    電機實際的運轉(zhuǎn)過程是怎樣的?

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

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

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

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

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

    基于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 ?1387次閱讀

    Kube Multisensor NodeMCU模塊板

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

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

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

    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 ?1443次閱讀

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

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

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

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

    重新分配pod節(jié)點

    升級至v1.15.12; Master節(jié)點的服務(wù)包括:apiserver、controller-manager、kube-scheduler; Node節(jié)點的服務(wù)包括:kubelet
    的頭像 發(fā)表于 01-02 09:17 ?400次閱讀
    重新分配pod節(jié)點
    主站蜘蛛池模板: 久久婷婷色香五月综合激情 | 99精品视频在线观看 | 一个人在线观看免费视频 | 国产精品爽爽久久久久久无码 | 电影内射视频免费观看 | 伦理片飘花手机在线 | 午夜无码片在线观看影院 | 2012中文字幕手机在线 | 色四房播播 | 青青草视频在线ac | 欧美巨大xxxx做受孕妇视频 | 国产人妻人伦精品98 | 幼儿交1300部一区二区 | 国产亚洲视频中文字幕 | 999精品国产人妻无码系列 | xxxjapanese丰满奶水 | 色播播影院 | 国产亚洲精品久久久久5区 国产亚洲精品久久久久 | 亚洲国产系列一区二区三区 | 色综合精品无码一区二区三区 | 久久一本岛在免费线观看2020 | 久青草国产在视频在线观看 | 高清大胆欧美videossexo | 久热这里在线精品 | 动漫美女3d被爆漫画 | 快播看av| 在线观看免费国产成人软件 | 男插女高潮一区二区 | 24小时日本免费看 | 亚洲永久在线观看 | 思思久久99热只有频精品66 | 欧美一道本一区二区三区 | 三级视频黄色 | 美国一级大黄一片免费的网站 | 97人妻在线公开视频在线观看 | 免费亚洲视频在线观看 | 国产三级精品三级在线观看 | 久久精品国产首叶 | 甜性涩爱在线看 | 日本久久和电影 | 伊人精品在线 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品