作者
,译者在最近举行的KubeCon大会上,谷歌宣布了用于Kubernetes的Stackdriver的beta版。关键特性包括监控的中心可视性,Kubernetes编配容器的度量指标和日志可以与已有仪表盘中的度量指标一起展示,以及更好的Prometheus支持。
Stackdriver是Google Cloud Platform的一款监控产品,可以从服务器和应用程序收集度量指标和日志。一些度量指标已经内置在平台中,而另一些指标则需要在被监控的服务器上安装代理。代理支持自定义,可通过API来推送自定义指标。Stackdriver还可以构建自定义的仪表盘,选择想要查看的指标,并通过标签进行筛选。只要这个指标存在于Stackdriver系统中,就可以查看它。Kubernetes监控使用了同样的机制。
用于Kubernetes的Stackdriver监控包括日志收集、度量指标收集和事件。来自个体容器的日志,系统组件(如docker和kublelet)的日志,以及系统事件(如pod调度),这些东西都被运行在Kubernetes节点上的代理推送到Stackdriver。在Google Cloud上运行的Kubernetes集群默认启用了日志收集。监控也使用了相同的机制。收集到的监控数据可以与来自系统其他部分的度量指标进行比较查看。Stackdriver的度量指标按照资源类型进行分组,例如VM实例和负载均衡器,并且新特性引入了新的资源类型,如Kubernetes节点和pod。监控可以利用现有的Stackdriver组件,比如警报和事件。
有一些特性在声明发布之前就已存在,比如容器的stdout和stderr被发送到Stackdriver日志组件,系统度量指标被推送到Stackdriver监控组件。然而,也存在一些问题——例如,默认的日志解析模式无法检测到多行事件,如堆栈信息。没有在Google Cloud上运行的Kubernetes集群可以使用其他的监控选项,比如Heapster和Prometheus。
关于与Prometheus的集成问题,Google Cloud产品经理J D Velasquez表示:
我们将会扩展与Prometheus的集成,确保在Kubernetes监控可用之前,边车输出组件所需的所有钩子都准备就绪。
边车容器其实是一种辅助容器,与另一个容器运行在同一个pod中。在配置Prometheus和GKE的文档中提到,每个Kubernetes pod需要一个单独的服务,不过用来运行边车容器的代码已经可以在Github上找到,不过它限制了集群只能运行在Google Compute Engine(GCE)或GKE上。
Velasquez补充道,“Stackdriver Kubernetes监控beta版现在可以在Kubernetes Engine alpha集群中进行测试,一旦Kubernetes 1.10发布,就可以在生产集群中使用。”Stackdriver的数据可以导出到BigQuery、Google Cloud Storage和Google PubSub进行后续分析。
查看英文原文: Google’s Stackdriver Monitoring Announces Better Support for Kubernetes Deployments
转自 http://www.infoq.com/cn/news/2018/05/stackdriver-kubernetes