分类: 云计算
2018-06-01 07:02:23
创建 Kubernetes 集群并部署容器化应用只是第一步。一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求。Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持。
本章重点讨论 Kubernetes 常用的监控方案,下一章会讨论日志管理。
Weave Scope 是 Docker 和 Kubernetes 可视化监控工具。Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。
安装 Scope 的方法很简单,执行如下命令:
kubectl apply --namespace kube-system -f "(kubectl version | base64 | tr -d '\n')"
部署成功后,有如下相关组件:
DaemonSet weave-scope-agent,集群每个节点上都会运行的 scope agent 程序,负责收集数据。
Deployment weave-scope-app,scope 应用,从 agent 获取数据,通过 Web UI 展示并与用户交互。
Service weave-scope-app,默认是 ClusterIP 类型,为了方便已通过 kubectl edit 修改为 NodePort。
浏览器访问 ,Scope 默认显示当前所有的 Controller(Deployment、DaemonSet 等)。
Scope 会自动构建应用和集群的逻辑拓扑。比如点击顶部 PODS,会显示所有 Pod 以及 Pod 之间的依赖关系。
点击 HOSTS,会显示各个节点之间的关系。
可以在 Scope 中查看资源的 CPU 和内存使用情况。
支持的资源有 Host、Pod 和 Container。
Scope 还提供了便捷的在线操作功能,比如选中某个 Host,点击 >_ 按钮可以直接在浏览器中打开节点的命令行终端:
点击 Deployment 的 + 可以执行 Scale Up 操作:
可以查看 Pod 的日志:
可以 attach、restart、stop 容器,以及直接在 Scope 中排查问题:
Scope 支持关键字搜索和定位资源。
还可以进行条件搜索,比如查找和定位 MEMORY > 100M 的 Pod。
Weave Scope 界面极其友好,操作简洁流畅,更多功能留给大家去探索。
下一节我们学习 Heapster。
1.《每天5分钟玩转Kubernetes》
2.《每天5分钟玩转Docker容器技术》
3.《每天5分钟玩转OpenStack》