国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Kubernetes監(jiān)控之Heapster介紹

LeviDing / 1697人閱讀

摘要:在每個上都會運(yùn)行,它會收集本機(jī)以及容器的監(jiān)控數(shù)據(jù)。使用這里主要介紹的使用,及可獲取的。參考資料文檔文檔及可用在官方文檔中都介紹的比較齊全。我們沒有采用該方式,是考慮到如果和監(jiān)控系統(tǒng)相互依賴,會導(dǎo)致異常之后,存在監(jiān)控系統(tǒng)無法使用的隱患。

什么是Heapster?

Heapster是容器集群監(jiān)控和性能分析工具,天然的支持Kubernetes和CoreOS。
Kubernetes有個出名的監(jiān)控agent---cAdvisor。在每個kubernetes Node上都會運(yùn)行cAdvisor,它會收集本機(jī)以及容器的監(jiān)控數(shù)據(jù)(cpu,memory,filesystem,network,uptime)。
在較新的版本中,K8S已經(jīng)將cAdvisor功能集成到kubelet組件中。每個Node節(jié)點(diǎn)可以直接進(jìn)行web訪問。

cAdvisor web界面訪問: http://< Node-IP >:4194
cAdvisor也提供Restful API: https://github.com/google/cad...

Heapster是一個收集者,將每個Node上的cAdvisor的數(shù)據(jù)進(jìn)行匯總,然后導(dǎo)到第三方工具(如InfluxDB)。

框架圖:

Heapster首先從K8S Master獲取集群中所有Node的信息,然后通過這些Node上的kubelet獲取有用數(shù)據(jù),而kubelet本身的數(shù)據(jù)則是從cAdvisor得到。所有獲取到的數(shù)據(jù)都被推到Heapster配置的后端存儲中,并還支持?jǐn)?shù)據(jù)的可視化。現(xiàn)在后端存儲 + 可視化的方法,如InfluxDB + grafana。

Heapster使用

這里主要介紹Heapster的API使用,及可獲取的Metrics。
參考資料:
API文檔: https://github.com/kubernetes...
Metrics: https://github.com/kubernetes...

API文檔及可用Metrics在官方文檔中都介紹的比較齊全。下面用幾條測試命令來解釋API使用:

# 獲取cluster支持的metrics
# curl -L http://:8082/api/v1/model/metrics

# 列出Nodes支持的metrics
# curl -L http://:8082/api/v1/model/nodes/metrics

# 查看對應(yīng)Pod的cpu使用率
# curl -L http://:8082/api/v1/model/namespaces//pods//metrics/cpu-usage
Heapster系統(tǒng)部署

我們采用Heapster以InfluxDB作為數(shù)據(jù)存儲后端,再配合Grafana的前端進(jìn)行數(shù)據(jù)可視化的系統(tǒng)監(jiān)控方案,進(jìn)行部署。

鏡像制作:

Heapster的版本:v0.19.0

沒有采用最新的Heapster版本,是因?yàn)槲覀兪褂玫腒ubernets版本為較舊的v1.0.3,較新的Heapster版本不兼容該K8S版本。

Heapster鏡像:
進(jìn)入heapster-0.19.0//deploy/docker,使用build.sh進(jìn)行鏡像制作。 該腳本會依賴go環(huán)境進(jìn)行heapster源碼編譯,所以需要提前安裝go環(huán)境(go和godep的安裝)。

InfluxDB和Grafana鏡像:
這兩個鏡像的Dockerfile分別在根目錄下的對應(yīng)文件中,只需查看Makefile進(jìn)行對應(yīng)的命令編譯制作鏡像即可。Dockerfile會依賴一些基礎(chǔ)鏡像,最好提前下載好。

容器的運(yùn)行

Heapster容器的運(yùn)行可以依賴Kubernetes進(jìn)行部署,也可以多帶帶使用docker命令進(jìn)行部署。

Kubernetes部署:
直接依賴heapster-0.19.0/deploy/kube-config/influxdb/目錄下的yaml文件,
使用kubectl create -f heapster-0.19.0/deploy/kube-config/influxdb/命令進(jìn)行部署。

我們沒有采用該方式,是考慮到如果K8S和監(jiān)控系統(tǒng)相互依賴,會導(dǎo)致K8S異常之后,存在監(jiān)控系統(tǒng)無法使用的隱患。
但是直接使用多帶帶的容器進(jìn)行部署,也需要考慮到監(jiān)控容器異常退出了,誰來維護(hù)重啟?
需要進(jìn)行權(quán)衡?
還需要注意一點(diǎn):Heapster會使用內(nèi)存進(jìn)行數(shù)據(jù)緩存,容易撐爆內(nèi)存,導(dǎo)致容器OOM

Docker命令部署:
使用docker命令進(jìn)行部署的話,需要傳入各種參數(shù),該參數(shù)可以參考kubernetes部署使用到的yaml文件。
具體命令如下:

InfluxDB:
docker run -p 8083:8083 -p 8086:8086 --net=host -v /data heapster_influxdb:canary
注:data是數(shù)據(jù)存儲目錄,需要考慮數(shù)據(jù)可持久化,并且能保證容器重啟不影響數(shù)據(jù)。

Grafana:
docker run -p 3000:3000 --net=host -e INFLUXDB_SERVICE_URL=http://:8086 -e GF_AUTH_BASIC_ENABLED="false" -e GF_AUTH_ANONYMOUS_ENABLED="true" -e GF_AUTH_ANONYMOUS_ORG_ROLE="Admin" -e GF_SERVER_ROOT_URL=/ -v /var heapster_grafana:canary

Heapster:
docker run -it -p 8082:8082 --net=host heapster:canary --source=kubernetes:http://:8080?inClusterConfig=false&useServiceAccount=false --sink=influxdb:http://:8086

Heapster命令參考相對較為重要,可以參考官方文檔,具體如下:

--source: 指定數(shù)據(jù)獲取源。這里我們指定kube-apiserver即可。
后綴參數(shù):
inClusterConfig:
kubeletPort: 指定kubelet的使用端口,默認(rèn)10255
kubeletHttps: 是否使用https去連接kubelets(默認(rèn):false)
apiVersion: 指定K8S的apiversion
insecure: 是否使用安全證書(默認(rèn):false)
auth: 安全認(rèn)證
useServiceAccount: 是否使用K8S的安全令牌

--sink: 指定后端數(shù)據(jù)存儲。這里指定influxdb數(shù)據(jù)庫。
后綴參數(shù):
user: InfluxDB用戶
pw: InfluxDB密碼
db: 數(shù)據(jù)庫名
secure: 安全連接到InfluxDB(默認(rèn):false)
withfields: 使用InfluxDB fields(默認(rèn):false)。可以參考Here

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/32532.html

相關(guān)文章

  • Kubernetes監(jiān)控Heapster源碼分析

    摘要:源碼版本簡介是下的一個監(jiān)控項(xiàng)目,用于進(jìn)行容器集群的監(jiān)控和性能分析。基本的功能及概念介紹可以回顧我之前的一篇文章監(jiān)控之介紹。在源碼分析之前我們先介紹的實(shí)現(xiàn)流程,由上圖可以看出會從各個上獲取相關(guān)的監(jiān)控信息,然后進(jìn)行匯總發(fā)送給后臺數(shù)據(jù)庫。 源碼版本 heapster version: release-1.2 簡介 Heapster是Kubernetes下的一個監(jiān)控項(xiàng)目,用于進(jìn)行容器集群的監(jiān)控...

    gclove 評論0 收藏0
  • Kubernetes v1.0特性解析

    摘要:問題是不是定義的一個的容器集群是只部署在同一個主機(jī)上楊樂到目前是,同一個里的是部署在同一臺主機(jī)的。問題這個圖里的是安裝在哪里的所有的客戶端以及會連接這個嘛楊樂可以任意地方,只要能訪問到集群,會作為的出口。 kubernetes1.0剛剛發(fā)布,開源社區(qū)400多位貢獻(xiàn)者一年的努力,多達(dá)14000多次的代碼提交,最終達(dá)到了之前預(yù)計的milestone, 并意味著這個開源容器編排系統(tǒng)可以正式在...

    HackerShell 評論0 收藏0
  • kubernetesheapster的部署案例

    摘要:舉個例子,我們在這種狀態(tài)下創(chuàng)建一個,然后執(zhí)行在中會發(fā)現(xiàn)有了字段,并且裝載了一個是的,這個就是我們這個下的。 注:本案例在我的部署環(huán)境下是可行的,但不保證在所有環(huán)境下都可行。我盡可能講得直白而詳細(xì),因?yàn)槲易约阂膊艅傞_始接觸,已經(jīng)做過深入研究的可以瀏覽,若有什么錯誤,煩請指正,感激不盡! 我的環(huán)境: K8S1.0.0+flannel+docker1.6的分布式集群。 這里先不贅述fla...

    Ali_ 評論0 收藏0
  • kubernetesheapster的部署案例

    摘要:舉個例子,我們在這種狀態(tài)下創(chuàng)建一個,然后執(zhí)行在中會發(fā)現(xiàn)有了字段,并且裝載了一個是的,這個就是我們這個下的。 注:本案例在我的部署環(huán)境下是可行的,但不保證在所有環(huán)境下都可行。我盡可能講得直白而詳細(xì),因?yàn)槲易约阂膊艅傞_始接觸,已經(jīng)做過深入研究的可以瀏覽,若有什么錯誤,煩請指正,感激不盡! 我的環(huán)境: K8S1.0.0+flannel+docker1.6的分布式集群。 這里先不贅述fla...

    Jinkey 評論0 收藏0
  • 容器監(jiān)控實(shí)踐—Metrics Server

    摘要:出現(xiàn)后,新的監(jiān)控架構(gòu)將變成上圖的樣子核心流程黑色部分這是正常工作所需要的核心度量,從等獲取度量數(shù)據(jù),再由提供給控制器等使用。本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見 概述 從 v1.8 開始,資源使用情況的監(jiān)控可以通過 Metrics API的形式獲取,具體的組件為Metrics Server,用來替換之前的heapster,heapster從1.11開始逐漸被廢棄。 Metrics-S...

    libxd 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<