使用SeldonDeployment的CRD,我想按照此example配置HPA。seldon部署配置为-
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
name: seldon-model
spec:
name: test-deployment
predictors:
- componentSpecs:
- hpaSpec:
maxReplicas: 3
metrics:
- resource:
name: cpu
targetAverageUtilization: 10
type: Resource
minReplicas: 1
spec:
containers:
- image: seldonio/mock_classifier:1.5.0-dev
imagePullPolicy: IfNotPresent
name: classifier
resources:
requests:
cpu: '0.5'
terminationGracePeriodSeconds: 1
graph:
children: []
name: classifier
type: MODEL
name: example
当应用上述内容时,将生成部署和声明性HPA QA的部署文件是相同的,Alpha和Prod环境导致最大/最小复制副本数相同。**1.是否可以针对不同的环境配置复制副本数?**即不同环境的最大/最小复制副本数具有不同的值(在CRD SeldonDeployment配置文件中)。
注意:对于其他(非Seldon)部署,我们对每个环境都使用声明式HPA。但在这种情况下,这是不可能的,因为Seldon控制器管理器会还原所应用的CRD与当前(从CRD生成的)部署之间的任何差异。
2.更一般化的问题:我们如何在基于CRD的部署中注入动态变量?
1条答案
按热度按时间aij0ehis1#
我不认为这是一个特定的问题。
我认为你应该为QA、Alpha和Prod定义3个这样的图表。每个图表应该有不同的值,就是这样!
另一个问题是,这种解决方案会重复代码--静态图表会被复制3次,而只是HPA参数发生了变化。解决方案之一是使用
helm
图表。在这种情况下,您编写图表template
,其中包含HPA值的占位符。你只需要写3个values
文件。这样你就写了一个图表和3个values
文件来动态设置HPA的值。