azure - Azure Kubernetes - 副本与 HPA?
问题描述
副本和 HPA 有什么区别?
对于示例,以下部署配置了 3 个副本
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello
spec:
**replicas: 3**
以及以下具有 2-20 个副本的 HPA
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: hello
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: hello
**minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80**
这是否意味着上述 HPA 将控制副本的总数,而与“deployment.yaml”中定义的内容无关?当 HPA 扩大规模时,它会增加一个“部署”副本还是三个“部署”副本?
解决方案
是的,答案是,基于我对 AKS 的观察。
deployment.yaml 请求所需的副本数量,hpa 会根据配置的指标进行相关的变化。
部署对象中所需的状态或副本(当您执行 kubectl get deploy 时)将始终提供当前副本以及所需的副本,您可以在那里看到负载的变化。
所以它将从 3 个实例开始,然后它会尝试保持最小副本始终可用(因此 hpa 中的最小副本和部署文件中的副本保持相同),然后根据提供的指标的负载计算,它将扩展向上或向下到最小或最大定义的水平。
推荐阅读
- flutter - 未捕获(承诺中)错误:预期类型为“列表”的值
',但得到了 '_JsonMap' 类型之一 - kubernetes - 在 Helm 模板或标准 yaml 资源文件中使用 valueFrom 时添加引号
- c++ - 怎么可能绑定到这个转发函数?
- python - 如果存在于其他列表中,Python 从列表中删除项目
- php - 不同用户的 Laravel 布局
- linux - “smee” webhook 传递客户端停止工作(事件 { 类型:'错误',消息:未定义})?
- css - 验证 (CSS4.0): "overflow-anchor" 是未知的 css 属性名称
- java - 如果属性对 JPA 无效,我如何在数据库中插入默认值
- reactjs - 如何将图像/媒体文件从 React 上传到 Django API?
- android - PowerManager.PARTIAL_WAKE_LOCK 进入休眠状态的前台服务