前沿
Kubernetes 集群并部署容器化应用只是第一步。一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求。Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持。
weave scope 介绍
Weave Scope是Docker和Kubernetes的可视化和监控工具。它提供了一个自上而下的应用程序以及整个基础架构视图,并允许您在部署到云提供商时实时诊断分布式容器化应用程序的任何问题。
功能介绍
- pod拓扑映射
- 图形或表格模式
- 灵活过滤
- 强大的搜索功能
- 实时应用和容器指标
- 排除故障并管理容器
- 使用Plugin API生成自定义指标
安装
在 K8s 集群中安装 Scope 的方法很简单,使用下面的命令
1 | # kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')" |
检查
1 | # kubectl get pod,svc,deploy -n weave |
创建weave-scope ingress
1 | # cat weave-scope.yaml |
在浏览输入weave-scope.xxlaila.cn
即可访问
拓扑结构
Scope 会自动构建应用和集群的逻辑拓扑。比如点击顶部 Pods,会显示所有 Pod 以及 Pod 之间的依赖关系
点击 Hosts,会显示各个节点之间的关系,可以在 Scope 中查看资源的 CPU 和内存使用情况。
在线操作
Scope 还提供了便捷的在线操作功能,比如选中某个 Host,点击 >_按钮可以直接在浏览器中打开节点的命令行终端:
点击 Deployment 的 + 可以执行新增一个pod实列
查看pod的日志
attach、restart、stop 容器,以及直接在 Scope 中排查问题
更多功呢个请参考官方,或者实操
错误: 如果系统内核版本低于4.4。weave-scope pod 就会提示错误,但是适用了一下不影响正常使用,不知道后期是否会影响。错误如下:
1 | <probe> WARN: 2019/11/28 08:44:07.263039 Error setting up the eBPF tracker, falling back to proc scanning: kernel not supported: got kernel 3.10.0-693.el7.x86_64 but need kernel >=4.4 |