Loading
close

云产品权限以及资源声明

time 更新时间:2024-04-01 17:41:12

云产品权限声明

ECP 6.1.1:支持云产品声明安装的命名空间,新增云产品安装资源需求声明

云产品 charts 包中 _acl_helpers.yaml.tpl 文件用于定义云产品的所需权限、资源及安装的命名空间。

目前需要定义云产品的psp策略、cluster_role策略以及pvc策略
psp_type:云产品需要使用的psp类型,目前支持Unlimit和Limit
cluster_role:云产品需要绑定到的cluster role,目前支持cluster-admin
pvc_enable:云产品是否需要使用pvc,布尔值
namespace:指定云产品安装的命名空间,若无此声明时,则默认使用云产品标识作为云产品安装的命名空间。

示例

data:
  psp_type: Unlimited
  cluster_role: cluster-admin
  pvc_enable: true
  namespace: openstack

云产品资源需求

云产品默认会被调度到集群中的云产品节点中,安装或升级云产品前,会比对云产品节点资源是否满足云产品的需要,若不满足会触发云产品节点扩容。因此部署到云产品节点的云产品需要按规范声明资源需求。

注意:

  1. 云产品 Chart.yaml 中 keywords 下声明了 foundationcreator:foundation的云产品不会检查资源需求
  2. 云产品 _acl_helpers.yaml.tpl 中指定了安装命名空间为 namespace: openstack 的云产品不会检查资源需求
  3. 云产品需要安装到控制节点,同时没有按如上两种方式声明 keywords 或 namespace,需要参考_自行声明资源需求 _章节声明云产品资源需求为 0,避免检查资源。
  4. 由于云产品节点的资源限制,云产品资源需求需要限制最大不超过 6 C 12 G

    自动计算资源需求

    在编写云产品 charts 时推荐在 values.yaml 统一声明云产品相关资源的资源需求到 resources key 下,构建云产品时会通过 values.yaml 中所有 resources 字段下的资源声明 requests数值,自动计算出一个资源限制的值。

注意:如果 charts 中声明了资源,但是该资源有控制选项,实际部署过程中不一定部署,仍然可以可以保留该资源的需求声明,因为云产品的资源需求按最多需求资源来计算的

目前推荐有三档资源声明:

requests:
  cpu: "200m"
  memory: "512Mi"
requests:
  cpu: "500m"
  memory: "1024Mi"
requests:
  cpu: "1000m"
  memory: "2048Mi"

若云产品需要使用其它数值的自定义资源声明,建议 limits 的数值设置不超过 requests 的 1.5 倍。

示例

pod:
  resources:
    jobs:
      hook:
        requests:
          memory: "200Mi"
          cpu: "512m"
      db_init:
        requests:
          memory: "1024Mi"
          cpu: "500m"
    backend_api:
      requests:
        memory: "1024Mi"
        cpu: "500m"
    front_dashboard:
      requests:
        memory: "512Mi"
        cpu: "200m"

当云产品在 values.yaml 中按如上示例声明了资源需求后,构建云产品时会自动统计 values.yaml 下 resources 下除 **jobs **外各层级的 **requests **资源声明。构建完成后此云产品对应的资源需求为:
cpu:700m memory:1536Mi

自行声明资源需求

建议云产品优先考虑在 values.yaml 中明确定义每项资源的资源需求,若自动计算的资源需求不能准确反应云产品实际所需的资源需求,或有其它特殊场景的考虑,如云产品需要安装到控制节点的非 openstack 命名空间下,无需检查资源;云产品可在 _acl_helpers.yaml.tpl 文件中自行声明所需的资源,构建完云产品后会优先此值作为云产品的资源需求,单位:max_cpu:m,max_memory: Mi。

示例

data:
  psp_type: Unlimited
  cluster_role: cluster-admin
  pvc_enable: true
  namespace: openstack
  resource_limit:
    max_cpu: 500
    max_memory: 1200

当云产品在 _acl_helpers.yaml.tpl 中按如上示例声明了资源需求后,构建完成后此云产品对应的资源需求为:cpu:500m memory:1200Mi

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品