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

Kubernetes使用時需要注意的坑點

云計算
在Kubernetes實踐的過程中,積累了一些填坑經(jīng)驗,小做總結,拿來分享一下。希望能對準備或正在使用Kubernetes的小伙伴提供幫助。

在Kubernetes實踐的過程中,積累了一些填坑經(jīng)驗,小做總結,拿來分享一下。

希望能對準備或正在使用Kubernetes的小伙伴提供幫助。

Kubernetes使用時需要注意的坑點

滾動升級之更新太慢

默認情況下,滾動升級是逐個更新的,當有幾十上百個Pod需要更新時,再加上就緒檢測,整個過程將會更慢。如果你想和更多Kubernetes技術專家交流,可以加我微信liyingjiese,備注『加群』。群里每周都有全球各大公司的***實踐以及行業(yè)***動態(tài)

解決方法:

 

  1. rollingUpdate: 
  2.    maxSurge: 20% #每個滾動更新的實例數(shù)量 
  3.    maxUnavailable: 10% #允許更新過程中有多少實例不可用 

就緒檢測之無損更新

通常,服務重啟的時候會有一小段時間是無法正常提供服務的。

為了避免這個過程中有請求的流量進來,我們可以使用就緒檢測來檢測服務是否就緒可正常接收并處理請求。

 

  1. ...... 
  2.         readinessProbe: 
  3.           httpGet: 
  4.             host: api.xxx.com 
  5.             path: / 
  6.             port: 80 
  7.           initialDelaySeconds: 3 # 容器啟動3秒后開始***次檢測 
  8.           periodSeconds: 60 # 每隔60s檢測一次 
  9.           timeoutSeconds: 3 # http檢測請求的超時時間 
  10.           successThreshold: 1 # 檢測到有1次成功則認為服務是`就緒` 
  11.           failureThreshold: 1 # 檢測到有1次失敗則認為服務是`未就緒` 
  12. ...... 

就緒檢測之全面癱瘓

就緒檢測是把雙利劍,用不好,反而容易出大問題,比如服務全面癱瘓。

我們可以看到上面就緒檢測的配置,漏洞百出。

比如:超時,高并發(fā)情況下,請求處理不過來,個別服務很容易導致檢測請求的超時(504),立馬被認為未就緒,于是流量被轉移到其它服務,進而讓本來就高負荷的其它服務出現(xiàn)同樣情況,惡性循環(huán),很快,所有服務都被認為是未就緒,結果產(chǎn)生全面癱瘓現(xiàn)象。

解決方法:設置更長的超時時間,以及更高的失敗次數(shù)。

重新部署,這種情況可能是誤操作,也可能是其它異常導致服務掛了??傊?,你需要在用戶還在不斷嘗試請求你服務的時候重啟。你會驚訝的發(fā)現(xiàn),一直無法正常啟動為就緒狀態(tài),所有服務都是未就緒。同樣的原因,服務啟動過程不是一次全部起來,而是逐批啟動,這樣每批服務啟動后都無法hold住流量,于是還是惡性循環(huán),全面癱瘓。

解決方法:先去掉就緒檢測再重新部署。

自動擴展之瞬時高峰

自動擴展POD雖然好用,但如果擴展的指標(CPU、內(nèi)存等)設置的過高,如:50%以上,那么,當突然有翻倍的流量過來時,根本來不及擴展Pod,服務直接就超時或掛掉。

解決方法:盡可能的把指標設置在一個較小的值,對以往流量做參考評估,確保了當有2倍、3倍甚至5倍的流量突襲時不至于hold不住。

自動伸縮之提前擴容

通常,節(jié)點的自動伸縮依賴于Pod的自動擴展時資源是否充足。然而在面對定時突然流量高峰的業(yè)務時,這種伸縮顯然來不及,甚至常常出現(xiàn)高峰10分鐘后才擴容的機器,流量已經(jīng)回到低谷,完全啟不到作用。并且,流量到底是因為業(yè)務屬性很快回落,還是因為擴容不及時導致的流失?

解決方法:根據(jù)自身業(yè)務,參考以住流量數(shù)量及推廣時間,找到規(guī)律,提前或定時觸發(fā)自動擴容。

容器運行之僵尸進程

這是一個Docker舊版(<1.13)已知問題,有些容器啟動后會出現(xiàn)defunct進程(ps aux | grep defunct),而且會越來越多,稱為僵尸進程,可能導致內(nèi)存泄漏,而且kill不掉,除非重啟容器。

解決方法:tini

集群節(jié)點之移除節(jié)點

如何安全地移出節(jié)點?這個節(jié)點上面部署了你的業(yè)務,甚至包括kube-system的東西。

解決方法:kubectl drain,可以先把節(jié)點上的Pod驅(qū)逐到其它節(jié)點,然后再移出該節(jié)點。

責任編輯:未麗燕 來源: Dockone.io
相關推薦

2020-03-19 15:02:53

Go語言學習

2021-07-30 09:00:40

鴻蒙HarmonyOS應用

2009-07-16 09:25:27

Java常量定義

2018-08-28 06:21:19

網(wǎng)線布線線纜

2016-02-01 16:04:45

開源創(chuàng)業(yè)關鍵點

2021-11-08 08:13:49

UPS電源系統(tǒng)維護

2023-07-27 18:39:20

低代碼開發(fā)編碼

2016-01-31 10:59:19

設計app

2009-08-07 13:16:59

C#讀取Excel數(shù)據(jù)c# 讀取excel

2011-05-26 17:37:11

Ajax

2016-12-26 18:51:34

AndroidJavascriptJSONObject

2021-02-24 07:40:38

React Hooks閉包

2009-04-23 14:30:19

UML建模

2013-09-29 10:36:08

VMware虛擬化

2016-02-24 09:47:04

WiFi信號

2014-01-08 10:01:14

云計算數(shù)據(jù)遷移

2020-09-01 08:06:54

Kubernetes資源

2009-12-21 17:20:22

寬帶路由器

2020-10-26 14:01:22

Java泛型

2024-05-16 15:15:14

點贊
收藏

51CTO技術棧公眾號