日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes垃圾收集

垃圾收集

垃圾收集是 Kubernetes 用于清理集群資源的各種機制的統(tǒng)稱。 垃圾收集允許系統(tǒng)清理如下資源:

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站設計、成都網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元會昌做網(wǎng)站,已為上家服務,為會昌各地企業(yè)和個人服務,聯(lián)系電話:13518219792

  • 失敗的 Pod
  • 已完成的 Job
  • 不再存在屬主引用的對象
  • 未使用的容器和容器鏡像
  • 動態(tài)制備的、StorageClass 回收策略為 Delete 的 PV 卷
  • 阻滯或者過期的 CertificateSigningRequest (CSRs)
  • 在以下情形中刪除了的節(jié)點對象:
    • 當集群使用云控制器管理器運行于云端時;
    • 當集群使用類似于云控制器管理器的插件運行在本地環(huán)境中時。
  • 節(jié)點租約對象

屬主與依賴 

Kubernetes 中很多對象通過屬主引用 鏈接到彼此。屬主引用(Owner Reference)可以告訴控制面哪些對象依賴于其他對象。 Kubernetes 使用屬主引用來為控制面以及其他 API 客戶端在刪除某對象時提供一個 清理關聯(lián)資源的機會。在大多數(shù)場合,Kubernetes 都是自動管理屬主引用的。

屬主關系與某些資源所使用的的標簽和選擇算符 不同。例如,考慮一個創(chuàng)建 ?EndpointSlice ?對象的 Service 對象。Service 對象使用標簽來允許控制面確定哪些 ?EndpointSlice ?對象被該 Service 使用。除了標簽,每個被 Service 托管的 ?EndpointSlice ?對象還有一個屬主引用屬性。 屬主引用可以幫助 Kubernetes 中的不同組件避免干預并非由它們控制的對象。

根據(jù)設計,系統(tǒng)不允許出現(xiàn)跨名字空間的屬主引用。名字空間作用域的依賴對象可以指定集群作用域或者名字空間作用域的屬主。 名字空間作用域的屬主必須存在于依賴對象所在的同一名字空間。 如果屬主位于不同名字空間,則屬主引用被視為不存在,而當檢查發(fā)現(xiàn)所有屬主都已不存在時, 依賴對象會被刪除。

集群作用域的依賴對象只能指定集群作用域的屬主。 在 1.20 及更高版本中,如果一個集群作用域的依賴對象指定了某個名字空間作用域的類別作為其屬主, 則該對象被視為擁有一個無法解析的屬主引用,因而無法被垃圾收集處理。

在 1.20 及更高版本中,如果垃圾收集器檢測到非法的跨名字空間 ?
ownerReference?, 或者某集群作用域的依賴對象的 ?
ownerReference ?引用某名字空間作用域的類別, 系統(tǒng)會生成一個警告事件,其原因為 ?
OwnerRefInvalidNamespace?,?
involvedObject ?設置為非法的依賴對象。你可以通過運行 ?
kubectl get events -A --field-selector=reason=OwnerRefInvalidNamespace? 來檢查是否存在這類事件。

級聯(lián)刪除 

Kubernetes 會檢查并刪除那些不再擁有屬主引用的對象,例如在你刪除了 ReplicaSet 之后留下來的 Pod。當你刪除某個對象時,你可以控制 Kubernetes 是否要通過一個稱作 級聯(lián)刪除(Cascading Deletion)的過程自動刪除該對象的依賴對象。 級聯(lián)刪除有兩種類型,分別如下:

  • 前臺級聯(lián)刪除
  • 后臺級聯(lián)刪除

你也可以使用 Kubernetes Finalizers 來控制垃圾收集機制如何以及何時刪除包含屬主引用的資源。

前臺級聯(lián)刪除

在前臺級聯(lián)刪除中,正在被你刪除的對象首先進入 deletion in progress 狀態(tài)。 在這種狀態(tài)下,針對屬主對象會發(fā)生以下事情:

  • Kubernetes API 服務器將對象的 ?metadata.deletionTimestamp? 字段設置為對象被標記為要刪除的時間點。
  • Kubernetes API 服務器也會將 ?metadata.finalizers? 字段設置為 ?foregroundDeletion?。
  • 在刪除過程完成之前,通過 Kubernetes API 仍然可以看到該對象。

當屬主對象進入刪除過程中狀態(tài)后,控制器刪除其依賴對象。控制器在刪除完所有依賴對象之后, 刪除屬主對象。這時,通過 Kubernetes API 就無法再看到該對象。

在前臺級聯(lián)刪除過程中,唯一的可能阻止屬主對象被刪除的依賴對象是那些帶有 ?ownerReference.blockOwnerDeletion=true? 字段的對象。

后臺級聯(lián)刪除

在后臺級聯(lián)刪除過程中,Kubernetes 服務器立即刪除屬主對象,控制器在后臺清理所有依賴對象。 默認情況下,Kubernetes 使用后臺級聯(lián)刪除方案,除非你手動設置了要使用前臺刪除, 或者選擇遺棄依賴對象。

被遺棄的依賴對象 

當 Kubernetes 刪除某個屬主對象時,被留下來的依賴對象被稱作被遺棄的(Orphaned)對象。 默認情況下,Kubernetes 會刪除依賴對象。

未使用容器和鏡像的垃圾收集 

kubelet 會每五分鐘對未使用的鏡像執(zhí)行一次垃圾收集, 每分鐘對未使用的容器執(zhí)行一次垃圾收集。 你應該避免使用外部的垃圾收集工具,因為外部工具可能會破壞 kubelet 的行為,移除應該保留的容器。

要配置對未使用容器和鏡像的垃圾收集選項,可以使用一個 配置文件,基于 KubeletConfiguration 資源類型來調整與垃圾搜集相關的 kubelet 行為。

容器鏡像生命期 

Kubernetes 通過其鏡像管理器(Image Manager)來管理所有鏡像的生命周期, 該管理器是 kubelet 的一部分,工作時與 cadvisor 協(xié)同。 kubelet 在作出垃圾收集決定時會考慮如下磁盤用量約束:

  • ?HighThresholdPercent ?
  • ?LowThresholdPercent ?

磁盤用量超出所配置的 ?HighThresholdPercent ?值時會觸發(fā)垃圾收集, 垃圾收集器會基于鏡像上次被使用的時間來按順序刪除它們,首先刪除的是最老的鏡像。 kubelet 會持續(xù)刪除鏡像,直到磁盤用量到達 ?LowThresholdPercent ?值為止。

容器垃圾收集 

kubelet 會基于如下變量對所有未使用的容器執(zhí)行垃圾收集操作,這些變量都是你可以定義的:

  • ?MinAge?:kubelet 可以垃圾回收某個容器時該容器的最小年齡。設置為 ?0? 表示禁止使用此規(guī)則。
  • ?MaxPerPodContainer?:每個 Pod 可以包含的已死亡的容器個數(shù)上限。設置為小于 ?0? 的值表示禁止使用此規(guī)則。
  • ?MaxContainers?:集群中可以存在的已死亡的容器個數(shù)上限。設置為小于 ?0? 的值意味著禁止應用此規(guī)則。

除以上變量之外,kubelet 還會垃圾收集除無標識的以及已刪除的容器,通常從最老的容器開始。

當保持每個 Pod 的最大數(shù)量的容器(?MaxPerPodContainer?)會使得全局的已死亡容器個數(shù)超出上限 (?MaxContainers?)時,?MaxPerPodContainer ?和 ?MaxContainers ?之間可能會出現(xiàn)沖突。 在這種情況下,kubelet 會調整 ?MaxPerPodContainer ?來解決這一沖突。 最壞的情形是將 ?MaxPerPodContainer ?降格為 ?1?,并驅逐最老的容器。 此外,當隸屬于某已被刪除的 Pod 的容器的年齡超過 ?MinAge ?時,它們也會被刪除。

kubelet 僅會回收由它所管理的容器。

配置垃圾收集 

你可以通過配置特定于管理資源的控制器來調整資源的垃圾收集行為。


當前題目:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes垃圾收集
本文鏈接:http://m.5511xx.com/article/coopddi.html