阅读时间:5分钟
Heapster死了!
监控的节点和豆荚Kubernetes集群不是一件容易的事。有多个这样的工具和方法,与一切美丽,最佳实践和常用的方法变化如此之快,几乎是不可能的。
以Heapster为例,一个超级流行的插件从豆荚和收集度量标准的首选工具,直到一年前,这是现在弃用。有很多好的理由中止Heapster,但它并不方便我们DevOps跟踪,不断反思工具。
幸运的是,似乎我们要得到一些稳定的资源指标API。从1.8 Kubernetes开始,资源使用指标,如容器的CPU和内存使用,可在Kubernetes通过度量API。这些指标可以被度量服务器访问或通过第三方工具如普罗米修斯。用户可以使用命令获取数据,如“kubectl最高”,但更重要的是,许多服务可以使用这些数据来做出明智的决策,HPA(水平舱Auto-scaler)为例。
收集k8指标
在这个博客中,我们将设置标准服务器,从我们收集CPU指标豆荚和部署HPA规模基于这些指标。在下面,我们将使用Spotinst海洋自动启动最好的实例来适应的需要等待pod基于其资源需求。
与Spotinst海洋,您可以创建一个Kubernetes集群与多个机器类型和大小的盒子。海洋用俄罗斯方块缩放和装箱算法是由容器资源需求驱动的,而不是节点利用率,从而使集群高度利用。最重要的是,海洋保持动态集群的“空间”,确保产能可供新工作负载在任何时间。这样你不需要等待一个新实例启动时创建一个新的部署。
Kubernetes指标集合逐步指南
(本指南假定你有Kubernetes集群1.8 +,并访问它通过kubectl)
让我们开始吧!
首先,安装Kubernetes度量服务器:
克隆Metrics-servergit存储库:
git克隆https://github.com/kubernetes-incubator/metrics-server.git
部署度量服务器:
kubectl应用- f metrics-server /部署/ 1.8 + /

好!
现在让我们做一些充分利用这些指标。
首先,让我们来部署一个简单的Apache(基于容器https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/)
= k8s.gcr kubectl运行php-apache——形象。io / hpa-example——请求= cpu = = 80 200——暴露——港口
现在让我们把HPA到位。在下面的示例中,HPA在我们吊舱将保持50%的CPU, 1 - 10之间,将改变豆荚:
kubectl自动定量部署php-apache——cpu百分比= 50分钟= 1——max = 10
在下一步中,让我们产生一些负载Apache,为了看到HPA在行动。此外,我们将看到海洋扩大基础设施建设作为当前节点接近他们的限制:
我们将使用负载生成器…嗯,生成一些负载。
打开另外一个终端窗口并运行:
kubectl运行——我——tty负载生成器= busybox /bin/sh形象
回车。
而真正的;做wget - q - o - http://php-apache.default.svc.cluster.local;完成
几分钟后我们将通知HPA踢:

我们可以看到,HPA决定推出4额外的豆荚,成功地将集群。
在容器上的负载,一个额外的4舱发射,而是因为没有足够的资源在任何现有的节点满足吊舱的需求,他们进入挂起状态。雷竞技rabet官网

不需要担心,海洋会救我们!
最大可用性与Spotinst海洋
后立即认识到需要额外的资源,Spotinst将评估情况和发射任务的最合适的实例:雷竞技rabet官网
在这个博客中,我们安装Kubernetes Metrics-server, metrics-api收集了一些指标,把它与HPA一些良好的使用。
此外,我们证明了混合智能的惊人潜力pod比例由HPA和智能基础设施决策由Spotinst海洋。
如何监控你的豆荚?让我们知道在Twitter @Spotinst!


