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

【云原生|Kubernetes】15-Kubernetes的污點(diǎn)和容忍詳解

這篇具有很好參考價(jià)值的文章主要介紹了【云原生|Kubernetes】15-Kubernetes的污點(diǎn)和容忍詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【云原生Kubernetes】15-Kubernetes的污點(diǎn)(Taint)和容忍(Toleration)詳解

簡(jiǎn)介

? 污點(diǎn)(Taint)是指標(biāo)記節(jié)點(diǎn)的一種機(jī)制,用于告訴 Kubernetes 集群這個(gè)節(jié)點(diǎn)上的 Pod 是有問(wèn)題的,例如某些節(jié)點(diǎn)資源已經(jīng)不足等。當(dāng)節(jié)點(diǎn)被標(biāo)記為污點(diǎn)時(shí),Kubernetes 調(diào)度器將不會(huì)將新的 Pod 分配到這個(gè)節(jié)點(diǎn)上,除非這個(gè) Pod 明確地聲明了它可以容忍這個(gè)節(jié)點(diǎn)上的污點(diǎn)。污點(diǎn)通常用于保證某些節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序不會(huì)被新的 Pod 占用。

? 容忍度(Toleration)是指告訴 Kubernetes 集群一個(gè) Pod 可以容忍哪些節(jié)點(diǎn)上存在的污點(diǎn)。當(dāng)一個(gè) Pod 被標(biāo)記為可以容忍某些污點(diǎn)時(shí),Kubernetes 調(diào)度器將在為該 Pod 分配節(jié)點(diǎn)時(shí)考慮這些容忍度信息。只有節(jié)點(diǎn)上存在被 Pod 容忍的污點(diǎn)時(shí),該節(jié)點(diǎn)才會(huì)被考慮作為該 Pod 的運(yùn)行節(jié)點(diǎn)。

? 污點(diǎn)和容忍度(Toleration)相互配合,可以用來(lái)避免 Pod 被分配到不合適的節(jié)點(diǎn)上。 每個(gè)節(jié)點(diǎn)上都可以應(yīng)用一個(gè)或多個(gè)污點(diǎn),這表示對(duì)于那些不能容忍這些污點(diǎn)的 Pod, 是不會(huì)被該節(jié)點(diǎn)接受的。

默認(rèn)情況下Pod是不會(huì)調(diào)度到含有污點(diǎn)的Node上的

基本用法

設(shè)置污點(diǎn)

 kubectl taint node [node] key=value[effect]   
          其中[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ]
           NoSchedule :一定不能被調(diào)度。
           PreferNoSchedule:盡量不要調(diào)度。
           NoExecute:不僅不會(huì)調(diào)度,還會(huì)驅(qū)逐Node上已有的Pod。    
  • 給192.168.194.130Node上添加污點(diǎn)
  #示例:
      kubectl taint node 192.168.194.130 test=xhz:NoSchedule  

去除污點(diǎn)

#比如設(shè)置污點(diǎn):
     kubectl taint node 192.168.194.130 test=16:NoSchedule
     kubectl taint node 192.168.194.130test=16:NoExecute
     
    #去除指定key及其effect:
     kubectl taint nodes node_name key:[effect]-    #(這里的key不用指定value)
                
    #去除指定key所有的effect: 
     kubectl taint nodes node_name key-
    
    #示例:
     kubectl taint node 192.168.194.130 test:NoSchedule-
     kubectl taint node 192.168.194.130 test:NoExecute-
     kubectl taint node 192.168.194.130 test-

示例

  1. 在node1上加一個(gè)Taint,該Taint的鍵為key,值為value,Taint的效果是NoSchedule。這意味著除非pod明確聲明可以容忍這個(gè)Taint,否則就不會(huì)被調(diào)度到node1上。
  • 設(shè)置污點(diǎn)
[root@master ~]# kubectl taint node 192.168.194.130 key1=value1:NoSchedule
node/192.168.194.130 tainted
[root@master ~]#
  • 創(chuàng)建pod,設(shè)置pod可以容忍污點(diǎn)key1()

pod可以容忍節(jié)點(diǎn)上的污點(diǎn)key1,并不代表著pod一定會(huì)調(diào)度到該節(jié)點(diǎn)

apiVersion: v1
kind: Pod
metadata:
  name: pod-taints
spec:
  tolerations:
  - key: "key1"
    operator: "Equal"
    value: "value1"
    effect: "NoSchedule"
  containers:
    - name: pod-taints
      image: busybox:latest

也可以這樣寫(xiě):

tolerations:
- key: "key1"
  operator: "Exists"
  effect: "NoSchedule"

operator 的默認(rèn)值是 Equal。

一個(gè)容忍度和一個(gè)污點(diǎn)相“匹配”是指它們有一樣的鍵名和效果,并且:

  • 如果 operatorExists(此時(shí)容忍度不能指定 value),或者
  • 如果 operatorEqual,則它們的 value 應(yīng)該相等。

存在兩種特殊情況:

如果一個(gè)容忍度的 key 為空且 operatorExists, 表示這個(gè)容忍度與任意的 key、value 和 effect 都匹配,即這個(gè)容忍度能容忍任何污點(diǎn)。

如果 effect 為空,則可以與所有鍵名 key1 的效果相匹配。

effect說(shuō)明

上面的例子中effect的取值為NoSchedule,下面對(duì)effect的值作下簡(jiǎn)單說(shuō)明:

  • NoSchedule: 如果一個(gè)pod沒(méi)有聲明容忍這個(gè)Taint,則系統(tǒng)不會(huì)把該P(yáng)od調(diào)度到有這個(gè)Taint的node上。
  • PreferNoSchedule:NoSchedule的軟限制版本,如果一個(gè)Pod沒(méi)有聲明容忍這個(gè)Taint,則系統(tǒng)會(huì)盡量避免把這個(gè)pod調(diào)度到這一節(jié)點(diǎn)上去,但不是強(qiáng)制的。例如當(dāng)Pod沒(méi)有容忍該污點(diǎn),但是其他節(jié)點(diǎn)的資源已經(jīng)無(wú)法在調(diào)度Pod,此時(shí)Pod還是會(huì)被調(diào)度到該節(jié)點(diǎn)上。
  • NoExecute:定義pod的驅(qū)逐行為,以應(yīng)對(duì)節(jié)點(diǎn)故障。NoExecute這個(gè)Taint效果對(duì)節(jié)點(diǎn)上正在運(yùn)行的pod有以下影響:
    • 沒(méi)有設(shè)置Toleration的Pod會(huì)被立刻驅(qū)逐
    • 配置了對(duì)應(yīng)Toleration的pod,如果沒(méi)有為tolerationSeconds賦值,則會(huì)一直留在這一節(jié)點(diǎn)中
    • 配置了對(duì)應(yīng)Toleration的pod且指定了tolerationSeconds值,則會(huì)在指定時(shí)間后驅(qū)逐
    • 從kubernetes 1.6版本開(kāi)始引入了一個(gè)alpha版本的功能,即把節(jié)點(diǎn)故障標(biāo)記為T(mén)aint(目前只針對(duì)node unreachable及node not ready,相應(yīng)的NodeCondition "Ready"的值為Unknown和False)。激活TaintBasedEvictions功能后(在–feature-gates參數(shù)中加入TaintBasedEvictions=true),NodeController會(huì)自動(dòng)為Node設(shè)置Taint,而狀態(tài)為"Ready"的Node上之前設(shè)置過(guò)的普通驅(qū)逐邏輯將會(huì)被禁用。注意,在節(jié)點(diǎn)故障情況下,為了保持現(xiàn)存的pod驅(qū)逐的限速設(shè)置,系統(tǒng)將會(huì)以限速的模式逐步給node設(shè)置Taint,這就能防止在一些特定情況下(比如master暫時(shí)失聯(lián))造成的大量pod被驅(qū)逐的后果。這一功能兼容于tolerationSeconds,允許pod定義節(jié)點(diǎn)故障時(shí)持續(xù)多久才被逐出。

多污點(diǎn)與多容忍配置

系統(tǒng)允許在同一個(gè)node上設(shè)置多個(gè)taint,也可以在pod上設(shè)置多個(gè)Toleration。Kubernetes調(diào)度器處理多個(gè)Taint和Toleration能夠匹配的部分,剩下的沒(méi)有忽略掉的Taint就是對(duì)Pod的效果了。下面是幾種特殊情況:

  • 如果剩余的Taint中存在effect=NoSchedule,則調(diào)度器不會(huì)把該pod調(diào)度到這一節(jié)點(diǎn)上。
  • 如果剩余的Taint中沒(méi)有NoSchedule的效果,但是有PreferNoSchedule效果,則調(diào)度器會(huì)嘗試不會(huì)pod指派給這個(gè)節(jié)點(diǎn)
  • 如果剩余Taint的效果有NoExecute的,并且這個(gè)pod已經(jīng)在該節(jié)點(diǎn)運(yùn)行,則會(huì)被驅(qū)逐;如果沒(méi)有在該節(jié)點(diǎn)運(yùn)行,也不會(huì)再被調(diào)度到該節(jié)點(diǎn)上。

例如,假設(shè)你給一個(gè)節(jié)點(diǎn)添加了如下污點(diǎn):

kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1=value1:NoExecute
kubectl taint nodes node1 key2=value2:NoSchedule

假定某個(gè) Pod 有兩個(gè)容忍度:

tolerations:
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoSchedule"
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoExecute"

? 在這種情況下,上述 Pod 不會(huì)被調(diào)度到上述節(jié)點(diǎn),因?yàn)槠錄](méi)有容忍度和第三個(gè)污點(diǎn)相匹配。 但是如果在給節(jié)點(diǎn)添加上述污點(diǎn)之前,該 Pod 已經(jīng)在上述節(jié)點(diǎn)運(yùn)行, 那么它還可以繼續(xù)運(yùn)行在該節(jié)點(diǎn)上,因?yàn)榈谌齻€(gè)污點(diǎn)是三個(gè)污點(diǎn)中唯一不能被這個(gè) Pod 容忍的,且該污點(diǎn)effect: “NoSchedule”,是允許已經(jīng)調(diào)度到該節(jié)點(diǎn)的Pod繼續(xù)運(yùn)行的。

? 常情況下,如果給一個(gè)節(jié)點(diǎn)添加了一個(gè) effect 值為 NoExecute 的污點(diǎn), 則任何不能忍受這個(gè)污點(diǎn)的 Pod 都會(huì)馬上被驅(qū)逐,任何可以忍受這個(gè)污點(diǎn)的 Pod 都不會(huì)被驅(qū)逐。 但是,如果 Pod 存在一個(gè) effect 值為 NoExecute 的容忍度指定了可選屬性 tolerationSeconds 的值,則表示在給節(jié)點(diǎn)添加了上述污點(diǎn)之后, Pod 還能繼續(xù)在節(jié)點(diǎn)上運(yùn)行的時(shí)間。例如,

tolerations:
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoExecute"
  tolerationSeconds: 3600

這表示如果這個(gè) Pod 正在運(yùn)行,同時(shí)一個(gè)匹配的污點(diǎn)被添加到其所在的節(jié)點(diǎn), 那么 Pod 還將繼續(xù)在節(jié)點(diǎn)上運(yùn)行 3600 秒,然后被驅(qū)逐。 如果在此之前上述污點(diǎn)被刪除了,則 Pod 不會(huì)被驅(qū)逐。

常用場(chǎng)景

節(jié)點(diǎn)獨(dú)占

如果想要拿出一部分節(jié)點(diǎn),專門(mén)給特定的應(yīng)用使用,則可以為節(jié)點(diǎn)添加這樣的Taint

kubectl taint nodes nodename dedicated=groupName:NoSchedule

然后給這些應(yīng)用的pod加入相應(yīng)的toleration,則帶有合適toleration的pod就會(huì)被允許同使用其他節(jié)點(diǎn)一樣使用有taint的節(jié)點(diǎn)。然后再將這些node打上指定的標(biāo)簽,再通過(guò)nodeSelector或者親和性調(diào)度的方式,要求這些pod必須運(yùn)行在指定標(biāo)簽的節(jié)點(diǎn)上。

配備了特殊硬件的節(jié)點(diǎn)

在部分節(jié)點(diǎn)配備了特殊硬件(比如 GPU)的集群中, 我們希望不需要這類硬件的 Pod 不要被調(diào)度到這些特殊節(jié)點(diǎn),以便為后繼需要這類硬件的 Pod 保留資源。 要達(dá)到這個(gè)目的,可以先給配備了特殊硬件的節(jié)點(diǎn)添加污點(diǎn):

kubectl taint nodes nodename special=true:NoSchedule 
或 
kubectl taint nodes nodename special=true:PreferNoSchedule

然后在pod中利用對(duì)應(yīng)的toleration來(lái)保障特定的pod能夠使用特定的硬件。然后同樣的,我們也可以使用標(biāo)簽或者其他的一些特征來(lái)判斷這些pod,將其調(diào)度到這些特定硬件的服務(wù)器上。

基于污點(diǎn)的驅(qū)逐

之前說(shuō)到,在節(jié)點(diǎn)故障時(shí),可以通過(guò)TaintBasedEvictions功能自動(dòng)將節(jié)點(diǎn)設(shè)置Taint,然后將pod驅(qū)逐。但是在一些場(chǎng)景下,比如說(shuō)網(wǎng)絡(luò)故障造成的master與node失聯(lián),而這個(gè)node上運(yùn)行了很多本地狀態(tài)的應(yīng)用即使網(wǎng)絡(luò)故障,也仍然希望能夠持續(xù)在該節(jié)點(diǎn)上運(yùn)行,期望網(wǎng)絡(luò)能夠快速恢復(fù),從而避免從這個(gè)node上被驅(qū)逐。Pod的Toleration可以這樣定義:

tolerations:
- key: "node.alpha.kubernetes.io/unreachable"
  operator: "Exists"
  effect: "NoExecute"
  tolerationSeconds: 6000

前文提到過(guò)污點(diǎn)的效果值 NoExecute 會(huì)影響已經(jīng)在節(jié)點(diǎn)上運(yùn)行的如下 Pod:

  • 如果 Pod 不能忍受這類污點(diǎn),Pod 會(huì)馬上被驅(qū)逐。
  • 如果 Pod 能夠忍受這類污點(diǎn),但是在容忍度定義中沒(méi)有指定 tolerationSeconds, 則 Pod 還會(huì)一直在這個(gè)節(jié)點(diǎn)上運(yùn)行。
  • 如果 Pod 能夠忍受這類污點(diǎn),而且指定了 tolerationSeconds, 則 Pod 還能在這個(gè)節(jié)點(diǎn)上繼續(xù)運(yùn)行這個(gè)指定的時(shí)間長(zhǎng)度。

當(dāng)某種條件為真時(shí),節(jié)點(diǎn)控制器會(huì)自動(dòng)給節(jié)點(diǎn)添加一個(gè)污點(diǎn)。當(dāng)前內(nèi)置的污點(diǎn)包括:

  • node.kubernetes.io/not-ready:節(jié)點(diǎn)未準(zhǔn)備好。這相當(dāng)于節(jié)點(diǎn)狀況 Ready 的值為 “False”。
  • node.kubernetes.io/unreachable:節(jié)點(diǎn)控制器訪問(wèn)不到節(jié)點(diǎn). 這相當(dāng)于節(jié)點(diǎn)狀況 Ready 的值為 “Unknown”。
  • node.kubernetes.io/memory-pressure:節(jié)點(diǎn)存在內(nèi)存壓力。
  • node.kubernetes.io/disk-pressure:節(jié)點(diǎn)存在磁盤(pán)壓力。
  • node.kubernetes.io/pid-pressure: 節(jié)點(diǎn)的 PID 壓力。
  • node.kubernetes.io/network-unavailable:節(jié)點(diǎn)網(wǎng)絡(luò)不可用。
  • node.kubernetes.io/unschedulable: 節(jié)點(diǎn)不可調(diào)度。
  • node.cloudprovider.kubernetes.io/uninitialized:如果 kubelet 啟動(dòng)時(shí)指定了一個(gè)“外部”云平臺(tái)驅(qū)動(dòng), 它將給當(dāng)前節(jié)點(diǎn)添加一個(gè)污點(diǎn)將其標(biāo)志為不可用。在 cloud-controller-manager 的一個(gè)控制器初始化這個(gè)節(jié)點(diǎn)后,kubelet 將刪除這個(gè)污點(diǎn)。

在節(jié)點(diǎn)被驅(qū)逐時(shí),節(jié)點(diǎn)控制器或者 kubelet 會(huì)添加帶有 NoExecute 效果的相關(guān)污點(diǎn)。 如果異常狀態(tài)恢復(fù)正常,kubelet 或節(jié)點(diǎn)控制器能夠移除相關(guān)的污點(diǎn)。

在某些情況下,當(dāng)節(jié)點(diǎn)不可達(dá)時(shí),API 服務(wù)器無(wú)法與節(jié)點(diǎn)上的 kubelet 進(jìn)行通信。 在與 API 服務(wù)器的通信被重新建立之前,刪除 Pod 的決定無(wú)法傳遞到 kubelet。 同時(shí),被調(diào)度進(jìn)行刪除的那些 Pod 可能會(huì)繼續(xù)運(yùn)行在分區(qū)后的節(jié)點(diǎn)上。

說(shuō)明:

控制面會(huì)限制向節(jié)點(diǎn)添加新污點(diǎn)的速率。這一速率限制可以管理多個(gè)節(jié)點(diǎn)同時(shí)不可達(dá)時(shí) (例如出現(xiàn)網(wǎng)絡(luò)中斷的情況),可能觸發(fā)的驅(qū)逐的數(shù)量。

基于節(jié)點(diǎn)狀態(tài)添加污點(diǎn)

控制平面使用節(jié)點(diǎn)控制器自動(dòng)創(chuàng)建 與節(jié)點(diǎn)狀況對(duì)應(yīng)的、效果為 NoSchedule 的污點(diǎn)。

調(diào)度器在進(jìn)行調(diào)度時(shí)檢查污點(diǎn),而不是檢查節(jié)點(diǎn)狀況。這確保節(jié)點(diǎn)狀況不會(huì)直接影響調(diào)度。 例如,如果 DiskPressure 節(jié)點(diǎn)狀況處于活躍狀態(tài),則控制平面添加 node.kubernetes.io/disk-pressure 污點(diǎn)并且不會(huì)調(diào)度新的 Pod 到受影響的節(jié)點(diǎn)。 如果 MemoryPressure 節(jié)點(diǎn)狀況處于活躍狀態(tài),則控制平面添加 node.kubernetes.io/memory-pressure 污點(diǎn)。

對(duì)于新創(chuàng)建的 Pod,可以通過(guò)添加相應(yīng)的 Pod 容忍度來(lái)忽略節(jié)點(diǎn)狀況。 控制平面還在具有除 BestEffort 之外的 QoS 類的 Pod 上添加 node.kubernetes.io/memory-pressure 容忍度。 這是因?yàn)?Kubernetes 將 GuaranteedBurstable QoS 類中的 Pod(甚至沒(méi)有設(shè)置內(nèi)存請(qǐng)求的 Pod) 視為能夠應(yīng)對(duì)內(nèi)存壓力,而新創(chuàng)建的 BestEffort Pod 不會(huì)被調(diào)度到受影響的節(jié)點(diǎn)上。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-664360.html

總結(jié)

  1. 默認(rèn)情況下,Pod不會(huì)調(diào)度到含有污點(diǎn)的節(jié)點(diǎn)上;
  2. 節(jié)點(diǎn)可以配置多個(gè)污點(diǎn),各個(gè)污點(diǎn)直接是邏輯與的關(guān)系,因此設(shè)置容忍度的時(shí)候需要容忍所有污點(diǎn);
  3. Pod容忍了節(jié)點(diǎn)上的污點(diǎn),并不代表Pod一定會(huì)被調(diào)度到該節(jié)點(diǎn)上;
  4. 必須理解設(shè)置污點(diǎn)時(shí)effect對(duì)應(yīng)的三個(gè)參數(shù)的含義(PreferNoSchedule,NoSchedule,NoExecute);
    建的 BestEffort Pod 不會(huì)被調(diào)度到受影響的節(jié)點(diǎn)上。

到了這里,關(guān)于【云原生|Kubernetes】15-Kubernetes的污點(diǎn)和容忍詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 云原生Kubernetes:K8S集群版本升級(jí)(v1.20.6 - v1.20.15)

    云原生Kubernetes:K8S集群版本升級(jí)(v1.20.6 - v1.20.15)

    目錄 一、理論 1.K8S集群升級(jí) 2.集群概況 3.升級(jí)集群 4.驗(yàn)證集群 二、實(shí)驗(yàn) ?1.升級(jí)集群 2.驗(yàn)證集群 三、問(wèn)題 1.給node1節(jié)點(diǎn)打污點(diǎn)報(bào)錯(cuò) (1)概念 搭建K8S集群的方式有很多種,比如二進(jìn)制,kubeadm,RKE(Rancher)等,K8S集群升級(jí)方式也各有千秋,目前準(zhǔn)備使用kubeadm方式搭建的k8s集群

    2024年02月07日
    瀏覽(27)
  • 云原生Kubernetes:K8S集群版本升級(jí)(v1.20.15 - v1.22.14)

    云原生Kubernetes:K8S集群版本升級(jí)(v1.20.15 - v1.22.14)

    目錄 一、理論 1.K8S集群升級(jí) 2.集群概況 3.升級(jí)集群(v1.21.14) 4.驗(yàn)證集群(v1.21.14) 5.升級(jí)集群(v1.22.14) 6.驗(yàn)證集群? (v1.22.14) 二、實(shí)驗(yàn) ?1.升級(jí)集群(v1.21.14) 2.驗(yàn)證集群(v1.21.14) ?3.升級(jí)集群(v1.22.14) 4.驗(yàn)證集群(v1.22.14) (1)概念 搭建K8S集群的方式有很多種,比如二

    2024年02月07日
    瀏覽(18)
  • 【云原生|Kubernetes】14-DaemonSet資源控制器詳解

    ? 在 Kubernetes 中,DaemonSet 是一種用于在節(jié)點(diǎn)上運(yùn)行指定的 Pod 的控制器(Controller)。與 ReplicaSet 或 Deployment 不同,DaemonSet 不是為了擴(kuò)展 Pod 數(shù)量而創(chuàng)建的,而是為了在每個(gè)節(jié)點(diǎn)上運(yùn)行一個(gè)實(shí)例或多個(gè)實(shí)例的 Pod。 ? DaemonSet 通常用于在 Kubernetes 集群中運(yùn)行一些系統(tǒng)級(jí)別的服務(wù)

    2024年02月13日
    瀏覽(46)
  • 【云原生|Kubernetes】13-Deployment資源控制器詳解

    kubernetes中有很多資源控制器,這些資源控制器我們只說(shuō)一些重要且常用的。在介紹Deploymen之前,我們會(huì)逐個(gè)介紹這些控制器。 Pod控制器介紹 ? Pod控制器是用于實(shí)現(xiàn)管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài),pod的資源出現(xiàn)故障時(shí),會(huì)嘗試 進(jìn)行重啟,當(dāng)根據(jù)重啟策略無(wú)效

    2024年02月16日
    瀏覽(55)
  • 云原生|詳解Kubernetes Operator在項(xiàng)目中的開(kāi)發(fā)應(yīng)用

    云原生|詳解Kubernetes Operator在項(xiàng)目中的開(kāi)發(fā)應(yīng)用

    目錄 一、使用場(chǎng)景 (一)client-go中處理邏輯 (二)controller-runtime中處理邏輯 二、使用controller-runtime開(kāi)發(fā)operator項(xiàng)目 (一)生成框架代碼 (二)定義crd字段 (三)生成crd文件 (四)初始化manager (五)配置controller (六)配置webhook controller-runtime是基于kubernetes控制器模式衍

    2024年02月04日
    瀏覽(18)
  • 【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 管理 Secret 詳解

    【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 管理 Secret 詳解

    Secret 是一種包含少量敏感信息例如密碼、令牌或密鑰的對(duì)象。 這樣的信息可能會(huì)被放在 Pod 規(guī)約中或者鏡像中。 用戶可以創(chuàng)建 Secret,同時(shí)系統(tǒng)也創(chuàng)建了一些 Secret。 一個(gè) Secret 可以包含 Pod 訪問(wèn)數(shù)據(jù)庫(kù)所需的用戶憑證。 例如,由用戶名和密碼組成的數(shù)據(jù)庫(kù)連接字符串。 你可

    2024年02月02日
    瀏覽(96)
  • k8s 污點(diǎn)和容忍

    k8s 污點(diǎn)和容忍

    在 Kubernetes 中,節(jié)點(diǎn)親和性 NodeAffinity 是 Pod 上定義的一種屬性,能夠使 Pod 按我們的要求調(diào)度到某個(gè)節(jié)點(diǎn)上,而 Taints(污點(diǎn)) 則恰恰相反,它是 Node 上的一個(gè)屬性,可以讓 Pod 不能調(diào)度到帶污點(diǎn)的節(jié)點(diǎn)上,甚至?xí)?duì)帶污點(diǎn)節(jié)點(diǎn)上已有的 Pod 進(jìn)行驅(qū)逐。當(dāng)然,對(duì)應(yīng)的 Kubernetes 可以

    2023年04月08日
    瀏覽(22)
  • 學(xué)習(xí)筆記十八:污點(diǎn)、容忍度

    給了節(jié)點(diǎn)選則的主動(dòng)權(quán),我們給節(jié)點(diǎn)打一個(gè)污點(diǎn),不容忍的pod就運(yùn)行不上來(lái),污點(diǎn)就是定義在節(jié)點(diǎn)上的鍵值屬性數(shù)據(jù),可以定決定拒絕那些pod; taints是鍵值數(shù)據(jù),用在節(jié)點(diǎn)上,定義污點(diǎn); tolerations是鍵值數(shù)據(jù),用在pod上,定義容忍度,能容忍哪些污點(diǎn) pod親和性是pod屬性;但

    2024年02月12日
    瀏覽(22)
  • k8s概念-污點(diǎn)與容忍

    k8s 集群中可能管理著非常龐大的服務(wù)器,這些服務(wù)器可能是各種各樣不同類型的,比如機(jī)房、地理位置、配置等,有些是計(jì)算型節(jié)點(diǎn),有些是存儲(chǔ)型節(jié)點(diǎn),此時(shí)我們希望能更好的將 pod 調(diào)度到與之需求更匹配的節(jié)點(diǎn)上。 此時(shí)就需要用到污點(diǎn)(Taint)和容忍(Toleration),這些配

    2024年02月14日
    瀏覽(21)
  • K8s的親和、反親和、污點(diǎn)、容忍

    K8s的親和、反親和、污點(diǎn)、容忍

    親和性的原理其實(shí)很簡(jiǎn)單,主要利用label標(biāo)簽結(jié)合nodeSelector選擇器來(lái)實(shí)現(xiàn) 從pod出發(fā),可以分成親和性和反親和性,分別對(duì)應(yīng)podAffinity和podAntiAffinity。 從node出發(fā),也可以分成親和性和反親和性,分別對(duì)應(yīng)nodeAffinity和nodeAntiAffinity。 從操作指令來(lái)講,可以有l(wèi)n、Notln、Exists、DoesN

    2024年04月27日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包