【问题标题】:How do I set OpenShift QoS setting on a container's yaml template file?如何在容器的 yaml 模板文件上设置 OpenShift QoS 设置?
【发布时间】:2019-02-04 18:27:23
【问题描述】:

使用 OpenShift Origin (v3.9.0)。如何设置 Pod 的服务质量 (QoS) 层。具体来说,我应该使用什么 yaml 密钥路径在 DeploymentConfig yaml 模板中指定此值?

描述和查看 QoS 设置的文档数不胜数,但实际上并没有在配置文件中实际指定它:

https://github.com/openshift/openshift-docs/blob/master/dev_guide/compute_resources.adoc#quality-of-service-tiers

# Example yaml template..so where do I specify QoS settings in here?
- kind: DeploymentConfig
  apiVersion: v1
  metadata:
    name: ${NAME}
  spec:
    strategy:
      type: Rolling
    triggers:
      - type: ConfigChange
    replicas: 3
    selector:
      name: ${NAME}
    template:
      metadata:
        labels:
          name: ${NAME}
      spec:
        securityContext:
          runAsUser: 1000
        containers:
        - env:
          image: ${IMAGE}
...

最重要的是,我在哪里可以获得 DeploymentConfig 架构的完整描述?我希望在省略可选设置时查看每个可用的键和所有默认值。

【问题讨论】:

    标签: openshift-origin


    【解决方案1】:

    配额和限制范围正是您所需要的。 “QoS-Settings”不是您放入模板的 DeploymentConfig-Part 的任何内容 - 它是您正在运行部署的项目配置的一部分。 我会为此参考the OpenShift DocumentationThis is also really helpful

    关于 DeploymentConfig 对象的所有可用键,我还要参考 OpenShift Documentation regarding the Object Schema

    【讨论】:

    • Overcommitting 声明可以为每个 pod 分配三个不同的 QoS 类之一,这是我想要做的。而这个分配是由 pod 所在的项目决定的?所以我需要编辑我的项目,使在该命名空间中生成的任何 pod 都会自动附加 QoS 类?如果我理解正确,Quotas 用于限制使用特定 QoS 生成的 pod 数量。
    • 我想我现在明白了。 limits 上的部分说我必须指定容器的限制,然后 QoS 是基于限制和项目配额的派生值。我被抛弃了,因为我通常将限制与运行应用程序所需的最低 cpu/mem 相关联,而不是驱逐的优先级。无论如何,我会对此进行试验,但可能需要一种不同的方法来减少我们的关键 pod 被驱逐的次数。
    【解决方案2】:

    这个SO post 是同一个问题,但针对的是 kubernetes。在我最初的谷歌搜索中错过了它。 Kubernetes docs 提供了准确的分步指南。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-14
      • 2020-09-08
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 2021-12-01
      • 2016-04-30
      • 2012-09-17
      相关资源
      最近更新 更多