Weave-Scope服務是一個用來監控docker容器、k8s等(包括宿主機)的資源使用情況的,從根本上來講,有些相似於Zabbix等監控服務,該服務式基於容器部署的,部署簡單,但功能強大,美中不足的可能就是其安全方面存在一些隱患吧!
1、部署Weave-Scopenginx
主機名 | IP | 服務 |
---|---|---|
docker01 | 192.168.171.151 | docker |
docker02 | 192.168.171.150 | docker |
注:主機名千萬別衝突
一、docker01服務器配置以下git
[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.171.151 192.168.171.150 # 指定須要監控的docker服務器IP地址 Scope probe started Weave Scope is listening at the following URL(s): * http://192.168.122.1:4040/ * http://192.168.171.151: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的配置基本相似)github
[root@docker02 ~]# curl -L git.io/scope -o /usr/local/bin/scope [root@docker02 ~]# chmod +x /usr/local/bin/scope [root@docker02 ~]# scope launch 192.168.171.150 192.168.171.151 Weave Scope is listening at the following URL(s): * http://192.168.122.1:4040/ * http://192.168.171.150: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服務器IP+端口
至此,我所瞭解的Weave-Scope服務基本功能就這些了,在文章開頭說到其存在安全隱患,是由於咱們若是在web頁面打開容器的的終端甚至docker服務器的終端,會發現,使用的是root用戶,而在生產環境中,最忌諱的莫過於就是使用root身份進行操做了吧?並且,若是僅僅是內網員工問題還不大,如果該服務器的4040端口,被黑了呢?因此,必定要作好防火牆的策略,,在沒有玩透這個服務以前,不建議輕易的在生產環境中使用。docker