Docker和k8s的故障排除和监控利器 Weave-Scope服务
Weave-Scope服务是一个用来监控docker容器、k8s等(包括宿主机)的资源使用状况的,从根本上来说,有些类似于Zabbix等监控服务,该服务式基于容器部署的,部署简单,但功能强大,美中不足的可能就是其安全方面存在一些隐患吧! 一、部署Weave-Scope
主机名 |
IP |
服务 |
---|---|---|
docker01 |
192.168.171.151 |
docker |
docker02 |
192.168.171.150 |
docker |
注:主机名千万别冲突 1、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.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
2、docker02服务器配置如下(与docker01的配置基本类似)
[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地址必须在最前面。
至此,其实docker01及docker02已经形成了一个“群集”,我们无论访问哪台docker服务器的4040端口,都可以看到一样的页面。 3、客户端访问docker服务器IP+端口
至此,我所了解的Weave-Scope服务基本功能就这些了,在文章开头说到其存在安全隐患,是因为我们如果在web页面打开容器的的终端甚至docker服务器的终端,会发现,使用的是root用户,而在生产环境中,最忌讳的莫过于就是使用root身份进行操作了吧?而且,如果仅仅是内网员工问题还不大,若是该服务器的4040端口,被黑了呢?所以,一定要做好防火墙的策略,,在没有玩透这个服务之前,不建议轻易的在生产环境中使用。
- Win平台Web访问白名单设置脚本(IP安全性原则)
- NYOJ-------表达式求值
- HDUOJ----1181 变形课
- 正确的Win主机网站伪静态设置方法
- HDUOJ----(1084)What Is Your Grade?
- HDUOJ------(1272)小希的迷宫
- HDUOJ ---1269迷宫城堡
- HDUOJ---1213How Many Tables
- hduoj----(1033)Edge
- HDUOJ----(1031)Design T-Shirt
- HDUOJ----(1030)Delta-wave
- 身份切换脚本,免登入切换权限的利器
- HDUOJ---What Are You Talking About
- HDUOJ-----(1251)统计难题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法