国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

22-k8s中pod的調(diào)度-親和性affinity

這篇具有很好參考價值的文章主要介紹了22-k8s中pod的調(diào)度-親和性affinity。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一·、概述

? ? ? ? 在k8s當(dāng)中,“親和性”分為三種,節(jié)點親和性、pod親和性、pod反親和性;

親和性分類 名稱 解釋說明
nodeAffinity 節(jié)點親和性 通過【節(jié)點】標(biāo)簽匹配,用于控制pod調(diào)度到哪些node節(jié)點上,以及不能調(diào)度到哪些node節(jié)點上;(主角node節(jié)點)
podAffinity pod親和性 通過【節(jié)點+pod】標(biāo)簽匹配,可以和哪些pod部署在同一個節(jié)點上(拓撲域);(主角是pod)
podAntiAffinity pod反親和性 通過【節(jié)點+pod】標(biāo)簽匹配,與pod親和性相反,就是和那些pod不在一個節(jié)點上(拓撲域);

二、nodeAffinity-節(jié)點親和性

1,給k8s節(jié)點創(chuàng)建標(biāo)簽

[root@k8s231 ~]# kubectl label nodes k8s231 k8s=xinjizhiwa-01
node/k8s231 labeled
[root@k8s231 ~]# kubectl label nodes k8s232 k8s=xinjizhiwa-02
node/k8s232 labeled
[root@k8s231 ~]# kubectl label nodes k8s233 k8s=xinjizhiwa-03
node/k8s233 labeled

查看標(biāo)簽

[root@k8s231 dns]# kubectl get nodes --show-labels

22-k8s中pod的調(diào)度-親和性affinity,k8s系列,kubernetes,容器,云原生

2,編輯資源清單設(shè)置節(jié)點親和性

[root@k8s231 nodeaffinity]# cat nodeaffinity.yaml?
apiVersion: apps/v1
kind: Deployment
metadata:
? name: dm-affinity
spec:?
? replicas: 20
? selector:?
? ? matchLabels:
? ? ? k8s: xinjizhiwa
? template:
? ? metadata:
? ? ? name: pod-affinity?
? ? ? labels:
? ? ? ? k8s: xinjizhiwa
? ? spec:
? ? ? #聲明親和性
? ? ? affinity:
? ? ? ? #聲明親和性類型
? ? ? ? nodeAffinity:
? ? ? ? ? #硬限制,必須滿足的條件有哪些?(不滿足下面的條件,親和性就設(shè)置失敗)
? ? ? ? ? requiredDuringSchedulingIgnoredDuringExecution:
? ? ? ? ? ? #設(shè)置節(jié)點選擇器列表:
? ? ? ? ? ? nodeSelectorTerms:
? ? ? ? ? ? #聲明基于節(jié)點的標(biāo)簽進行關(guān)聯(lián)
? ? ? ? ? ? - matchExpressions:
? ? ? ? ? ? ? - key: k8s
? ? ? ? ? ? ? ? values:?
? ? ? ? ? ? ? ? - xinjizhiwa-03
? ? ? ? ? ? ? ? - xinjizhiwa-02
? ? ? ? ? ? ? ? #設(shè)置key和value的關(guān)系;
? ? ? ? ? ? ? ? #--In:key==value(必須寫value)
? ? ? ? ? ? ? ? #--NotIn:key !=value(必須寫value)
? ? ? ? ? ? ? ? operator: In
? ? ? ? ? #軟限制,不一定滿足,但會優(yōu)先滿足,相當(dāng)于一高了調(diào)度的優(yōu)先級;
? ? ? ? ? preferredDuringSchedulingIgnoredDuringExecution:
? ? ? ? ? #配置權(quán)重
? ? ? ? ? - weight: 10
? ? ? ? ? ? #偏向性
? ? ? ? ? ? preference:
? ? ? ? ? ? ? #基于節(jié)點的標(biāo)簽進行關(guān)聯(lián)
? ? ? ? ? ? ? matchExpressions:
? ? ? ? ? ? ? #節(jié)點的標(biāo)簽名稱
? ? ? ? ? ? ? - key: k8s
? ? ? ? ? ? ? ? values:
? ? ? ? ? ? ? ? - xinjizhiwa-03
? ? ? ? ? ? ? ? #關(guān)聯(lián)關(guān)系,表示key和values的關(guān)系
? ? ? ? ? ? ? ? #In:表示包含關(guān)系(value必須寫)
? ? ? ? ? ? ? ? #NotIn:表示不包含(value必須寫)
? ? ? ? ? ? ? ? #Exists: 表示存在關(guān)系(不能寫value)
? ? ? ? ? ? ? ? #DoesNotExist:不存在(不能寫value)
? ? ? ? ? ? ? ? #Gt:大于(value必須是一個單一的元素,且值將被解釋稱一個整數(shù))
? ? ? ? ? ? ? ? #Lt:小于(value必須是一個單一的元素,且值將被解釋稱一個整數(shù))
? ? ? ? ? ? ? ? operator: In
? ? ? containers:
? ? ? - name: c1
? ? ? ? image: nginx:1.20.1-alpine
? ? ? ? ports:
? ? ? ? - containerPort: 80

3,創(chuàng)建資源

[root@k8s231 nodeaffinity]# kubectl apply -f nodeaffinity.yaml

4,查看pod所在節(jié)點,驗證親和性

22-k8s中pod的調(diào)度-親和性affinity,k8s系列,kubernetes,容器,云原生

22-k8s中pod的調(diào)度-親和性affinity,k8s系列,kubernetes,容器,云原生

三、podAffinity-pod的親和性

22-k8s中pod的調(diào)度-親和性affinity,k8s系列,kubernetes,容器,云原生

? ? ? ? 基于“節(jié)點標(biāo)簽”進行設(shè)置,第一個pod副本創(chuàng)建在了哪個節(jié)點上,那么其余副本也會創(chuàng)建在這個節(jié)點上;

? ? ? ? 拓撲域:節(jié)點機器的標(biāo)簽的key和value都相等的機器,就是同一個拓撲域;

1,編輯資源清單設(shè)置pod親和性

[root@k8s231 nodeaffinity]# cat podaffinity.yaml?
apiVersion: apps/v1
kind: Deployment
metadata:
? name: dm-affinity
spec:?
? replicas: 20
? selector:?
? ? matchLabels:
? ? ? k8s: xinjizhiwa
? template:
? ? metadata:
? ? ? name: pod-affinity?
? ? ? labels:
? ? ? ? k8s: xinjizhiwa
? ? spec:
? ? ? #聲明親和性
? ? ? affinity:
? ? ? ? #聲明親和性類型
? ? ? ? podAffinity:
? ? ? ? ? #硬限制,必須滿足的條件有哪些?(不滿足下面的條件,親和性就設(shè)置失?。?br> ? ? ? ? ? requiredDuringSchedulingIgnoredDuringExecution:
? ? ? ? ? #設(shè)置拓撲域,指定【節(jié)點的標(biāo)簽名】
? ? ? ? ? #【節(jié)點key】就是說,設(shè)置了拓撲域,pod就會往這個標(biāo)簽的節(jié)點進行創(chuàng)建

? ? ? ? ? #只要滿足key是k8s的節(jié)點的標(biāo)簽,那么就是同一個拓撲域
? ? ? ? ? - topologyKey: k8s
? ? ? ? ? ? #【pod標(biāo)簽】確定pod的標(biāo)簽,用于二次確認,選中了拓撲域(節(jié)點標(biāo)簽的key),再次選中pod標(biāo)簽才能確認調(diào)度到哪個節(jié)點;
? ? ? ? ? ? labelSelector:
? ? ? ? ? ? ? matchExpressions:?

? ? ? ? ? ? ? #意思是說,只要key的值是k8s的pod創(chuàng)建在了哪個節(jié)點,“我”就跟隨他。也創(chuàng)建在這個節(jié)點上;
? ? ? ? ? ? ? - key: k8s
? ? ? ? ? ? ? ? #如果pod標(biāo)簽,出現(xiàn)了key值相同,value值不同的情況下,就不見設(shè)置Exists存在的關(guān)系了
? ? ? ? ? ? ? ? #建議設(shè)置:In的方式進行匹配,當(dāng)然此時Value就不能設(shè)置了;
? ? ? ? ? ? ? ? operator: Exists
? ? ? containers:
? ? ? - name: c1
? ? ? ? image: nginx:1.20.1-alpine
? ? ? ? ports:
? ? ? ? - containerPort: 80

2,創(chuàng)建資源

[root@k8s231 nodeaffinity]# kubectl apply -f podaffinity.yaml

3,查看pod所在節(jié)點

[root@k8s231 nodeaffinity]# kubectl get pods -o wide

22-k8s中pod的調(diào)度-親和性affinity,k8s系列,kubernetes,容器,云原生

四、podAntAffinity-pod的反親和性

? ? ? ? pod的親和性:符合拓撲域的范圍,指定標(biāo)簽的pod創(chuàng)建在哪里,其他pod就創(chuàng)建在哪里;

? ? ? ? pod的反親和性:與之相反,符合拓撲域的范圍,指定標(biāo)簽的pod創(chuàng)建在哪里,其他pod就不能創(chuàng)建在哪里;

1,編輯資源清單設(shè)置pod的反親和性

[root@k8s231 nodeaffinity]# cat podantaffinity.yaml?
apiVersion: apps/v1
kind: Deployment
metadata:
? name: dm-affinity
spec:?
? replicas: 4
? selector:?
? ? matchLabels:
? ? ? k8s: xinjizhiwa
? template:
? ? metadata:
? ? ? name: pod-affinity?
? ? ? labels:
? ? ? ? k8s: xinjizhiwa
? ? spec:
? ? ? #聲明親和性
? ? ? affinity:
? ? ? ? #聲明親和性類型
? ? ? ? podAntiAffinity:
? ? ? ? ? #硬限制,必須滿足的條件有哪些?(不滿足下面的條件,親和性就設(shè)置失敗)
? ? ? ? ? requiredDuringSchedulingIgnoredDuringExecution:
? ? ? ? ? #設(shè)置拓撲域,指定【節(jié)點的標(biāo)簽名】
? ? ? ? ? #【節(jié)點key】就是說,設(shè)置了拓撲域,pod就會往這個標(biāo)簽的節(jié)點進行創(chuàng)建
? ? ? ? ? - topologyKey: k8s
? ? ? ? ? ? #【pod標(biāo)簽】確定pod的標(biāo)簽,用于二次確認,選中了拓撲域(節(jié)點標(biāo)簽的key),再次選中pod標(biāo)簽才能確認調(diào)度到哪個節(jié)點;
? ? ? ? ? ? labelSelector:
? ? ? ? ? ? ? matchExpressions:?
? ? ? ? ? ? ? - key: k8s
? ? ? ? ? ? ? ? #如果pod標(biāo)簽,出現(xiàn)了key值相同,value值不同的情況下,就不見設(shè)置Exists存在的關(guān)系了
? ? ? ? ? ? ? ? #建議設(shè)置:In的方式進行匹配,當(dāng)然此時Value就不能設(shè)置了;
? ? ? ? ? ? ? ? operator: Exists
? ? ? containers:
? ? ? - name: c1
? ? ? ? image: nginx:1.20.1-alpine
? ? ? ? ports:
? ? ? ? - containerPort: 80
?

2,創(chuàng)建資源

[root@k8s231 nodeaffinity]# kubectl apply -f podantaffinity.yaml

3,查看pod

22-k8s中pod的調(diào)度-親和性affinity,k8s系列,kubernetes,容器,云原生

結(jié)論:

1,由于第一pod創(chuàng)建在了k8s232中,所以第二個pod就無法再k8s232中創(chuàng)建;

2,第二個pod就再k8s233中創(chuàng)建了;

3,由于我們是4個副本,k8s231還設(shè)置了污點,無法創(chuàng)建pod;

4,所以,我們4個副本,最后只能創(chuàng)建成功2個,剩下兩個pending;

至此,親和性,學(xué)習(xí)完畢文章來源地址http://www.zghlxwxcb.cn/news/detail-829101.html

到了這里,關(guān)于22-k8s中pod的調(diào)度-親和性affinity的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • K8S親和性,反親和性,及污點

    nodeName:硬匹配,不走調(diào)度策略 nodeSelector:根據(jù)節(jié)點的標(biāo)簽選擇,會走調(diào)度的算法 只要是走調(diào)度算法,在不滿足預(yù)算策略的情況下,所有pod都是pending node節(jié)點的親和性: 硬策略:必須滿足的條件。匹配原則也是根據(jù)節(jié)點的標(biāo)簽 軟策略:盡量滿足你的要求,而不是一定滿足

    2024年01月16日
    瀏覽(25)
  • k8s之親和性、污點

    k8s之親和性、污點

    目錄 親和性 鍵值運算關(guān)系 硬策略 軟策略 Pod親和性與反親和性 污點(Taint) 和 容忍(Tolerations) 污點(Taint)? 容忍(Tolerations) 維護操作 故障排除步驟 官方介紹:https://kubernetes.io/zh/docs/concepts/scheduling-eviction/assign-pod-node/ (1)節(jié)點親和性 pod.spec.nodeAffinity ●preferredDuringSchedulingIgnore

    2024年02月06日
    瀏覽(20)
  • k8s~節(jié)點的親和性

    在Kubernetes中,你可以使用節(jié)點親和性(Node Affinity)來控制Pod部署在哪些節(jié)點上。通過配置節(jié)點親和性,你可以指定一些規(guī)則,以確保多個服務(wù)不會被調(diào)度到同一個節(jié)點上。 requiredDuringSchedulingIgnoredDuringExecution:通過 requiredDuringSchedulingIgnoredDuringExecution ,可以定義在調(diào)度期間必

    2024年02月13日
    瀏覽(23)
  • K8s之標(biāo)簽、Node選擇器與親和性詳解

    K8s之標(biāo)簽、Node選擇器與親和性詳解

    1、標(biāo)簽是什么? 標(biāo)簽其實就是一對key/value,key的值必須唯一 標(biāo)簽可以在創(chuàng)建一個對象的時候直接定義,也可以在后期隨時修改,每一個對象可以擁有多個標(biāo)簽 標(biāo)簽可以用來劃分特定的對象(比如版本,服務(wù)類型等) 創(chuàng)建標(biāo)簽后,方便我們對資源進行分組管理(通過標(biāo)簽查

    2024年02月07日
    瀏覽(27)
  • pod的親和性和反親和性

    pod的親和性和反親和性

    調(diào)度策略: ??????匹配標(biāo)簽 ???????操作符 ?????????????拓撲域 ??調(diào)度目標(biāo) node的親和性 ???主機標(biāo)簽 ?In Notin exists doesexists Gt Lt ?不支持 ??指定主機 pod的親和性 ????pod的標(biāo)簽 In Notin exists doesexists ?????支持 ??pod和指定標(biāo)簽的pod部署在同一拓撲域 pod的反親

    2024年01月23日
    瀏覽(21)
  • 【k8s】pod調(diào)度——親和,反親和,污點,容忍

    【k8s】pod調(diào)度——親和,反親和,污點,容忍

    官方網(wǎng)址:https://kubernetes.io/zh/docs/concepts/scheduling-eviction/assign-pod-node/ pod.spec.nodeAffinity ●preferredDuringSchedulingIgnoredDuringExecution:軟策略? p開頭 ●requiredDuringSchedulingIgnoredDuringExecution:硬策略? r開頭 pod.spec.affinity.podAffinity/podAntiAffinity ●preferredDuringSchedulingIgnoredDuringExecution:軟策

    2024年02月05日
    瀏覽(27)
  • Kubernetes親和性學(xué)習(xí)筆記

    Kubernetes親和性學(xué)習(xí)筆記

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 本文是欣宸在學(xué)習(xí)Kubernetes調(diào)度器的過程中,對親和性相關(guān)知識點的整理和總結(jié),這是一篇筆記性質(zhì)的博客 調(diào)度過程如下: 預(yù)選(Predicates) 優(yōu)選(Priorities) 選定(Select) 這里將親和性先分類,便

    2024年02月17日
    瀏覽(47)
  • K8S pod 均勻調(diào)度分配 —— 筑夢之路

    ? 在 k8s 中 通過? kube-scheduler ?組件來實現(xiàn) pod 的調(diào)度,所謂調(diào)度,即把需要創(chuàng)建的 pod 放到 合適的 node 上,大概流程為,通過對應(yīng)的? 調(diào)度算法 ?和? 調(diào)度策略 ,為待調(diào)度的 pod 列表中的 pod 選擇一個最合適的 Node,然后目標(biāo)節(jié)點上的? kubelet ?通過 watch 接口監(jiān)聽到? kube-sch

    2024年02月16日
    瀏覽(26)
  • 【K8s】什么是Pod?Pod的調(diào)度與控制器

    【K8s】什么是Pod?Pod的調(diào)度與控制器

    每個Pod中都可以包含一個或者多個容器 ,這些容器可以分為兩類: 1) 用戶容器 :用戶程序所在的容器,數(shù)量可多可少 2) 根容器 :Pause容器,由Kubernetes創(chuàng)建,這是每個Pod都會有的一個根容器,它的作用有兩個: 可以以它為依據(jù),評估整個Pod的健康狀態(tài) 可以在根容器上設(shè)

    2024年02月06日
    瀏覽(30)
  • 學(xué)習(xí)筆記十四:K8S最小調(diào)度單元POD概述

    學(xué)習(xí)筆記十四:K8S最小調(diào)度單元POD概述

    K8s官方文檔:https://kubernetes.io/ K8s中文官方文檔: https://kubernetes.io/zh/ K8s Github地址:https://github.com/kubernetes/kubernetes Pod資源對應(yīng)的官方文檔:https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/ Pod是Kubernetes中的最小調(diào)度單元,k8s是通過定義一個Pod的資源,然后在Pod里面運行容器,容器

    2024年02月12日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包