具有配额的 openshift knative-serving 运算符

问题描述

我正在研究 Redhat Openshift Serverless 运算符的使用。 我们有一个 Openshift 集群,它在每个命名空间中使用资源配额。我已经安装了操作符并设置了 knative-serving 命名空间。 Knative-serving operator 设置在我们在资源下定义的用户容器、队列代理和 webhook 的位置。 现在,当我使用以下 yaml 文件在另一个命名空间中启动服务时:

apiVersion: serving.kanative.dev/v1
kind: Service
Metadata:
  name: helloworld-python
  namespace: test
spec:
  template:
    spec:
      containers:
      -image: test/helloworld-python:latest
       resources:
         limits:
           cpu: 100m
           memory: 50Mi
         requests:
           cpu: 100m
           memory: 50Mi
       env:
         - name: TARGET
           value: "Python Sample v1"

然而,这失败并出现错误错误创建:pods 被禁止:配额失败:compute-resources:必须指定limits.memory,requests.memory

你们中的任何人都可以为我指出正确的方向以使其正常工作吗?


问候

解决方法

我猜它失败了,因为队列代理没有获得必要的内存设置。您可以通过 Knative Serving 配置全局执行此操作。我在这里选择的值只是占位符。

apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
  name: knative-serving
spec:
  config:
    deployment:
      queueSidecarMemoryRequest: "100Mi"
      queueSidecarMemoryLimit: "300Mi"