• [置顶] kubernetes资源对象--ResourceQuotas


    概念

    Resource Quotas(资源配额,简称quota)是对namespace进行资源配额,限制资源使用的一种策略。 K8S是一个多用户架构,当多用户或者团队共享一个K8S系统时,SA使用quota防止用户(基于namespace的)的资源抢占,定义好资源分配策略。

    Quota应用在Namespace上,默认情况下,没有Resource Quota的,需要另外创建Quota,并且每个Namespace最多只能有一个Quota对象。

    限额资源类型

    计算资源:limits.cpu、requests.cpu、limits.memory、requests.memory
    存储资源,包括存储资源的总量以及指定storage class的总量
        requests.storage:存储资源总量,如500Gi
        persistentvolumeclaims:pvc的个数
        .storageclass.storage.k8s.io/requests.storage
        .storageclass.storage.k8s.io/persistentvolumeclaims
    对象数,即可创建的对象的个数
        pods,replicationcontrollers,configmaps,secrets,persistentvolumeclaims,services,services.loadbalancers,services.nodeports
    

    使用注意实现

    在使用前需确认apiserver的配置文件中的KUBE_ADMISSION_CONTROL是否有ResourceQuota,如果没有需要添加并重启apiserver。
    Quota依赖于资源管理器,可以使用资源对象limits或者在创建资源对象是为pod设置资源限制(resources),如果不设置,资源对象无法创建。
    当该namespace中的任意个额度达到预设Quota时,将无法创建资源对象。
    

    例子

    比如K8S系统共有20核CPU和32GB内存,分配给lykops用户户5核CPU和16GB,分配给B租户5核CPU 和8GB,预留10核CPU和8GB内存。这样,用户中所使用的CPU和内存的总和不能超过指定的资源配额,促使其更合理地使用资源。

    kubectl delete -f resourcequota.yaml
    cat << EOF > resourcequota.yaml
    apiVersion: v1
    kind: ResourceQuota
    metadata:
      namespace: lykops
      name: lykops
      labels:
        project: lykops
        app: resourcequota
        version: v1
    spec:
      hard:
        pods: 50
        requests.cpu: 0.5
        requests.memory: 512Mi
        limits.cpu: 5
        limits.memory: 16Gi
        configmaps: 20
        persistentvolumeclaims: 20
        replicationcontrollers: 20
        secrets: 20
        services: 50
    EOF
    kubectl create -f resourcequota.yaml
  • 相关阅读:
    OO实现ALV-SALV-实战攻略3-2-ALV工具栏自定义按钮展示方式
    OO实现ALV-SALV-实战攻略3-1-ALV工具栏按钮展示方式
    关于springboot开发的总结
    WEB端第三方登陆接入
    WEB端第三方登陆接入
    WEB端第三方支付接入
    WEB端第三方支付接入
    ABAP-HTML-MAIL
    ABAP-Logs-SLGD
    ABAP-Dynamic-Internal table
  • 原文地址:https://www.cnblogs.com/lykops/p/7419929.html
Copyright © 2020-2023  润新知