Kubernetes 库伯内特斯创造的豆荚比鳞片数量多

Kubernetes 库伯内特斯创造的豆荚比鳞片数量多,kubernetes,Kubernetes,我在我们的一个集群中遇到了一个奇怪的情况,突然出现了许多新的豆荚,因此我们最终得到的跑步豆荚数量超过了规模 因此,在仪表板中,它将显示 serviceX吊舱:8/2 然后是该服务的8个运行实例 问题 这怎么可能发生 有没有一个简单的方法可以摆脱 额外的吊舱(看起来都在运行)的数量 我已尝试更改仪表板中的刻度量,多余的Pod不会消失。Pod和都是Kubernetes API中的成熟对象。部署管理通过复制集创建POD。归根结底,部署将使用模板中的规范创建pod 在您的案例中,部署名称edgeser

我在我们的一个集群中遇到了一个奇怪的情况,突然出现了许多新的豆荚,因此我们最终得到的跑步豆荚数量超过了规模

因此,在仪表板中,它将显示

serviceX吊舱:8/2

然后是该服务的8个运行实例

问题

  • 这怎么可能发生
  • 有没有一个简单的方法可以摆脱 额外的吊舱(看起来都在运行)的数量
  • 我已尝试更改仪表板中的刻度量,多余的Pod不会消失。

    Pod和都是Kubernetes API中的成熟对象。部署管理通过复制集创建POD。归根结底,部署将使用模板中的规范创建pod

    在您的案例中,部署名称edgeservicepublic svc设置为具有13个副本。部署是Kubernetes中的一种控制器。很自然,这个控制器会不断检查是否创建了13个吊舱。将部署添加到集群时,它将自动增加请求的POD数量,然后监视它们。如果吊舱死亡,部署将自动重新创建它。起初,可能没有足够的吊舱与追踪共同控制,以实现吊舱数量的减少

    要确保部署正常工作,可以删除部署,请确保删除了POD。确保您没有设置(
    $kubectl get hpa
    ),如果设置了,请将其删除。然后,如果要更改部署规范,请编辑部署配置文件并应用更改(
    $kubectl apply-f deployment\u configuration\u file.yaml

    关于GKE的有用文档

    编辑:


    基本上,首先检查autoscaler,然后删除它(如果存在)。我告诉过您要删除部署,因为您告诉过您要尝试更改副本的扩展数量/数量。所以,如果您想100%确保应用的更改是删除整个部署端,那么请使用所需数量的副本重新创建它。当然,您可以只在部署配置文件($kubectl edit…)或($kubectl apply-f)中应用更改,但有时不会删除现有的POD,因此它将被保存。您也可以使用相同的参数但不同的名称创建新部署。

    您是否描述了部署(
    kubectl descripe deploy…
    )并检查了最近的事件?(这可以给你一些线索)。是否为您的部署配置了任何配置?如果是,也检查它的事件。部署的所有POD是否由同一个replicaset管理?@Jonas是的,它们是您可能启用了
    自动缩放
    。检查你的云服务提供商,我认为是GKE来配置的。问题是部署没有设置为具有那么多副本。例如,这里是edgeservice部署“规范”的yaml:{“副本”:2,“选择器”:{“匹配标签”:{“名称”:“edgeservice公共svc”}基本上你是说删除所有内容并重新创建,希望问题能够解决。我已经更新了我的答案。你能告诉我它是否有效吗?