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

K8S容器空間不足問題分析和解決

這篇具有很好參考價值的文章主要介紹了K8S容器空間不足問題分析和解決。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

K8S容器空間不足問題分析和解決,K8s,運維,kubernetes,容器,云原生

如上圖,今天測試環(huán)境的K8S平臺出現(xiàn)了一個問題,其中的一個容器報錯:Free disk space below threshold. Available: 3223552 bytes (threshold: 10485760B),意思服務(wù)器硬盤空間不夠了。這個問題怎么產(chǎn)生的,又怎么解決的呢?

一、問題分析

這個容器是部署在k8s集群的一個工作節(jié)點,該工作節(jié)點的磁盤使用率已經(jīng)達到了99%,但是Kubernetes的垃圾回收機制似乎沒有生效,可能有以下幾個原因:

1、鏡像垃圾回收閾值設(shè)置過高
  • 默認情況下,--image-gc-high-threshold的值為85,表示只有當(dāng)磁盤使用率達到85%時才會觸發(fā)鏡像垃圾回收。
  • 如果你的節(jié)點磁盤使用率在達到85%之前就已經(jīng)接近滿載,那么垃圾回收機制可能無法及時釋放足夠的空間。

2、死亡容器和未使用鏡像占用空間較小

  • Kubernetes的垃圾回收機制主要針對已停止的容器(dead containers)和未使用的鏡像。
  • 如果你的節(jié)點上運行的大部分容器都是活動的,并且鏡像都在被使用,那么垃圾回收可能無法釋放太多空間。

3、其他非容器相關(guān)的文件占用了大量磁盤空間

  • Kubernetes的垃圾回收只會清理停止的容器和未使用的鏡像,但不會刪除其他文件。
  • 如果你的節(jié)點上有大量非容器相關(guān)的文件(如日志文件、數(shù)據(jù)文件等)占用了磁盤空間,垃圾回收機制無法處理這些文件。

4、垃圾回收機制的執(zhí)行頻率不足

  • Kubernetes的垃圾回收機制是周期性運行的,默認情況下每分鐘運行一次。
  • 如果你的節(jié)點磁盤使用率增長非???垃圾回收的執(zhí)行頻率可能跟不上磁盤空間的消耗速度。

二、解決問題

為了解決這個問題,可以嘗試以下幾種方法:

1、手動清理

  • 你可以使用docker container prune命令刪除所有停止的容器。
  • 使用docker image prune命令刪除所有懸空(dangling)鏡像,即沒有被任何容器引用的鏡像。

2、調(diào)整參數(shù)

將--image-gc-high-threshold--image-gc-low-threshold兩個參數(shù)的值進行調(diào)整,使其更接近實際的磁盤使用情況。例如,你可以將--image-gc-high-threshold設(shè)置為75,將--image-gc-low-threshold設(shè)置為70,以便在磁盤使用率較高時更積極地進行垃圾回收。

3、定期清理

? 識別并清理節(jié)點上占用大量磁盤空間的非容器相關(guān)文件,如日志文件、臨時文件等。

4、擴容

考慮增加節(jié)點的磁盤容量或向集群中添加更多節(jié)點,以分散工作負載和存儲壓力。

5、優(yōu)化應(yīng)用

如果可能,嘗試優(yōu)化應(yīng)用程序和工作負載,減少不必要的磁盤空間使用。

本次問題處理中,我們先用手動刪除所有停止的容器和鏡像,然后調(diào)整了--image-gc-high-threshold和--image-gc-low-threshold參數(shù)的值,改為75,最后配置了一個監(jiān)控任務(wù),磁盤空間超過80%就提示告警。

請注意,在對生產(chǎn)環(huán)境進行任何更改之前,務(wù)必仔細評估可能的影響并制定合適的策略。根據(jù)你的具體情況和需求,選擇最適合的方法來解決節(jié)點磁盤空間不足的問題。

三、相關(guān)知識

除了上面使用的方法,我們要在Kubernetes中自動清理過期的容器和鏡像,還可可以利用Kubernetes的內(nèi)置機制和一些第三方工具。下面是幾種方法:

1、配置容器的?restartPolicy?和?terminationGracePeriodSeconds

  • 對于一次性任務(wù)或短期任務(wù),可以將Pod的?restartPolicy?設(shè)置為?Never?或?OnFailure,確保容器退出后不會自動重啟。
  • 設(shè)置合適的?terminationGracePeriodSeconds?值,控制容器優(yōu)雅終止的寬限期,超過該時間后Kubernetes會強制刪除容器。

2、使用?TTL Controller?自動清理已完成的Job

  • Kubernetes的?TTL Controller?可以自動清理已完成的Job及其關(guān)聯(lián)的Pod。
  • 在Job的spec中設(shè)置?.spec.ttlSecondsAfterFinished?字段,指定Job完成后的TTL時間,超過該時間Job和Pod會被自動刪除。

3、利用第三方工具如?kube-janitor?或?descheduler

  • kube-janitor?是一個自動清理Kubernetes資源的工具,可以根據(jù)配置的規(guī)則定期清理過期的資源,包括Pod、Job、ConfigMap等。
  • descheduler?可以根據(jù)策略驅(qū)逐Pod,釋放節(jié)點資源,可以用于清理長時間運行的Pod。

4、使用自定義腳本或控制器

  • 可以編寫自定義腳本或控制器,定期查詢和清理過期的容器和鏡像。
  • 可以利用Kubernetes API或客戶端庫如?client-go?來實現(xiàn)自定義邏輯。

以上是一些常見的方法,可以根據(jù)具體需求選擇合適的方案。同時,也要注意配置適當(dāng)?shù)馁Y源限制和請求,避免不必要的資源浪費。定期監(jiān)控集群的資源使用情況,及時調(diào)整和優(yōu)化。文章來源地址http://www.zghlxwxcb.cn/news/detail-847389.html

到了這里,關(guān)于K8S容器空間不足問題分析和解決的文章就介紹完了。如果您還想了解更多內(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問題定位】k8s中的pod不停的重啟,定位問題原因與解決方法

    【k8s問題定位】k8s中的pod不停的重啟,定位問題原因與解決方法

    現(xiàn)象: running的pod,短時間內(nèi)重啟次數(shù)太多 ? 定位問題方法: 查看pod日志 本次使用以下命令,解決了問題 問題原因: OOM,pod被kill掉,重啟了( 內(nèi)存不夠用 ) ? 查看該服務(wù)的deployment.yaml文件 發(fā)現(xiàn)我們deployment.yaml對服務(wù)的內(nèi)存使用,做了限制 解決方法: 將limit的memory數(shù)值提高,然后

    2024年02月09日
    瀏覽(38)
  • 解決K8s證書過期問題

    解決K8s證書過期問題

    K8s出現(xiàn)的問題:證書過期 參考K8s官方文檔 查看運行日志: 關(guān)鍵錯誤:part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2022-10-12 06:54:16 +0000 UTC 查看證書期限: 解決方式: 對過期證書進行備份,并刪除舊的證書 重新生成證書 備份舊的配置文件 重新生成

    2024年02月16日
    瀏覽(28)
  • K8s出現(xiàn)問題時,如何排查解決!

    K8s出現(xiàn)問題時,如何排查解決!

    K8s問題的排查 1、POD啟動異常、部分節(jié)點無法啟動pod 容器里管理應(yīng)用 pod出現(xiàn)異常的原因: 2. 審視集群狀態(tài) 審視集群狀態(tài) K8S的集群狀態(tài)是排查故障的關(guān)鍵起點。使用kubectl get nodes命令來檢查節(jié)點狀態(tài)。如果有節(jié)點未能就緒或出現(xiàn)異常狀態(tài),可能會對應(yīng)用程序造成故障。確?;?/p>

    2024年02月02日
    瀏覽(32)
  • 如何分析K8S中的OOMKilled問題(Exit Code 137)

    當(dāng) Kubernetes 集群中的容器超過其內(nèi)存限制時,Kubernetes 系統(tǒng)可能會終止該容器并顯示“OOMKilled”錯誤,這表明該進程由于內(nèi)存不足而被終止。此錯誤的退出代碼是 137。 如果遇到錯誤,Pod 的狀態(tài)將顯示“OOMKilled”,您可以使用以下命令查看該錯誤: Out-Of-Memory Killer (OOMKiller) 是

    2024年02月03日
    瀏覽(21)
  • K8S集群中Node節(jié)點資源不足導(dǎo)致Pod無法運行的故障排查思路

    故障一:Pod數(shù)量太多超出物理節(jié)點的限制 每一臺Node節(jié)點中默認限制最多運行110個Pod資源,當(dāng)一個應(yīng)用程序有成百上千的Pod資源時,如果不擴容Node節(jié)點或者修改最大Pod數(shù)量限制,那么就會導(dǎo)致部分Pod資源無法正常運行,因為節(jié)點已經(jīng)沒有資源可以被調(diào)度了。 解決思路就是擴容

    2024年02月02日
    瀏覽(31)
  • 已解決: Error: ErrImagePull (K8s) 問題

    已解決: Error: ErrImagePull (K8s) 問題

    ???? 博主貓頭虎(????)帶您 Go to New World??? ?? 博客首頁 : ????貓頭虎的博客?? 《面試題大全專欄》 ?? 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? 《IDEA開發(fā)秘籍專欄》 ?? 學(xué)會IDEA常用操作,工作效率翻倍~?? 《100天精通Golang(基礎(chǔ)入門篇)》 ??

    2024年02月21日
    瀏覽(17)
  • k8s從節(jié)點加入主節(jié)點[preflight] Running pre-flight checks卡?。ㄒ呀鉀Q)k8s常用問題解決

    k8s從節(jié)點加入主節(jié)點[preflight] Running pre-flight checks卡?。ㄒ呀鉀Q)k8s常用問題解決

    部署k8s時,主節(jié)點部署成功了,從節(jié)點1執(zhí)行kubeadm join也成功了,從節(jié)點2執(zhí)行kubeadm join一直卡在[preflight] Running pre-flight checks不動! 網(wǎng)上查的資料,不管是時間同步,還是重新生成token都嘗試了,結(jié)果還是不行。 kubeadm token list 查看token也并沒有 過期。 kubeadm token create --ttl 0 -

    2024年02月09日
    瀏覽(36)
  • 強制刪除k8s命名空間

    背景 刪除ns時,有時候會一直卡在terminating的狀態(tài),無法刪除,此時會引發(fā)一些問題,所以試了兩種方法,記錄下來 假定ns名稱為test 方法一 通過強制刪除,并且設(shè)置優(yōu)雅刪除時間為0(默認為30s) $ kubectl delete ns test --force --grace-period=0 方法一之后還是無法刪除,請使用方法二

    2024年02月04日
    瀏覽(19)
  • K8S:K8S自動化運維容器Docker集群

    K8S:K8S自動化運維容器Docker集群

    (1)K8S全程為Kubernetes,由于K到S直接有8個字母簡稱為K8S。 (2)版本:目前一般是1.18~1.2.0,后續(xù)可能會到1.24-1.26,1.24版本后丟棄了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官網(wǎng):https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    瀏覽(43)
  • 容器與K8s

    容器與K8s

    容器 vs 虛擬機 三個概念: ? ? ? ? Docker鏡像除了運行程序也打包了程序運行環(huán)境。 ? ? ? ? 存放鏡像的倉庫,需要login之后拉去響應(yīng)的鏡像。 ? ? ? ? 基于Docker鏡像創(chuàng)建的linux容器,本質(zhì)是宿主機上的一個進程,與其他資源隔離。 圖2? Docker容器典型使用流程 首先開發(fā)者在

    2024年01月19日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包