管理Kubernetes集群时需要关注的关键指标
历经重重考验,系统在生产环境中成功落地之后,可能依然面临系统无法适用大规模应用的挑战,因此我们需要对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集群时需要关注的关键指标
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kubernetes的离线部署(Ubuntu)方法试验
为了在内网上使用Kubernetes,有时候因为网络原因,需要离线进行部署。 裸机安装 我这里使用Ubuntu进行试验,需要解决几个问题: Ubuntu的离线安装。下载,安装时选择不联网可以正常完成,没有问题。 Ubuntu的包更新,应用系统包必须更新到较新版本,否则有的软件安装不上。 这个可以通过建立本地内网的Archive镜像来实现。 这个其实嘛,最好是全部抓源码自己编译,搞个分发版。不过难度和资源都比较大,还是吃现成的吧。 先镜像下来整个最新的软件包。参考: 创建Ubuntu安装包服务镜像的脚本,https://my.oschina.net/u/2306127/blog/1622218 建立Ubuntu apt的本地Mirror,https://my.oschina.net/u/2306127/blog/541895 使用容器技术搭建apt镜像站,https://my.oschina.net/u/2306127/blog/1626991 使用IPFS搭建Ubuntu apt镜像站点,https://my.oschina.net/u/2306127/blog/1626254 再把a...
- 下一篇
Kubernetes持续交付-Jenkins X的Helm部署
本文翻译根据 https://github.com/jenkins-x/jenkins-x-platform 在Kubernetes上创建CI/CD流水线,https://my.oschina.net/u/2306127/blog/1819650。 Jenkins X 是一个集成化的 CI / CD 平台,可用于部署在Kubernetes集群或云计算中心。支持在云计算环境下简单地开发和部署应用。本项目是在Kubernetes上的安装支持工具集。 本工具集中包含: Jenkins - 定制好的流水线和运行环境,完全整合CI/CD解决方案。 Nexus 用于Maven支持的组件仓库 (pluggable so we can switch with Artifactory) Chartmuseum Helm Chart 仓库 (Helm是 Kubernetes 上的包管理器,用于Kubernetes上的应用安装和更新(Kubernetes应用往往包含多个Docker运行实例的部署)。 Monocular 搜索和发现Helm Charts的Web UI。 通过Helm可以快速安装Jenkins...
相关文章
文章评论
共有0条评论来说两句吧...