- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据我们产品的设计,我们想禁用HPA的按比例缩小功能,是否可以将其禁用?
最佳答案
不,这是不可能的。
1)您可以删除HPA并使用所需数量的Pod创建简单的部署
2)您可以使用用户'frankh'在HorizontalPodAutoscaler: Possible to limit scale down?#65097问题上提供的解决方法:
I've made a very hacky workaround, I have a cronjob that runs every 3 minutes, and sets the minimum replicas on an HPA to $currentReplicas - $downscaleLimit. If anyone feels like using it it's here: https://gist.github.com/frankh/050943c72273cf639886b43e98bc3caa
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hpa-downscale-limiter
namespace: kube-system
spec:
schedule: "*/3 * * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
serviceAccountName: hpa-downscale-limiter
containers:
- name: kubectl
image: frankh/k8s-kubectl:1.10.3
command: ["/bin/bash", "-c"]
args:
- |
set -xeuo pipefail
namespaces=$(kubectl get hpa --no-headers --all-namespaces | cut -d' ' -f1 | uniq)
for namespace in $namespaces; do
hpas=$(kubectl get hpa --namespace=$namespace --no-headers | cut -d' ' -f1)
for hpa in $hpas; do
echo "$(kubectl get hpa --namespace=$namespace $hpa -o jsonpath="{.spec.minReplicas} {.status.desiredReplicas} {.metadata.annotations.originalMinimum} {.metadata.annotations.downscaleLimit}")" > tmpfile
read -r minReplicas desiredReplicas originalMinimum downscaleLimit < tmpfile
if [ -z "$originalMinimum" ]; then
kubectl annotate hpa --namespace=$namespace $hpa originalMinimum="$minReplicas"
originalMinimum=$minReplicas
fi
if [ -z "$downscaleLimit" ]; then
downscaleLimit=1
fi
target=$(( $desiredReplicas - $downscaleLimit ))
target=$(( $target > $originalMinimum ? $target : $originalMinimum ))
if [ "$minReplicas" -ne "$target" ]; then
kubectl patch hpa --namespace=$namespace $hpa --patch="{\"spec\": {\"minReplicas\": "$target"}}"
fi
done
done
restartPolicy: OnFailure
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: hpa-downscale-limiter
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: hpa-downscale-limiter-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- name: hpa-downscale-limiter
kind: ServiceAccount
namespace: kube-system
关于kubernetes - Kubernetes HPA禁用缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60212727/
前言 “大伙得眼里有活,看见同事忙的时候要互相帮助,这样我们团队才能快速成长,出成绩,多干点活没坏处的,领导都看在眼里记在心里,不会亏待大伙。
我目前正在尝试使用 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 输出的副本数完全不匹配…… 这是
我是一名优秀的程序员,十分优秀!