问题描述
我正在研究 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"