云效不支持HPA?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效平台本身并不限制或限定是否支持 Horizontal Pod Autoscaler (HPA)。HPA 是 Kubernetes 的一个功能,用于根据实时负载自动调整容器副本的数量。
在使用云效部署应用程序到 Kubernetes 集群时,您可以手动配置和管理 HPA,以便根据需要自动扩展或缩减应用程序的副本数。这通常涉及定义 HPA 对象,并将其与部署相关联。
要使用 HPA 功能,请确保以下条件满足:
您的 Kubernetes 集群版本必须支持 HPA。请检查所使用的 Kubernetes 版本,并确保它符合 HPA 的要求。
应用程序的部署配置中需要包含指标服务(Metric Server)或其他可用于提供实时负载数据的监控解决方案。HPA 使用这些指标来决定何时进行自动伸缩操作。
在应用程序的 YAML 文件中,添加对 HPA 资源的定义和相关配置,例如目标 CPU 利用率、最小/最大副本数等。
请注意,具体的配置和使用方法可能因云效版本、Kubernetes 版本和配置而有所不同。建议参考云效和 Kubernetes 的文档、论坛或联系技术支持团队,以获取更准确和详细的指导。
HPA 是 Pod 水平伸缩的组件,除了社区支持的 Resource Metrics 和 Custom Metrics,阿里云容器服务 Kubernetes 还提供了external-metrics-adapter,支持云服务的指标作为弹性伸缩的判断条件。目前已经支持例如:Ingress 的QPS、RT,ARMS 中应用的 GC 次数、慢 SQL次数等等多个产品不同维度的监控指标。
cronHPA 是定时伸缩组件,主要面向的是周期性负载,通过资源画像可以预测有规律的负载周期,并通过周期性伸缩,实现资源成本的节约。
默认HPA只支持基于CPU和内存的自动伸缩,并不能满足日常的运维需求。
阿里云Prometheus指标可以转换成HPA可用的指标,从而为应用提供更加便捷的扩缩机制。
Kubernetes 支持HPA模块进行容器伸缩,默认支持CPU和内存等指标。原生的HPA基于Heapster,不支持GPU指标的伸缩,但是支持通过CustomMetrics的方式进行HPA指标的扩展。可以通过部署一个基于Prometheus Adapter 作为CustomMetricServer,它能将Prometheus指标注册的APIServer接口,提供HPA调用。 通过配置,HPA将CustomMetric作为扩缩容指标, 可以进行GPU指标的弹性伸缩。
当HPA配置自定义监控指标进行伸缩指标后, 将无法使用原生HPA基于Heapster的CPU和Memory的伸缩。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。