首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes 为API对象配置配额

Kubernetes 为API对象配置配额

作者头像
kubernetes中文社区
发布2019-06-24 16:33:26
7050
发布2019-06-24 16:33:26
举报

本任务将展示如何配置API对象的配额,包括对Kubernetes PersistentVolumeClaim对象 和Service对象的配额配置。配额限制了可以在某一名字空间(namespace)中所创建的特定类型的对象 的数量。可以通过ResourceQuota 对象设定配额。

创建名字空间

创建一个单独的名字空间,以便于隔离您在本练习中创建的资源与集群的其他资源。

kubectl create namespace quota-object-example

创建ResourceQuota对象

以下展示了ResourceQuota对象的配置文件内容:

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

下面,首先创建ResourceQuota对象:

kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects.yaml --namespace=quota-object-example

然后可以通过以下命令查看ResourceQuota对象的详细信息:

kubectl get resourcequota object-quota-demo --namespace=quota-object-example --output=yaml

上述命令的输出显示在quota-object-example名字空间中,最多可以创建一个PersistentVolumeClaim以及两个 LoadBalancer类型的Service,不能创建NodePort类型的Service。

status:
  hard:
    persistentvolumeclaims: "1"
    services.loadbalancers: "2"
    services.nodeports: "0"
  used:
    persistentvolumeclaims: "0"
    services.loadbalancers: "0"
    services.nodeports: "0"

创建一个PersistentVolumeClaim:

下面展示了一个PersistentVolumeClaim对象的配置文件内容:

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

创建这个PersistentVolumeClaim:

kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects-pvc.yaml --namespace=quota-object-example

接下来验证这个PersistentVolumeClaim已经被成功创建:

kubectl get persistentvolumeclaims --namespace=quota-object-example

上述命令的输出显示这个PersistentVolumeClaim已经存在在系统中并处于Pending状态:

NAME             STATUS
pvc-quota-demo   Pending

尝试创建第二个PersistentVolumeClaim:

第二个PersistentVolumeClaim的配置文件如下所示:

quota-objects-pvc-2.yaml

kind: PersistentVolumeClaimapiVersion: v1metadata: name: pvc-quota-demo-2spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 4Gi

尝试创建第二个PersistentVolumeClaim:

kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects-pvc-2.yaml --namespace=quota-object-example

以上命令的输出中可以看到第二个PersistentVolumeClaim没有被创建,因为如果创建 第二个PersistentVolumeClaim对象将违反名字空间中的配额限制。

persistentvolumeclaims "pvc-quota-demo-2" is forbidden:
exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1,
used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1

注意

以下字符串用于标记可以由配额限制的API资源:

本文翻译Kubernetes官方文档

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 kubernetes中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建名字空间
  • 创建ResourceQuota对象
  • 创建一个PersistentVolumeClaim:
  • 尝试创建第二个PersistentVolumeClaim:
  • 注意
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档