kubernetes 在Seldon部署(CRD)中,可配置的声明性水平单元自动定标器(HPA)是否可以用于多个部署环境?

kx7yvsdv  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(142)

使用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的部署中注入动态变量?

aij0ehis

aij0ehis1#

我不认为这是一个特定的问题。
我认为你应该为QA、Alpha和Prod定义3个这样的图表。每个图表应该有不同的值,就是这样!
另一个问题是,这种解决方案会重复代码--静态图表会被复制3次,而只是HPA参数发生了变化。解决方案之一是使用helm图表。在这种情况下,您编写图表template,其中包含HPA值的占位符。你只需要写3个values文件。这样你就写了一个图表和3个values文件来动态设置HPA的值。

相关问题