部署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

相关文章
相关标签/搜索