管理Kubernetes集群时需要关注的关键指标

简介: 历经重重考验,系统在生产环境中成功落地之后,可能依然面临系统无法适用大规模应用的挑战,因此我们需要对K8s集群的关键指标进行追踪。Rancher 资深解决方案架构师将在本文中介绍需要追踪的内容及其原因,让您在面对问题时有所准备。

历经重重考验,系统在生产环境中成功落地之后,可能依然面临系统无法适用大规模应用的挑战,因此我们需要对K8s集群的关键指标进行追踪。Rancher 资深解决方案架构师将在本文中介绍需要追踪的内容及其原因,让您在面对问题时有所准备。



有时我们在面对分布式系统工程时常感到痛苦。构建分布式系统真的很难,无论是哪个行业的企业,都希望我们在解决他们的业务问题的同时,还能考虑潜在的大规模业务问题。与大规模部署随之而来的一大挑战,是用户还要考虑创建新特性和避免回档。就算能够非常出色地实现这些目标,用户仍然会担忧很多其他问题,例如信息是否安全、是否遵从法规,以及企业的这一投资是否真的有足够价值。

如果上述描述和你的团队现在的境况很像,而且你们的系统已经在生产环境中运行了,那么恭喜你,你已经通过了第一轮考验。

无论你多么努力建立了一个出色的系统,有时意想不到的事还是会发生。有很多这样的先例。一个杰出的产品,或者是病毒式应用,可能会带来前所未有的成功,而成功之后你就会发现,原先你以为的、你的系统面对大规模应用时的处理方式,好像不适用了。

Pokemon Go云数据存储的每秒处理数(预期vs实际)

这一情况是可能发生的,而你也应该为此做好准备。这也是本系列文章所要提到的。在本系列教程中我们将向你介绍需要追踪的内容,为什么追踪它们,以及面对可能的根本原因时需要做的缓解处理。

我们会介绍每一种指标、追踪它的方法以及你可以对应采取的措施。我们将使用不同的工具收集和分析这些数据。教程不会涉及到太多细节的内容,但会提供拓展链接,让大家可以获取更多信息。话不多说,让我们开始吧。

Metrics:用于监控,不止监控

这一系列文章主要关注的是如何监控和运行Kubernetes集群。使用日志是一个不错的方法,但在大规模部署的情况下,日志在事后分析工作中可能有很大作用,却难以在过程之中不断警告运维人员那些正在出现的越来越严重的问题。Metrics Server可以监控容器的CPU和内存使用情况,以及容器所运行在的节点的情况。

这让运维人员能够设置并监控KPI(关键绩效指标)。这些运维定义层面的东西可以为运维团队提供一种确定应用程序或者节点何时不健康的方法。同时也给他们提供了查看问题所需要的所有数据。

此外,Metrics Server

(https://kubernetes.io/docs/tasks/debug-application-cluster/core-metrics-pipeline/)允许Kubernetes启用Horizontal Pod Autoscaling

(https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)。该功能可以让Kubernetes在扩展pod实例数量时,是基于Kubernetes Metrics API报告的指标以及这些指标反映出来的API对象数量来进行扩展的。

在Rancher Kubernetes集群中设置Metrics Server

从Kubernetes 1.8版本开始,Metrics Server以Kubernetes Monitoring Architecture

(https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/monitoring_architecture.md) 插件的方式成为了拉取容器指标的标准。在该标准出现之前,默认使用的是Heapster,现在已经弃用,而开始支持Metrics Server。

很快,Metrics Server就将可以在Rancher 2.0配置的Kubernetes集群上运行了。您可以在Rancher的Github repo中查看Rancher 2.0最新版本的发布动态,一起期待:https://github.com/rancher/rancher/releases。

如果想让Metric Server工作,你必须通过Rancher Server API修改集群的定义。这样可以允许Rancher服务器修改Kubelet以及KubeAPI参数,让它们包含Metrics Server正常运行所需要的标记。

有关如何在Rancher Provisioned集群上执行这一操作,以及修改其他hyperkube-based集群的说明,可以参考github的这一链接:https://github.com/JasonvanBrackel/metrics-server-on-rancher-2.0.2。

本文转自开源中国-管理Kubernetes集群时需要关注的关键指标

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
容器 Kubernetes 调度
如何有效可靠地管理大规模 Kubernetes 集群?
Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门槛,但运维和管理一个生产级的高可用 Kubernetes 集群仍十分困难。本文将分享蚂蚁金服是如何有效可靠地管理大规模 Kubernetes 集群的,并会详细介绍集群管理系统核心组件的设计。
1200 0
如何有效可靠地管理大规模 Kubernetes 集群?
|
运维 监控 Kubernetes
管理Kubernetes集群时需要关注的关键指标
历经重重考验,系统在生产环境中成功落地之后,可能依然面临系统无法适用大规模应用的挑战,因此我们需要对K8s集群的关键指标进行追踪。Rancher 资深解决方案架构师将在本文中介绍需要追踪的内容及其原因,让您在面对问题时有所准备。
1128 0
|
存储 Kubernetes API
在K8S集群中,如何正确选择工作节点资源大小? 2
在K8S集群中,如何正确选择工作节点资源大小?
|
Kubernetes Serverless 异构计算
基于ACK One注册集群实现IDC中K8s集群以Serverless方式使用云上CPU/GPU资源
在前一篇文章《基于ACK One注册集群实现IDC中K8s集群添加云上CPU/GPU节点》中,我们介绍了如何为IDC中K8s集群添加云上节点,应对业务流量的增长,通过多级弹性调度,灵活使用云上资源,并通过自动弹性伸缩,提高使用率,降低云上成本。这种直接添加节点的方式,适合需要自定义配置节点(runtime,kubelet,NVIDIA等),需要特定ECS实例规格等场景。同时,这种方式意味您需要自行
基于ACK One注册集群实现IDC中K8s集群以Serverless方式使用云上CPU/GPU资源
|
Kubernetes API 调度
在K8S集群中,如何正确选择工作节点资源大小?1
在K8S集群中,如何正确选择工作节点资源大小?
|
弹性计算 运维 Kubernetes
本地 IDC 中的 K8s 集群如何以 Serverless 方式使用云上计算资源
本地 IDC 中的 K8s 集群如何以 Serverless 方式使用云上计算资源
|
Kubernetes Ubuntu Shell
shell 脚本实现 k8s 集群环境下指定 ns 资源的 yaml 文件备份
在基于 `k8s` 平台的容器化部署环境中,有时候需要快速的实现部署文件的迁移备份,当 `k8s` 平台部署一个 `app` 时,都会相应的产生一堆 `yaml` 文件,如果 `yaml` 文件数量较少,我们可以人工手动的方式进行拷贝,但是当 `yaml` 文件数量多,并且该 `k8s` 平台部署了多个 `app` 时,如果在采用...
579 0
shell 脚本实现 k8s 集群环境下指定 ns 资源的 yaml 文件备份
|
Prometheus Kubernetes 监控
k8s集群监控(2)-部署kube-state-metrics对资源对象监控
kube-state-metrics对k8s集群中的资源对象监控,包括 pod 、 deployment, service
k8s集群监控(2)-部署kube-state-metrics对资源对象监控
|
Kubernetes 网络协议 前端开发
使用 C# 开发 Kubernetes 组件,获取集群资源信息
使用 C# 开发 Kubernetes 组件,获取集群资源信息
282 0
使用 C# 开发 Kubernetes 组件,获取集群资源信息
|
存储 负载均衡 NoSQL
ACK集群神龙资源错峰利用
对ACK集群中的神龙资源按需移出和重加入,配合神龙镜像重置功能错峰利用资源。
ACK集群神龙资源错峰利用