自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5種方法讓你知道Kubernetes集群的健康狀況

云計算
Kubernetes是一種非常智能的技術(shù),但如果操作不當(dāng)反而弄巧成拙。正如大多數(shù)智能化技術(shù)一樣,它的智能程度取決于操作者。為了建立成功的Kubernetes團(tuán)隊,了解Kubernetes的健康狀況至關(guān)重要。這里有五種方法,可以讓工程師很好的識別出集群的潛在健康風(fēng)險。

Kubernetes是一種非常智能的技術(shù),但如果操作不當(dāng)反而弄巧成拙。正如大多數(shù)智能化技術(shù)一樣,它的智能程度取決于操作者。為了建立成功的Kubernetes團(tuán)隊,了解Kubernetes的健康狀況至關(guān)重要。這里有五種方法,可以讓工程師很好的識別出集群的潛在健康風(fēng)險。

幸運的是,有一些現(xiàn)成的技術(shù)可以用來收集Kubernetes集群的日志、各種指標(biāo)數(shù)據(jù)、事件和安全威脅,以幫助監(jiān)視集群的健康狀況。這些收集器從Kubernetes集群的各個部分收集數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行整合,從而生成可視化的高級視圖,并實時了解資源利用率,發(fā)現(xiàn)錯誤的配置和其他問題。

為所有的Pod設(shè)置CPU的使用上下限

在Kubernetes集群中,Pod的調(diào)度機制依賴于requests和limits這兩個參數(shù)。我們可以為CPU和內(nèi)存設(shè)置requests和limits。對于CPU,它的單位是millicores,1000m等于一個CPU核。requests是你認(rèn)為容器至少需要多少CPU和內(nèi)存,而limits則是允許容器使用的實際上限。

確保為所有的Pod設(shè)置了CPU requests。最佳實踐是將其設(shè)置為一個CPU核或更少,如果需要更多的計算能力,則添加額外的Pod副本。需要注意的是,如果你的CPU requests過高,比如2000m,但是你只有1個CPU核可用,那么這個Pod將永遠(yuǎn)不會被調(diào)度到Kubernetes集群中。在第5點中,我將向你展示如何檢查未被調(diào)度的Pod。

確保為所有的Pod設(shè)置了CPU limits。如上所述,這個參數(shù)限制了Pod使用CPU的上限,因此Kubernetes將不允許Pod使用比limits中定義的更多的CPU。也就是說,CPU是比較寬容的,因為它被認(rèn)為是一種可壓縮資源。如果你的Pod達(dá)到了CPU limits,它不會被終止,而是被節(jié)流,因此可能會出現(xiàn)性能下降。

為所有的Pod設(shè)置內(nèi)存的使用上下限

確保為所有的Pod設(shè)置了memory requests:memory requests是你認(rèn)為容器至少需要多少內(nèi)存。像CPU一樣,如果Pod的memory requests大于集群可以提供的內(nèi)存,Kubernetes不會將Pod調(diào)度到Kubernetes集群中。

確保為所有的Pod設(shè)置了memory limits: memory limit是允許Pod使用內(nèi)存的上限。與CPU不同,內(nèi)存是不可壓縮的,也不能進(jìn)行節(jié)流。如果容器超過了它的內(nèi)存限制,那么它將被終止。

審計資源配置

檢查Kubernetes是否有不足或過剩的資源。如果Kubernetes集群中有剩余的可用CPU和內(nèi)存,那么集群就處于消耗狀態(tài),并且消耗可能會持續(xù)增長。另一方面,如果CPU和內(nèi)存的利用率接近100%,那么當(dāng)集群需要水平擴展或有大量請求到來時,集群可能會遇到問題。

檢查Pod的剩余容量,在Kubernetes中有一個指標(biāo)數(shù)據(jù)“kube_node_status_allocatable”,這是Kubernetes在給定平均Pod資源利用率的情況下,對一個節(jié)點能容納多少個Pod的估計。我們可以把剩余的Pod容量加起來,粗略地估計一下我們能在不遇到問題的情況下,集群還能擴大多少。

檢查CPU總百分比使用率,CPU requests百分比使用率,CPU limits百分比使用率:CPU總百分比使用率可以告訴你現(xiàn)在使用了多少。CPU requests百分比使用率可以告訴你應(yīng)該需要多少。CPU limits百分比使用率限制了你可以使用多少。

在下面的例子中,我們只使用了可用計算能力的2.5%。我們的剩余資源過多。相比之下,我們定義的CPU requests是46%,所以我們認(rèn)為Pod需要的比Pod實際使用的多得多。我們的預(yù)估不夠準(zhǔn)確。

最后,我們的CPU limits總和是37%。由于這低于我們的CPU requests,這是一個錯誤的配置,我們需要重新檢查我們的CPU limits。

檢查內(nèi)存的百分比使用率、memory requests百分比使用率,memory limits百分比使用率。就像CPU一樣,查看是否有過多的剩余資源。只有3.8%的使用率告訴我們,我們確實資源過剩,但我們可以安全的進(jìn)行水平擴展。

檢查節(jié)點間的Pod分布

當(dāng)我們查看Pod在集群中的分布情況時,我們希望得到一個大致均勻的分布。如果某些節(jié)點完全超載或負(fù)載不足,這可能是一個值得深入研究的問題。

以下是可能導(dǎo)致分布不均勻的一些事項:

  • Node affinity,親和性是一種Pod設(shè)置,它使Pod更喜歡具有某些屬性的節(jié)點。例如,Pod可能需要在附加了GPU或SSD的節(jié)點上運行,或者Pod可能需要具有特定安全隔離或策略的節(jié)點。檢查親和性設(shè)置可以幫助分析不均勻分布的原因,并減少可能出現(xiàn)的問題。

Taints and tolerations,污點是親和性的反義詞。Pod不太喜歡被分配到這些被“污染”的節(jié)點上。如果你希望為特定的Pod保留節(jié)點,或者確保該節(jié)點上的Pod可以完全訪問可用資源,那么可以使用此方法。

Limits and requests,查看limit和request的設(shè)置。這常常是Pod分布不均勻的原因,因此值得在本節(jié)的三個部分中提及。如果Kubernetes調(diào)度程序沒有Pod需要什么的正確信息,那么調(diào)度程序在調(diào)度方面就會做得很差。

檢查Pod是否處于不良狀態(tài)

在Kubernetes環(huán)境中,Pod的狀態(tài)時刻在變化,所以過度關(guān)注每一個被終止的Pod將會慢慢吞噬你的時間和理智。但是,下面的列表值得你關(guān)注,以確保達(dá)到期望的集群狀態(tài)。

  • Nodes not ready:節(jié)點可能由許多原因而陷入這種狀態(tài),但通常是因為內(nèi)存或磁盤空間不足。
  • Unscheduled pods:Pod通常以未調(diào)度狀態(tài)結(jié)束,由于調(diào)度程序無法滿足Pod所需要的CPU或內(nèi)存請求。檢查集群是否擁有足夠的可用資源。
  • Pods that failed to create:Pod在創(chuàng)建時失敗,這通常是由于在Pod的啟動腳本中缺少某些依賴項之類的鏡像導(dǎo)致的。在這種情況下,回到起點,反復(fù)檢查Pod的各種參數(shù)配置。

Container restarts:一些容器重新啟動不值得關(guān)注,但是看到很多這樣的情況,可能意味著Pod處于OOMKill(內(nèi)存耗盡)狀態(tài)。內(nèi)存不足是Kubernetes集群中最常見的錯誤之一,可能是由鏡像問題、下游依賴項問題或各種意外、限制和請求問題引起的。

這些集群健康最佳實踐可以限制Kubernetes集群出現(xiàn)意外情況,并確保集群在擴展時不會遇到問題。還為你提供了一個很好的起點,以幫助你回答那些無定形的問題,如“我的Kubernetes集群是否健康?” 如果所有這些檢查點都是綠色的,那么你的集群可能處于健康狀態(tài),你可以高枕無憂了。

 

責(zé)任編輯:未麗燕 來源: Dockone.io
相關(guān)推薦

2009-06-29 12:56:52

喬布斯蘋果

2009-04-07 10:52:00

職場工作方法

2021-09-16 14:36:39

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)威脅

2022-11-10 14:33:40

Kubernetes容器

2024-01-31 09:24:58

2018-03-19 10:18:06

2012-05-05 08:36:07

三星

2014-01-03 09:58:46

PowerShellHyper-V

2020-11-16 15:51:54

Kubernetes

2009-04-30 10:33:28

喬布斯蘋果CEO

2021-10-28 22:22:59

Windows 10Windows微軟

2021-11-03 12:48:04

牛聯(lián)網(wǎng)物聯(lián)網(wǎng)傳感器

2020-01-16 10:47:36

服務(wù)器Kubernetes微服務(wù)

2014-04-03 10:16:44

JavaScriptCSS

2017-07-19 09:04:37

2011-03-04 15:22:24

2009-01-06 09:29:05

喬布斯健康狀況Macworld大會

2020-06-17 08:12:05

Kubernetes容器

2020-05-28 13:33:30

React Hook前端開發(fā)

2020-09-01 09:56:26

云端云計算云服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號