zoukankan      html  css  js  c++  java
  • kubernetes调度之资源配额示例

    系列目录

    前面说过,资源配额限制在指定名称空间下,对资源对象数量和特定类型的资源的限制,你可以在 ResourceQuota中指定配额

    创建名称空间

    我们创建一个新的名称空间来演示

    kubectl create namespace quota-object-example
    

    创建资源配额

    以下是资源配额对象的配置

    admin/resource/quota-objects.yaml 
    
    apiVersion: v1
    kind: ResourceQuota
    metadata:
      name: object-quota-demo
    spec:
      hard:
        persistentvolumeclaims: "1"
        services.loadbalancers: "2"
        services.nodeports: "0"
    
    

    通过kubectl apply创建配额对象

    kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects.yaml --namespace=quota-object-example
    

    查看资源配额详细信息

    kubectl get resourcequota object-quota-demo --namespace=quota-object-example --output=yaml
    
    status:
      hard:
        persistentvolumeclaims: "1"
        services.loadbalancers: "2"
        services.nodeports: "0"
      used:
        persistentvolumeclaims: "0"
        services.loadbalancers: "0"
        services.nodeports: "0"
    

    输出信息显示,在quota-object-example名称空间下,只允许最多有一个PersistentVolumeClaim,最多有两个LoadBalancer类型的服务,并且不允许有NodePort类型的服务

    创建一个PersistentVolumeClaim

    以下是创建PersistentVolumeClaim对象的文件

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-quota-demo
    spec:
      storageClassName: manual
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 3Gi
    

    通过命令创建它

    kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc.yaml --namespace=quota-object-example
    

    确认已经创建:

    kubectl get `persistentvolumeclaims` --namespace=quota-object-example
    
    NAME             STATUS
    pvc-quota-demo   Pending
    

    输出信息显示persistentvolumeclaims对象已经创建并且状态为pending

    下面尝试再创建一个PersistentVolumeClaim

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-quota-demo-2
    spec:
      storageClassName: manual
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 4Gi
    

    执行创建命令

    kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc-2.yaml --namespace=quota-object-example
    
    persistentvolumeclaims "pvc-quota-demo-2" is forbidden:
    exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1,
    used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1
    

    通过输出信息可以看到,第二个persistantPersistentVolumeClaim没有被创建,因为超过了资源配额

    注:以下字符串类型可以被用来可以被资源配额使用

    字符串 API 对象
    "pods" Pod
    "services Service
    "replicationcontrollers" ReplicationController
    "resourcequotas" ResourceQuota
    "secrets" Secret
    "configmaps" ConfigMap
    "persistentvolumeclaims" PersistentVolumeClaim
    "services.nodeports" Service of type NodePort
    "services.loadbalancers" Service of type LoadBalancer

    删除资源配额

    kubectl delete namespace quota-object-example
    
  • 相关阅读:
    c# DateTime 格式化输出字符串
    计算运行时长
    ubuntu helpers
    json.net omit member
    git 本地项目关联新repo
    c# DirectoryEntry LDAPS
    为视图或函数指定的列名比其定义中的列多
    Java反序列化漏洞学习笔记
    流量抓包
    软件安全策略-下
  • 原文地址:https://www.cnblogs.com/tylerzhou/p/11031693.html
Copyright © 2011-2022 走看看