【问题标题】:How to scale a Kubernetes cluster on GKE?如何在 GKE 上扩展 Kubernetes 集群?
【发布时间】:2019-06-12 02:47:23
【问题描述】:

我有一个包含 n 个节点的 GKE 集群(在本例中为 2 个节点,每个节点有 1 个 CPU),正在运行压力测试。我希望它们在不停止运行 Pod 的情况下扩展。

集群启用了自动缩放,并且节点池启用了自动缩放。

在达到大约 50 个 pod 后,内存/CPU 结束,集群开始在不同的节点池中创建一个新节点。为什么不在当前池中?

启动新节点后,集群完全崩溃:

  • 没有一个节点在运行;

  • 某些节点因以下警告而无法调度:

    “无法调度 pod:内存不足。”

    “无法调度 pod:节点具有 pod 无法容忍的污点。” (虽然我没有设置任何污点)

  • 其他人处于待处理状态。

我想要达到的目标:

  • 保持现有 pod 运行而不会崩溃;
  • 获取新创建的 Pod 并保持 Pending 状态,直到创建新节点;
  • 使用我选择的实例模板在节点池中创建新节点。

【问题讨论】:

  • 你能显示yaml文件吗?

标签: kubernetes google-kubernetes-engine autoscaling


【解决方案1】:

听起来您看到的行为是集群自动扩缩器的新 node auto provisioning 功能的一部分。它会自动代表您管理节点池列表,这就是您看到创建的节点池的原因。

如果您只想扩大/缩小现有节点池,您应该禁用节点自动配置,只需设置节点池的自动缩放参数(最小/最大节点数),让自动缩放器添加新节点现有的实例模板。

【讨论】:

    【解决方案2】:

    我禁用了自动配置,但池没有缩放。 但它在扩展时不断使所有 pod 崩溃。

    【讨论】:

    • 您过度提交节点。豆荚被驱逐了吗? Pod 的资源请求和限制是什么?
    猜你喜欢
    • 2018-12-04
    • 2021-01-13
    • 2020-09-27
    • 1970-01-01
    • 2020-08-11
    • 2018-12-25
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多