问题标签 [horizontal-pod-autoscaling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - Kubernetes 水平 pod 自动缩放是一种被动方法还是主动方法?
我想知道 kubernetes 中的自动缩放功能是被动方法还是主动方法,它们是否仅基于规则
请告诉我
谢谢
kubernetes - 用于 Kubernetes 自动缩放的节点和 Pod 锁定
在 Kubernetes 中运行我有一个基于Keda的具有自动缩放功能的部署。
此部署运行几个小时的长时间运行任务,并且当前不能选择工作。
Kubernetes 中是否有任何方法可以在长任务运行时锁定节点和/或 pod,以防止它们在长任务运行期间因缩减规模而终止?
我目前知道的唯一选择是使用 longterminationGracePeriodSeconds
并确保任务结束后 pod 存在。
jenkins - Kubernetes 上的 Jenkins 从属 pod 在大量运行中的 pod 涌入时消失
我有一个 Kubernetes 集群,在一个 pod 中运行 Jenkins master,每个构建都在一个单独的从属 pod 中运行。当有很多构建运行时,会有很多 pod 上下旋转,我经常会在这样的作业中看到错误:
例如slave-jenkins-0g9p0
,吊舱就消失了。没有任何痕迹表明它存在。在观看诸如 之类的信息kubectl describe pod slave-jenkins-0g9p0
时,没有错误消息,它只是停止存在。
我有一种感觉,因为有多个 Pod 上下旋转,Kubernetes 试图平衡节点上的负载并重新调度 Pod,但是在杀死它之后,它无法在另一个节点上旋转 Pod。不过我不能确定。也许有一种方法可以告诉 K8s 将一个 pod 绑定到一个节点,直到它自行退出?我不确定什么/如何调试这种情况。
- Kuberentes 版本:
v1.16.13-eks-2ba888
在 AWS EKS 上 - 詹金斯版本:
2.257
- Kubernetes 插件版本
1.27.2
任何建议将不胜感激
谢谢
更新:
我在这里上传了三个从属 pod 清单示例,您可以在其中查看分配的资源。上述问题发生在每个正在运行的 pod 中。
节点池由 Kubernetes 自动缩放器 ( v1.14.6
) 控制并使用 AWS t3a.large(2 个 CPU,8GB 内存)实例。
更新 2:
我相信我已经找到了问题的原因。我禁用了集群自动缩放器](https://github.com/kubernetes/autoscaler)(v1.14.6)并且问题停止了。
所以似乎正在发生的是自动缩放器正在删除运行从 pd 的节点。我知道污点可用于告诉自动缩放器不要删除节点,但有没有办法动态地执行此操作,如果某个 pod 正在其上运行,它不会删除节点。无需开发新的东西。
kubernetes - 如何停止replicaSet终止请求的pod数量
我将最小副本数设置为 3,最大 10,请求的副本数为 6。当我部署时,replicaSet 看起来不错,并且我有 6 个 pod 按预期运行。
然而,几分钟后我收到了这条消息——“Scaled down replica set my-first-app to 3”。然后它会终止我的 pod,所以我只剩下 3 个。我该如何阻止它这样做?我想要6个副本。
kubernetes - Kubernetes HPA 未按预期缩减
发生了什么:我已经用这些细节配置了一个 hpa:
我预期会发生什么:当我们加载一些负载时,Pod 扩展到 3 个,并且平均内存超过了预期的 400。现在平均内存已经回落到大约 300 并且 Pod 仍然没有缩小,即使它们已经低于目标几个小时了。
一天后:
我预计当内存低于 400 时 Pod 会缩小
环境:
- Kubernetes 版本(使用
kubectl version
):
- 操作系统(例如:)
cat /etc/os-release
:
- 内核(例如
uname -a
):x86_64 x86_64 x86_64 GNU/Linux
我真的很想知道这是为什么。我很乐意提供任何需要的信息。
谢谢!
kubernetes - Kubernetes 指标服务器不提供所有指标或扩展 HPA
按照此处的示例https://kubernetes.io/docs/tasks/run-application/horizontal -pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects ,我创建了安装的指标-server 并修改如下:
查询时会列出我的节点:
但是,HPA 目标仍然“未知”:
运行顶级节点有效,但顶级 pod 无效
顶部 pod 返回错误error: Metrics not available
:
这是在 Kubernetes 服务器版本v1.19.3
和指标服务器版本上0.3.6
来自 metrics-server 的日志
amazon-web-services - 版本“metrics.aws/v1alpha1”中类型“ExternalMetric”没有匹配项
尝试为 AWS SQS 部署外部指标监视器时出现错误。我正在尝试在 EKS 1.15 中部署它。目前它适用于我的 EKS 1.14 环境。
unable to recognize "app-deployment.yml": no matches for kind "ExternalMetric" in version "metrics.aws/v1alpha1"
这是我的 yaml 文件。我不确定我在哪里搞砸了,特别是因为它在另一个集群中工作,但版本不同。
任何建议将不胜感激
kubernetes - Kubernetes - 当我扩展部署 pod 时卷未安装
我有一个 deployment.yaml,它使用了一个像这样的 persistentvolumeclaim
我正在尝试使用 (Horizontal Pod Scheduler) 水平扩展我的部署,但是当我扩展我的部署时,其余的 pod 正在ContainerCreating
处理中,这是我得到的错误describe the pod
我在这里做错了什么?
kubernetes - 水平 Pod 自动缩放器未缩小
我有这样的HPA。Pod 的扩展性很好,但没有缩小,CPU 利用率仅为 5%。它没有缩小到 1 个副本的最小值。
以下是我的 HPA