14.4.8. 不透明整数资源


借助不透明整数资源,集群操作员可以提供系统可能并不知道的新节点级资源。与 CPU 和内存类似,用户可以在 pod 规格中使用这些资源。调度程序执行资源核算,使得同时分配给 pod 的资源不会超过可用的数量。

注意

不透明整数资源目前处于 Alpha 阶段,仅实施了资源核算。这些资源没有资源配额或限制范围支持,它们对 QoS 也无影响。

不透明整数资源之所以不透明,是因为 OpenShift Container Platform 不知道该资源具体是什么,但只有在该资源有足够可用的数量时才会在节点上调度 pod。它们之所以称为整数资源,是因为必须以整数表示的数量来提供或公告它们。API 服务器将这些资源的数量限制为整数。例如,33000m3Ki 就是有效的数量。

集群管理员通常负责创建资源并使它可用。有关创建不透明整数资源的更多信息,请参阅管理员指南中的 不透明整数资源

要在 pod 中消耗不透明整数资源,请编辑 pod,将不透明资源的名称作为键包含在 spec.containers[].resources.requests 字段中。

例如:以下 pod 请求两个 CPU 和一个 foo (不透明资源)。

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: myimage
    resources:
      requests:
        cpu: 2
        pod.alpha.kubernetes.io/opaque-int-resource-foo: 1

只有在所有资源请求(包括 CPU、内存和任何不透明资源)得到满足时,才会调度 pod。在没有任何节点可满足资源请求时,pod 将保持 PENDING 状态。

Conditions:
  Type    Status
  PodScheduled  False
...
Events:
  FirstSeen  LastSeen	Count	From		  SubObjectPath	Type	  Reason	    Message
  ---------  --------	-----	----		  -------------	--------  ------	    -------
  14s	     0s		6	default-scheduler		Warning	  FailedScheduling  No nodes are available that match all of the following predicates:: Insufficient pod.alpha.kubernetes.io/opaque-int-resource-foo (1).
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.