使用SeldonDeployment的CRD,我想按照这个例子配置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的部署中注入动态变量
我不认为这是seldon特有的问题。
我认为你应该为QA、Alpha和Prod定义3个这样的图表。每个图表都应该有不同的值,就这样!
另一件事是,这个解决方案会复制代码——只更改HPA参数,静态图表就会被复制3次。其中一个解决方案是使用helm
图表。在这种情况下,您编写了图表template
,其中包含HPA值的占位符,并且您只编写了3个values
文件。这样,您就编写了一个图表和3个动态设置HPA值的values
文件。