
Weave Scope 的运用
Weave Scope 的介绍
简介
Weave Scope 用于监控、可视化和管理 Docker 以及 Kubernetes。
Weave Scope 这个项目会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用。
Weave Scope 的功能特性
- 拓扑映射
- Scope 中的视图
- 图形或表格模式
- 灵活的过滤
- 强大的搜索
- 实时的应用和容器指标
- 使用插件 API 生成自定义指标
Weave Scope 对 Docker 的运用
环境配置
开通安全组端口 4040
本地安装 Weave Scope
安装与下载
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
Weave Scope作为容器运行,可通过HTTP访问。要启动Scope,请执行
scope launch
命令的主机上。
启动成功(但我们发现我们这里没有其他容器)
启动Scope容器后,可以在端口4040上访问UI 。使用下面的链接可视化Docker主机。
部署应用程序
首先,启动两个链接的容器以演示网站/数据库架构。(这里使用的 Katacode 提供的包)
docker run -d --name redis redis
docker run -d --link redis:redis katacoda/redis-node-docker-example
查看链路情况
在用户界面中,您可以查看链接并浏览每个容器节点的详细信息。其中包括CPU使用率,TCP连接和内存负载。
该UI还允许您在容器内附加并启动Shell提示符。
通过单击节点(作用域中的六边形),您可以找到有关容器的更多信息。
Weave Scope 对 k8s 的运用
环境配置
- Centos 7.x 单master集群节点
Weave Scope部署为在Kubernetes集群上运行的Pod。从这里可以直观地看到容器的运行情况以及不同容器之间的流量。
您可以通过以下方式查看用于部署Weave的配置
curl -L https://cloud.weave.works/launch/k8s/weavescope.yaml
配置将启动复制控制器和服务。它还部署了一个DaemonSet。DaemonSet会自动将Pod部署到新主机上,然后将新主机部署到群集中。结果是您可以可视化整个网络,而无需更改它,而无需管理Scope部署或将其部署到这些新主机上。
在K8S上安装
要部署Weave Scope,请将yaml与kubectl结合使用。当前,它需要将validate设置为false;这将在Kubernetes的未来版本中修复。
kubectl create -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml'
由于部署后命名空间为weave,我们可以通过使用以下命令检查Pod的状态,等待其部署
kubectl get pods -n weave
默认情况下,部署后,只能从群集内部对其进行访问。您需要创建一个公开端口的服务。在下面的命令中,我们还通过external-ip参数将服务公开给外界。不建议将服务公开到公共IP上。相反,它应该需要VPN连接才能访问。
pod=$(kubectl get pod -n weave --selector=name=weave-scope-app -o jsonpath={.items..metadata.name})
kubectl expose pod $pod -n weave --external-ip="your_server_ip" --port=4040 --target-port=4040
通过Weave查看可视化集群
查看服务情况
kubectl get service -n weave
借助Scope和示例应用程序,我们可以可视化集群。
kubectl proxy
访问我们拼接后的链接
http://localhost:8001/api/v1/namespaces/weave/services/weave-scope-app-65df878cb5-m9xc5/proxy
如何拼接大家可以参考这篇文章:
点击这里
展示成果
关于细节部分
关于UI部分
PROCESS
点击scope-probe后会显示该进程的详细信息 |
---|
状态(CPU,内存,打开文件) |
INFO(PID、COMMAND、PARENTPID、THREADS) |
INBOUND |
OUTBOUND |
CONTAINERS
点击后显示cadvisor容器的详细信息 |
---|
状态(CPU,内存) |
信息(图像,命令,状态,网络,正常运行时间,重启,IPS,端口,创建,ID) |
INBOUND |
OUTBOUND |
状态 |
环境变量(路径) |
DOCKER标签(维护者,作品编织角色) |
图像(ID,名称,尺寸,虚拟尺寸) |
更多细节请参考:https://www.jianshu.com/p/1155b97bfdd8
结束
随着应用程序变得越来越复杂,Scope使您能够查看和管理它们的结构和性能。
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

