部署Weave-Scope服務——Docker和k8s的故障排除和監控利器

Weave-Scope服務是一個用來監控docker容器、k8s等(包括宿主機)的資源使用情況的,從根本上來講,有些相似於Zabbix等監控服務,該服務式基於容器部署的,部署簡單,但功能強大,美中不足的可能就是其安全方面存在一些隱患吧!(關於其安全問題,待我驗證後,會解釋的)關於其詳細的介紹,可移步至Weave-Scope官方文檔,以便詳細的瞭解Weave-Scope服務。我將在這篇博文寫下如何部署該服務。nginx

1、部署Weave-Scope

環境準備以下:git

  • Centos 7.5服務器兩臺,均運行docker服務(docker服務的安裝可參考文檔:Docker的安裝詳細配置
  • 服務器的IP地址及主機名分別爲:docker01--192.168.20.6和docker02--192.168.20.7(要監控的主機名千萬不要衝突,避免意外)。

一、docker01服務器配置以下:

[root@docker01 ~]# wget https://github.com/weaveworks/scope/archive/v1.11.0.tar.gz
#下載scope命令
[root@docker01 ~]# tar zxf v1.11.0.tar.gz     #解壓下載的源碼包
[root@docker01 ~]# cd scope-1.11.0/      #進入解壓後的目錄
[root@docker01 scope-1.11.0]# mv scope /usr/local/bin/    #將該命令移到指定目錄
#至此的全部操做,其實均可以經過官方給出的一條命令「curl -L git.io/scope -o /usr/local/bin/scope」來代替
[root@docker01 scope-1.11.0]# chmod +x /usr/local/bin/scope    #賦予該命令執行權限
[root@docker01 ~]# scope launch 192.168.20.6 192.168.20.7   #指定須要監控的docker服務器IP地址
              ..............#省略部份內容
* http://192.168.122.1:4040/
  * http://192.168.20.6:4040/
#執行上述命令後,會返回上面兩個URL,咱們須要的是訪問本機IP+4040端口
#執行上述命令後,docker服務會自動去下載weaveworks/scope:latest鏡像,而且運行它
#注意,上述命令後面跟的IP地址,依次爲本機IP及第二臺docker服務器IP地址
#爲了避免必要的麻煩,本機IP地址必須在最前面。若須要監控多臺docker服務器,只需將IP寫在後面便可。
#接下來運行兩個nginx容器,nginx01和nginx02,以便驗證上述配置
[root@docker01 ~]# docker run -d --name nginx01 nginx    
[root@docker01 ~]# docker run -d --name nginx02 nginx

二、docker02服務器配置以下(與docker01的配置基本相似)

相關解釋能夠參考docker01服務器的註釋github

[root@docker02 ~]# curl -L git.io/scope -o /usr/local/bin/scope
[root@docker02 scope-1.11.0]# chmod +x /usr/local/bin/scope
[root@docker02 ~]# scope launch 192.168.20.7 192.168.20.6
#運行上述命令,一樣須注意:本機的IP地址必須寫在前面
              ..............#省略部份內容
 * http://192.168.122.1:4040/
  * http://192.168.20.7:4040/
#一樣運行兩個nginx容器:nginx03和nginx04,用於測試
[root@docker02 ~]# docker run -d --name nginx03 nginx
[root@docker02 ~]# docker run -d --name nginx04 nginx

至此,scope服務就部署完成了,只不過是在每臺服務器上基於weaveworks/scope鏡像運行了一個容器而已(運行nginx容易非必須的,只是爲了測試而已),是否以爲過於簡單呢?若是你認爲它的功能和部署同樣簡單、單一,那就錯了,我的感受,scope的功能仍是很強大的,上述配置只是監控了兩臺docker服務器,若是須要監控多臺,只須要將上述的配置在其餘docker服務器上配置一下便可。只須要每臺docker服務器運行「scope launch」命令時,本機IP地址必須在最前面。web

至此,其實docker01及docker02已經造成了一個「羣集」,咱們不管訪問哪臺docker服務器的4040端口,均可以看到同樣的頁面。docker

三、客戶端訪問docker服務器IP+端口

部署Weave-Scope服務——Docker和k8s的故障排除和監控利器

部署Weave-Scope服務——Docker和k8s的故障排除和監控利器

部署Weave-Scope服務——Docker和k8s的故障排除和監控利器

至此,我所瞭解的Weave-Scope服務基本功能就這些了,在文章開頭說到其存在安全隱患,是由於咱們若是在web頁面打開容器的的終端甚至docker服務器的終端,會發現,使用的是root用戶,而在生產環境中,最忌諱的莫過於就是使用root身份進行操做了吧?並且,若是僅僅是內網員工問題還不大,如果該服務器的4040端口,被黑了呢?因此,必定要作好防火牆的策略,,在沒有玩透這個服務以前,不建議輕易的在生產環境中使用。安全

總言而之,沒有百分百的安全,關於這個的權限問題,待我驗證個人想法後,再來更新這篇博文。服務器

———————— 本文至此結束,感謝閱讀 ————————curl

相關文章
相關標籤/搜索