欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

影響K8SPod分配和調(diào)度策略的兩大關(guān)鍵特性-創(chuàng)新互聯(lián)

在Kubernetes中有一個(gè)最復(fù)雜的調(diào)度器可以處理pod的分配策略。基于在pod規(guī)范中所提及的資源需求,Kubernetes調(diào)度器會(huì)自動(dòng)選擇最合適的節(jié)點(diǎn)來(lái)運(yùn)行pod。

公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出登封免費(fèi)做網(wǎng)站回饋大家。

 
但在許多實(shí)際場(chǎng)景下,我們必須干預(yù)調(diào)度過(guò)程才能在pod和一個(gè)節(jié)點(diǎn)或兩個(gè)特定pod之間進(jìn)行匹配。因此,Kubernetes中有一種十分強(qiáng)大的機(jī)制來(lái)管理及控制pod的分配邏輯。

那么,本文將探索影響Kubernetes中默認(rèn)調(diào)度決定的關(guān)鍵特性。

節(jié)點(diǎn)親和性/反親和性

Kubernetes一向以來(lái)都是依賴label和selector來(lái)對(duì)資源進(jìn)行分組。例如,某服務(wù)使用selector來(lái)過(guò)濾具有特定label的pod,這些label可以選擇性地接收流量。Label和selector可以使用簡(jiǎn)單的基于等式的條件(=and!=)來(lái)評(píng)估規(guī)則。通過(guò)nodeSelector的特性(即強(qiáng)制將pod調(diào)度到特定節(jié)點(diǎn)上),可以將這一技術(shù)擴(kuò)展到節(jié)點(diǎn)中。
 
影響K8S Pod分配和調(diào)度策略的兩大關(guān)鍵特性
 
此外,label和selector開(kāi)始支持基于集合的query,它帶來(lái)了基于in、notin和exist運(yùn)算符的高級(jí)過(guò)濾技術(shù)。與基于等式的需求相結(jié)合,基于集合的需求提供了復(fù)雜的技術(shù)來(lái)過(guò)濾Kubernetes中的資源。

節(jié)點(diǎn)親和性/反親和性使用label和annotation的基于表達(dá)集的過(guò)濾技術(shù)來(lái)定義特定節(jié)點(diǎn)上的pod的分配邏輯。Annotation可以提供不會(huì)暴露到selector的其他元數(shù)據(jù),這意味著用于annotation的鍵不會(huì)包含在query和過(guò)濾資源中。但是節(jié)點(diǎn)親和性可以在表達(dá)式中使用annotation。反親和性可以確保pod不會(huì)被強(qiáng)制調(diào)度到與規(guī)則匹配的節(jié)點(diǎn)上。

除了能夠在query中使用復(fù)雜的邏輯之外,節(jié)點(diǎn)親和性/反親和性能夠?yàn)榉峙溥壿嫃?qiáng)制施加硬性和軟性規(guī)則。硬性規(guī)則將會(huì)執(zhí)行嚴(yán)格的策略,可能會(huì)阻止將pod分配到不符合條件的節(jié)點(diǎn)上。而軟性規(guī)則則會(huì)首先確認(rèn)節(jié)點(diǎn)是否與特定的條件相匹配,如果它們不匹配,它將使用默認(rèn)的調(diào)度模式來(lái)分配Pod。表達(dá)式requiredDuringSchedulingIgnoredDuringExecutionpreferredDuringSchedulingIgnoredDuringExecution將會(huì)分別執(zhí)行硬性規(guī)則和軟性規(guī)則。

以下是在硬性和軟性規(guī)則下使用節(jié)點(diǎn)親和性/反親和性的示例:

affinity:
  nodeAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
          - key: "failure-domain.beta.kubernetes.io/zone"
            operator: In
            values: ["asia-south2-a"]

 
以上規(guī)則將指示Kubernetes調(diào)度器嘗試將Pod分配到在GKE集群的asia-south2-a區(qū)域中運(yùn)行的節(jié)點(diǎn)上。如果沒(méi)有可用的節(jié)點(diǎn),則調(diào)度器將會(huì)直接應(yīng)用標(biāo)準(zhǔn)的分配邏輯。

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
          - key: "failure-domain.beta.kubernetes.io/zone"
            operator: NotIn
            values: ["asia-south2-a"]

 
以上規(guī)則通過(guò)使用NotIn運(yùn)算符來(lái)強(qiáng)制執(zhí)行反親和性。這是一個(gè)硬性規(guī)則,它能夠確保沒(méi)有pod被分配到運(yùn)行在asia-south2-a空間中的GKE節(jié)點(diǎn)。

Pod親和性/反親和性

盡管節(jié)點(diǎn)親和性/反親和性能夠處理pod和節(jié)點(diǎn)之間的匹配,但是有些場(chǎng)景下我們需要確保pod在一起運(yùn)行或在相同的節(jié)點(diǎn)上不運(yùn)行2個(gè)pod。Pod親和性/反親和性將幫助我們應(yīng)用強(qiáng)制實(shí)施粒度分配邏輯。

與節(jié)點(diǎn)親和性/反親和性中的表達(dá)式類似,pod親和性/反親和性也能夠通過(guò)requiredDuringSchedulingIgnoredDuringExecutionpreferredDuringSchedulingIgnoredDuringExecution強(qiáng)制實(shí)施硬性以及軟性規(guī)則。還可以將節(jié)點(diǎn)親和性與pod親和性進(jìn)行混合和匹配,以定義復(fù)雜的分配邏輯。

 
為了能夠更好地理解概念,想象一下我們有一個(gè)web和緩存deployment,其中三個(gè)副本在一個(gè)3節(jié)點(diǎn)的集群中運(yùn)行。為了確保在web和緩存pod之間低延遲,我們想要在用一個(gè)節(jié)點(diǎn)上運(yùn)行它們。與此同時(shí),我們不想在相同的節(jié)點(diǎn)上運(yùn)行超過(guò)1個(gè)緩存pod。基于此情況,我們需要實(shí)施以下策略:每個(gè)節(jié)點(diǎn)僅運(yùn)行1個(gè)且只有1個(gè)緩存Pod的web pod。

首先,我們將使用反親和性規(guī)則來(lái)部署緩存,它將阻止超過(guò)1個(gè)pod運(yùn)行在1個(gè)節(jié)點(diǎn)上:

      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - redis
            topologyKey: "kubernetes.io/hostname"

 
topoloyKey使用附加到節(jié)點(diǎn)的默認(rèn)label動(dòng)態(tài)過(guò)濾節(jié)點(diǎn)的名稱。請(qǐng)注意,我們使用podAntiAffinity表達(dá)式和in運(yùn)算符來(lái)應(yīng)用規(guī)則的方式。

假設(shè)在集群的某個(gè)節(jié)點(diǎn)上安排了3個(gè)pod緩存,那么現(xiàn)在我們想要在與緩存Pod相同的節(jié)點(diǎn)上部署web pod。我們將使用podAffinity來(lái)實(shí)施這一邏輯:

        podAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - redis
            topologyKey: "kubernetes.io/hostname"

 
以上代碼表明Kubernetes調(diào)度器要尋找有緩存Pod的節(jié)點(diǎn)并部署web pod。

 
除了節(jié)點(diǎn)和pod的親和性/反親和性之外,我們還能使用taints和tolerations來(lái)定義自定義分配邏輯。此外,我們還能寫(xiě)自定義調(diào)度程序,它可以從默認(rèn)的調(diào)度程序中接管調(diào)度邏輯。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章名稱:影響K8SPod分配和調(diào)度策略的兩大關(guān)鍵特性-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article6/diijig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化企業(yè)建站定制開(kāi)發(fā)外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站制作網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司