在创建 Deployment 和 HorizontalPodAutoscaler 如果部署 .spec.replicas 设置为 null ,或者应该取消设置,或者应该将其设置为hpa之间的某个值 minReplicas 和 maxReplicas ?
Deployment
HorizontalPodAutoscaler
.spec.replicas
null
minReplicas
maxReplicas
创建hpa时,hpa控制器将管理部署 .规格副本 ,因此,在更新部署其他字段时,不应更改副本。
.规格副本
与相比 kubectl apply 声明性配置,您可以修改部署的其他字段,而无需修改 .规格副本 如果你离开 .规格副本 第一次创建部署时取消设置,以便在将来应用部署时,3向差异忽略该字段。或者要在创建时间之后省略该字段,必须使用 kubectl apply edit-last-applied 为了避免在删除字段时意外缩小到1( kubernetes/kubernetes#67135 ). 因此 kubectl应用 可以在不接触的情况下应用展开 .规格副本 .
kubectl apply
kubectl apply edit-last-applied
kubectl应用
正确的方法是什么 helm upgrade a在不改变其缩放比例的情况下部署其他字段?
helm upgrade
我检查过了 here 如果我理解正确,有两种方法可以做到这一点。
1、添加if语句作为解决方法。
@naseemkullah对此发表了评论。
因此,解决方法是在部署的spec.replicas周围添加if语句,以便在启用HPA的情况下不对其进行模板化
2、完全删除副本字段,则应尊重HPA管理的副本数量。
有 comment 关于这件事,由@tianchengli添加。
如果我完全删除副本字段,它将尊重HPA管理的副本数量。