Kubernetes监控服务heapster不断重启

时间:2017-09-08 07:23:02

标签: kubernetes azure-container-service heapster

我使用azure的容器引擎运行kubernetes集群。我对其中一个kubernetes服务有问题,这个服务是进行资源监控的<div id="content"></div> 。该吊舱每分钟或类似的东西重新启动。我已尝试删除heapster部署,replicaset和pod,并重新创建部署。它会立即恢复相同的行为。

当我用heapster标签查看资源时,它看起来有点奇怪:

heapster

由于某种原因,有两个副本集。即使我删除了所有资源并重新部署它们,名为$ kubectl get deploy,rs,po -l k8s-app=heapster --namespace=kube-system NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deploy/heapster 1 1 1 1 17h NAME DESIRED CURRENT READY AGE rs/heapster-2708163903 1 1 1 17h rs/heapster-867061013 0 0 0 17h NAME READY STATUS RESTARTS AGE po/heapster-2708163903-vvs1d 2/2 Running 0 0s 的那个仍然会重新出现。上面还显示了pod刚刚启动,这是它不断创建的问题然后它运行了几秒钟并创建了一个新的。我是运行kubernetes的新手,所以我不确定哪个日志文件与此问题相关。

从heapster容器中记录

rs/heapster-867061013

从heapster-nanny容器中记录

heapster.go:72] /heapster source=kubernetes.summary_api:""
heapster.go:73] Heapster version v1.3.0
configs.go:61] Using Kubernetes client with master "https://10.0.0.1:443" and version v1
configs.go:62] Using kubelet port 10255
heapster.go:196] Starting with Metric Sink
heapster.go:106] Starting heapster on port 8082

2 个答案:

答案 0 :(得分:1)

部署控制器保留旧的ReplicaSet资源以执行快速回滚是完全正常和重要的。

部署资源管理ReplicaSet资源。您的heapster部署配置为运行1 pod - 这意味着它将始终尝试使用1 pod创建一个ReplicaSet。如果您更新部署(例如,新的heapster版本),则部署资源会创建一个新的ReplicaSet,它将使用新版本计划pod。同时,旧的ReplicaSet资源将其所需的pod设置为0,但仍保留资源本身以便于回滚。如您所见,旧的ReplicaSet rs/heapster-867061013有0个pod正在运行。如果您进行回滚,部署deploy/heapster会将rs/heapster-867061013中的广告连播数量增加到1,并将rs/heapster-2708163903中的广告数量减少回0.您还应该查看{{3关于部署控制器(如果你还没有完成)。

但是,对我来说,为什么新创建的部署控制器会立即创建2个ReplicaSet,这似乎很奇怪。在删除Deployment Controller之后和创建新部署控制器之前,您是否等了几秒钟(比方说,20)?对我来说,删除在整个集群中传播有时需要一些时间,如果我重新创建得太快,那么重用相同的资源。

关于你提到的heapster pod娱乐:pods有一个documentation。如果设置为Never,则将在其退出的情况下由其副本集重新创建窗格(这意味着将创建新的窗格资源并删除旧的资源)。我的猜测是你的heapster pod有Never策略集。它可能由于某些错误而退出并达到Failed状态(您需要使用日志检查)。然后片刻之后,ReplicaSet会创建一个新的pod。

答案 1 :(得分:0)

好的,所以它恰好是azure容器服务默认kubernetes配置中的一个问题。我从天蓝色的支持者那里得到了一些帮助。

通过将标签addonmanager.kubernetes.io/mode: EnsureExists添加到heapster部署来解决此问题。以下是支持者引用的拉取请求:https://github.com/Azure/acs-engine/pull/1133