Weave-Scope服務是一個用來監控docker容器、k8s等(包括宿主機)的資源使用情況的,從根本上來講,有些相似於Zabbix等監控服務,該服務式基於容器部署的,部署簡單,但功能強大,美中不足的可能就是其安全方面存在一些隱患吧!(關於其安全問題,待我驗證後,會解釋的)關於其詳細的介紹,可移步至Weave-Scope官方文檔,以便詳細的瞭解Weave-Scope服務。我將在這篇博文寫下如何部署該服務。nginx
環境準備以下:git
- Centos 7.5服務器兩臺,均運行docker服務(docker服務的安裝可參考文檔:Docker的安裝詳細配置)
- 服務器的IP地址及主機名分別爲:docker01--192.168.20.6和docker02--192.168.20.7(要監控的主機名千萬不要衝突,避免意外)。
[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
相關解釋能夠參考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
至此,我所瞭解的Weave-Scope服務基本功能就這些了,在文章開頭說到其存在安全隱患,是由於咱們若是在web頁面打開容器的的終端甚至docker服務器的終端,會發現,使用的是root用戶,而在生產環境中,最忌諱的莫過於就是使用root身份進行操做了吧?並且,若是僅僅是內網員工問題還不大,如果該服務器的4040端口,被黑了呢?因此,必定要作好防火牆的策略,,在沒有玩透這個服務以前,不建議輕易的在生產環境中使用。安全
總言而之,沒有百分百的安全,關於這個的權限問題,待我驗證個人想法後,再來更新這篇博文。服務器
———————— 本文至此結束,感謝閱讀 ————————curl