使用 1000 个副本自动创建新的 kubernetes 部署 (kubernetes-cli)

Posted

技术标签:

【中文标题】使用 1000 个副本自动创建新的 kubernetes 部署 (kubernetes-cli)【英文标题】:New kubernetes deployment (kubernetes-cli) get created automatically with 1000 replicas 【发布时间】:2019-01-20 22:52:49 【问题描述】:

自动创建了具有 1000 个副本的新 kubernetes 部署。几个月前发生了同样的问题,然后我删除了 kubernetes-cli 部署和 pod。几个月后,我再次遇到这个问题,如何防止这种情况,任何人都可以帮助解决这个问题。

创建的部署 =>

在这里,我使用“kubectl get events”命令监控 kubernetes 事件。相关事件如下。

CPU 使用率如下;

PID信息如下;

创建的豆荚;

Pod 信息;

【问题讨论】:

`kubectl get events' 提供了一些有用的信息? 如果检查CPU、内存等资源使用情况? @NicolaBen,我在描述中附上了相关的kubernetes事件,请检查。 @CharlesXu-MSFT,我在说明中附上了资源使用情况,请检查。 @Sudharshan 我的意思是如果你只有一个节点,你可以使用命令kubectl describe node nodeName 检查节点。我看到您的其他 pod 处于 Pending 状态,可能资源已耗尽。 【参考方案1】:

如以下link所述:

在 v1.11 中,Kubernetes 支持多达 5000 个节点的集群。更多的 具体来说,我们支持满足以下所有条件的配置 标准:

No more than 5000 nodes
No more than 150000 total pods
No more than 300000 total containers
No more than 100 pods per node

您的事件日志显示insufficient pods

如果您的集群没有超过 10 个工作节点,则调度程序不能为每个节点调度少于 100 个 pod(并遵守第四个界限)。

v.1.11 之前的 kubernetes 版本也存在同样的限制。

【讨论】:

您回答了 Pod 事件日志不足,但我的问题是找到自动创建 Pod 的方式(kubernetes-cli-xxxxx)。因为 kubernetes-cli 部署不是我创建的。【参考方案2】:

在您的特定部署中似乎并非如此,但是类似的事情也发生在我身上,我会发布它以防有人谷歌搜索这个问题。

我在没有删除策略的情况下完成了一项失败的工作,这使得它出于某种原因自行部署了 1000 次。指定删除策略解决了这个问题。

【讨论】:

您能否进一步解释您的修复方法。 @Sudharshan 我认为您的问题与Delete 政策无关。此外,它不适用于Deployments。如果您仍然可以重现该问题,您可以查看kube-scheduler 某处的帖子和kubectl describe node $your_node 的输出吗?有一些与该问题相关的错误,但其中大部分应该得到修复。顺便说一句,您使用哪个版本的 Minikube/Kubernetes? @AntonKostenko 我在 kube-scheduler 中看不到任何日志条目。而且我使用的是 v1.6.6 版本的 Kubernetes。 @Sudharshan 您的问题原因应该在kube-scheduler 日志中可见,因此请尝试找到它。但是,您有一个漂亮且不受支持的 Kubernetes 版本,其中可能包含在现代版本中修复的错误,所以我强烈建议您将 Kubernetes 更新到 1.10 或 1.11,我认为更新很有可能解决您的问题。跨度>

以上是关于使用 1000 个副本自动创建新的 kubernetes 部署 (kubernetes-cli)的主要内容,如果未能解决你的问题,请参考以下文章

在提交文件之前从工作副本创建新的存储库

K8S的基础概念

kubernates 是什么(第一集)

kubernate 分布式练习-redis-master创建

MongoDB副本集

云原生技术kubernates 是什么(第一集)