真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)

這篇文章給大家介紹怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù),內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供福綿網(wǎng)站建設(shè)、福綿做網(wǎng)站、福綿網(wǎng)站設(shè)計、福綿網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、福綿企業(yè)網(wǎng)站模板建站服務(wù),10多年福綿做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

Kubernetes是容器編排和調(diào)度領(lǐng)域的王者,它擊敗了競爭對手Docker Swarm和Apache Mesos,開啟了閃耀的未來,微服務(wù)可以自修復(fù),可以自動擴展,可以跨zone,region甚至跨云供應(yīng)商進行federate。在這樣的云原生應(yīng)用程序的新紀元里,能夠以簡單的方式洞察服務(wù)之間是如何交互的變得日益重要——這可和大海撈針般大范圍尋找導(dǎo)致性能問題的某個特定的原因是不一樣的。
我們花了些時間研究Netsil并且將其解決方案打包成原生的Kubernetes Deployment。Netsil的應(yīng)用程序,Application Operations Center (AOC,應(yīng)用運維中心),幫助用戶觀察并且收集跨Kubernetes集群運行的微服務(wù)應(yīng)用程序的分析數(shù)據(jù)。服務(wù)本身是不可知的,因為它在網(wǎng)絡(luò)上才能決定其實際上如何運行。隨著時間的推移,并且實時地,它學(xué)習(xí)并且發(fā)現(xiàn)用戶的環(huán)境,幫助用戶逐漸搭建出SLA指標器,警報器等等。

首先你需要一個Kubernetes集群。我使用Stackpoint.io快速創(chuàng)建一個集群。在任意主流供應(yīng)商,比如AWS,GCE或者Azure上創(chuàng)建一個集群。需要確保為你的主節(jié)點選擇足夠大的配置——這是所有收集器會將數(shù)據(jù)發(fā)送這里,在網(wǎng)絡(luò),處理器和內(nèi)存上都可能消耗比較大。worker節(jié)點可以是任何配置,只要能夠滿足微服務(wù)應(yīng)用程序的需求。在我的示例里,使用了較大的實例配置,因為我會將多種服務(wù)都推送到這個環(huán)境里。

在我們的示例里,使用3個N1標準4的實例構(gòu)建了一個集群,這些實例通過HAProxy Ingress Controller暴露出去,它是自發(fā)現(xiàn)的,并且在部署它們時注冊了AOC服務(wù)。我們能夠使用集群的公開VIP訪問AOC儀表盤。

怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)

開始前

在僅僅運行了Kubernetes服務(wù)的空空的集群上再安裝一些服務(wù),這里使用Sock Shop,這是由Weaveworks開發(fā)的微服務(wù)參考程序。這樣有助于模擬一個真實的環(huán)境。Sock Shop使用了14個不同的服務(wù),這是很多企業(yè)的應(yīng)用程序會達到的復(fù)雜度?,F(xiàn)在將AOC添加到我們的環(huán)境里。

這里有關(guān)于Sock Shop的詳細信息。將其推送到環(huán)境里很簡單,僅僅需要在克隆了repo后運行如下命令即可:

kubectl apply -f deploy/kubernetes/manifests


然后檢查Pod是否已經(jīng)在線了:

$ kubectl get pods --namespace=default

NAME READY STATUS RESTARTS AGE
cart-3694116665-eccpp 1/1 Running 0 55m
cart-db-2305146297-u30g8 1/1 Running 0 55m
catalogue-11453786-lkslj 1/1 Running 0 55m
catalogue-db-393939662-bn7uc 1/1 Running 0 55m
front-end-3820830240–01e6t 1/1 Running 0 55m
orders-3498886496-z8jun 1/1 Running 0 55m
orders-db-1775353731-u7dmf 1/1 Running 0 55m
payment-3012088042-vbfhw 1/1 Running 0 55m
queue-master-936560853-ocmxi 1/1 Running 0 55m
rabbitmq-1897447621–2ij04 1/1 Running 0 55m
shipping-1232389217-b278a 1/1 Running 0 55m
spc-balancer-biilo 1/1 Running 0 1h
user-3090014237–196pv 1/1 Running 0 55m
user-db-1338754314-exyou 1/1 Running 0 55m

開始觀察吧

我們已經(jīng)有了運行著的Kubernetes 1.4集群,并且安裝了Sock Shop應(yīng)用程序,那么開始學(xué)習(xí)環(huán)境里是什么吧。當股票購買者遇到問題時我們是否能知道呢?

在部署AOC之前需要在所有主機上運行如下命令。該命令幫助避免一個已知的Flannel和kube-proxy的競爭問題。

iptables -t nat -I POSTROUTING -o flannel.1 -s host-private-ip -j MASQUERADE


使用每臺主機的私有IP替換host-private-ip。完成后,從GitHub克隆AOC Kubernetes repo:

git clone https://github.com/netsil/netsil-kube.git


并且使用如下單個命令將其推送到Kubernetes里:

kubectl apply -f netsil.yml


確保Pod和Service已經(jīng)在線了。AOC容器可能需要一些時間,但是收集器會被啟動并且隊列里的數(shù)據(jù)會被推送進來,因為它們已經(jīng)開始發(fā)現(xiàn)你的環(huán)境了。

$ kubectl get po,svc — namespace=netsil

NAME READY STATUS RESTARTS AGE
collector-7wpaa 1/1 Running 0 1h
collector-9o6k4 1/1 Running 0 1h
collector-rzekv 1/1 Running 0 4m
netsil-vjf5f 1/1 Running 0 1h
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
netsil 10.200.126.143  443/TCP,2001/TCP,2003/TCP,2003/UDP 1h


AOC拓撲有兩個主要組件。第一個是作為帶有單個副本的Replication Controller的一部分運行的Pod。它運行AOC儀表盤和數(shù)據(jù)收集的平臺。第二個組件是AOC收集器的DaemonSet。它告訴Kubernetes在環(huán)境的所有節(jié)點上運行一個帶有收集器容器的Pod。這些收集器配置為向AOC Pod發(fā)送信息。

生成流量

我們將使用Sock Shop的更多工具來模擬網(wǎng)站上的購物行為。這讓我們能看到AOC是如何學(xué)習(xí)流量模式以及我們的通用拓撲的。

你需要知道Sock Shop監(jiān)聽以及運行的前端IP地址和端口:

docker run weaveworksdemos/load-test -h $frontend-ip[:$port] -r 100 -c 2


隨著load-test的運行,可以開始看到AOC隨著數(shù)據(jù)的獲得被點亮了:

怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)

因為AOC作為DaemonSet部署,如果任意Pod銷毀了并且在其他地方重新調(diào)度,AOC能夠繼續(xù)觀測到拓撲,隨著Kubernetes的變化而變化。

怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)

我很喜歡AOC的一個原因是部署通過服務(wù)來組織,并且我能夠?qū)崟r地觀察到環(huán)境,并且開始深入不同的度量,為了那些可能影響到客戶的事情搭建服務(wù)級別的警報。因此,當環(huán)境像下圖一樣變紅時,我能夠獲得警報,知道某個服務(wù)處在緊急狀態(tài),比如Sock Shop里的信用卡和地址端點。

怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)

怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)

我甚至還可以深入儀表盤,知道承受最大壓力的Pod和容器是什么。在本示例里,網(wǎng)絡(luò)壓力最大的容器是flannel Pod。這讓我們能夠了解最繁忙的服務(wù)是哪個,能夠幫助我們重新思考配置或者Kubernetes里分發(fā)部署的方式。

Netsil的AOC是非常棒的工具,可以幫助用戶實時觀察環(huán)境,隨著使用模式的變化而更新。用戶可以挖掘歷史數(shù)據(jù)并且添加警報。應(yīng)用程序隨著添加更多的節(jié)點會自動擴展,新節(jié)點上線后就會在上面啟動一個收集器,這樣用戶能夠得到節(jié)點從上線到銷毀的所有數(shù)據(jù)。

關(guān)于怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)頁標題:怎么使用Netsil監(jiān)控Kubernetes上的微服務(wù)
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/ihohcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部