- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
情景:我已经使用 helm chart 部署了一个服务,我可以看到我的服务、hpa、部署、pod 等。在我的 hpa 设置中:最小 pod 计数设置为 1。我可以看到我的 Pod 正在运行并且能够处理服务请求。
过了一会儿——我已经执行了——“kubectl scale deploy --replicas=0”运行上述命令后,我可以看到我的 pod 已被删除(尽管 hpa min pod 设置设置为 1),我期待一段时间后 hpa 将扩大到最小 pod 计数,即 1。但是我没有看到这种情况发生,我已经等了一个多小时,hpa 没有创建新的 pod。我也尝试向我的 Kubernetes 服务发送请求,我在想现在 hpa 将扩大 pod,因为没有 pod 来服务请求,但是 hps 似乎没有这样做,我得到了一个响应我的服务不可用。
这是我在 kubectl get hpa 中看到的名称 引用 目标 MINPODS MAXPODS REPLICAS 年龄**测试部署/xxxx/1000% 1 4 0 1h
有趣的是,我发现 hpa 快速缩减: 当我执行“kubectl scale deploy --replicas=2”(请注意 in hpa 计数为 1)时,我可以看到 2 个 pod快速创建,但在 5 分钟内,1 个 pod 被 hpa 删除。
这是 Kubernetes(尤其是 hpa)的预期行为吗?如,如果我们通过执行 --"kubectl scale deploy --replicas=0"删除所有 pod,a) hpa 不会阻止以减少副本数少于配置的 pod 数(在 hpa 配置中)和b) hpa 不会按比例扩大(基于 hpa 旋转周期)到配置的最小 pod 数。并且本质上 c) 在我们重新部署或执行另一轮“kubectl scale deploy”以更新副本计数之前,不会有此服务的 pod。
这是 Kubernetes 代码库中的预期行为还是(可能的)错误?我使用的是 Kubernetes 1.8 版本。
最佳答案
这是一个很棒的观察。我正在浏览 HPA 的文档,遇到了 HPA 用来缩放 pod 的数学公式。它看起来像
TargetNumOfPods = ceil(sum(CurrentPodsCPUUtilization) / Target)
在您的情况下,当前 pod 利用率为零,因为您的 pod 计数为零。所以从数学上讲,这个等式结果为零。因此,如果 pod 计数为零,这就是 HPA 无法工作的原因。
a: HPA 不应阻止手动扩展 pod,因为它仅从资源(cpu、内存等)获得触发。一旦您使用“kubectl scale”或通过任何其他方式进行缩放,HPA 将根据最小、最大副本和平均利用率值出现。
b: 如果当前计数不为零,HPA 会扩展到最小副本数。我试过了,它工作得很好。
c: 是的,除非您将副本数设为非零值,否则 HPA 将无法工作。所以你必须扩大到一些非零值。
希望这能解答您对 HPA 的疑虑。
关于kubernetes - 当我们执行 "kubectl scale deploy"时,Kubernetes 不尊重 HPA 配置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54473962/
前言 “大伙得眼里有活,看见同事忙的时候要互相帮助,这样我们团队才能快速成长,出成绩,多干点活没坏处的,领导都看在眼里记在心里,不会亏待大伙。
我目前正在尝试使用 prometheus 和 prometheus 适配器运行一个自动缩放演示,我想知道是否有一种方法可以根据 prometheus 从另一个部署中收集的指标自动缩放我的一个部署。 我
我们有一个Istio集群,我们正在尝试为Kubernetes配置水平容器自动缩放。我们希望将请求计数用作hpa的自定义指标。我们如何才能将Istio的Prometheus用于同一目的? 最佳答案 事实
我有两个彩色轨道,我在其中部署了两个不同版本的 web 应用程序 (nginx+php-fpm),这些轨道可通过称为 live 和 next 的服务使用。 经典的方式是部署Web应用程序的新版本接下来
副本和 HPA 有什么区别? 例如,以下部署配置了 3 个副本 apiVersion: apps/v1 kind: Deployment metadata: name: hello spec:
有没有办法在 Azure Kubernetes 服务上启用基于“每秒请求”的扩展? AKS 中的 HPA 确实允许基于 CPU 和内存限制进行水平 Pod 扩展,但没有直接的方法来实现这一点 - 每秒
HPA-如何避免因CPU使用率激增而扩大规模(不在启动时) 在为其他国家/地区加载业务配置时,CPU负载会增加1分钟,但我们要避免在1分钟内扩大规模。 在下面的图片中,CurrentMetricVal
我正在运行带有HPA的Kubernetes集群v1.16(当前是GKE的最新版本),该集群可基于自定义指标(具体来说是从Google云监控中获取的Rabbitmq消息计数)来扩展部署。 问题 当消息数
我在HPA上发现istio网关有问题。 为什么10m等于10%? 10m 1%不是吗? Kubernetes版本是1.18.5。 # kubectl get hpa --all-namespaces
我们的Web服务API上似乎遇到了一些内部服务器错误(500),似乎是在作为自动缩放器配置的一部分引入或删除了新容器时。 自然,这种事情很难解决,因为您并不总是能够控制 pods 的启动和停止的时间。
从 Kubernetes v1.18 开始,v2beta2 API 允许通过 Horizontal Pod Autoscalar (HPA) 行为字段配置缩放行为。 我计划将具有自定义指标的 HP
我想要实现的是创建一个能够扩展的 Horizontal Pod Autoscaler worker根据 controller 生成的自定义指标生成 Pod荚。 我已经让 Prometheus 抓取
问题设置。 假设我有 2 个 pod,A 和 B。我希望能够根据来自某个任意来源的某个任意数字动态缩放 pod A。假设 pod B 是这样一个源:例如,它可以有一个 HTTP 服务器,它的端点在请求
我正在尝试配置 kubernetes 水平 pod 自动缩放。我部署的定义是 here . 我开始 heapster 部署和 heapster 服务,如下所示: # kubectl run heaps
我终于部署了与其中一个部署相关的 hpa,但 hpa 没有按预期工作。我可以看到利用率远远超过实际情况,甚至不匹配所有 pod 的利用率总和。不确定这个平均利用率是如何计算的,当有 2 个 pod 的
是否有一个“主开关”来启用/禁用 Keda 和 HPA?我可以通过将副本计数编辑为 0 来启用/禁用扩展规则,但是是否有主要的启用/禁用字段? cooldownPeriod: 1800 max
我有一个在 Kubernetes 集群上运行的 openjdk:8 镜像。我添加了内存 HPA(Horizontal Pod Autoscaling),它可以很好地扩展,但由于 JVM 不会将内存
我正在尝试基于GPU利用率在GCP中实现水平荚自动缩放(HPA)。 我的hpa.yaml文件如下所示: kind: HorizontalPodAutoscaler metadata: name:
我已经为我在 Kubernetes 中的部署之一配置了 hpa。 有什么方法可以检查部署中是否发生 HPA 缩放以及何时发生? 我没有部署普罗米修斯或任何监控解决方案。 最佳答案 如果您创建了 HPA
所以这发生在 EKS K8s v1.15 上。您可以在 describe 输出中看到 api 版本。 millicpu 在 80 到 120 之间徘徊……这与 HPA 输出的副本数完全不匹配…… 这是
我是一名优秀的程序员,十分优秀!