容器编排技术 -- Kubernetes 为 Namespace 配置Pod配额

  • 1 Before you begin
  • 2 创建名字空间
  • 3 创建ResourceQuota对象
  • 4 练习环境的清理
  • 5 What’s next
    • 5.1 对于集群管理员
    • 5.2 对于应用开发者

This page shows how to set a quota for the total number of Pods that can run in a namespace. You specify quotas in a ResourceQuota object. 本任务展示了如何为某一名字空间(namespace)设置Pod配额以限制可以在名字空间中运行的Pod数量。 配额通过ResourceQuota对象设置。

Before you begin

You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube.

创建名字空间

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

kubectl create namespace quota-pod-example

创建ResourceQuota对象

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

quota-pod.yaml 
apiVersion: v1
kind: ResourceQuota
metadata:name: pod-demo
spec:hard:pods: "2"

下面,首先创建ResourceQuota对象

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

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

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

命令输出显示了这个名字空间的Pod配额是2,由于目前没有Pod运行,所有配额并没有被使用。

spec:hard:pods: "2"
status:hard:pods: "2"used:pods: "0"

下面展示的是一个Deployment的配置文件:

quota-pod-deployment.yaml 
apiVersion: apps/v1beta1
kind: Deployment
metadata:name: pod-quota-demo
spec:replicas: 3template:metadata:labels:purpose: quota-demospec:containers:- name: pod-quota-demoimage: nginx

从配置文件可以看到,replicas: 3将令Kubernetes尝试创建3个Pod,所有的Pod实例都将运行同样的应用程序。

接下来尝试创建这个Deployment:

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

并通过以下命令查看Deployment的详细信息:

kubectl get deployment pod-quota-demo --namespace=quota-pod-example --output=yaml

从命令输出可以看到尽管在Deployment中我们设置了需要启动3个Pod实例,但由于配额的存在,只有两个Pod被成功创建。

spec:...replicas: 3
...
status:availableReplicas: 2
...
lastUpdateTime: 2017-07-07T20:57:05Zmessage: 'unable to create pods: pods "pod-quota-demo-1650323038-" is forbidden:exceeded quota: pod-demo, requested: pods=1, used: pods=2, limited: pods=2'

练习环境的清理

通过删除名字空间即可完成环境的清理:

kubectl delete namespace quota-pod-example

What’s next

对于集群管理员

  • 为 Namespace 设置最小和最大内存限制
  • 为 Namespace 配置默认内存请求和限制
  • 为 Namespace 配置默认 CPU 请求和限制
  • 为 Namespace 配置最小和最大 CPU 限制
  • 为 Namespace 配置内存和 CPU 配额
  • 为 Namespace 配置 Pod 配额
  • 为 API 对象配置配额

对于应用开发者

  • 为容器和 Pod 分配内存资源
  • 为容器和 Pod 分配 CPU 资源
  • 为 Pod 配置服务质量

译者:xingzhou / 原文链接

容器编排技术 -- Kubernetes 为 Namespace 配置Pod配额相关推荐

  1. 容器编排技术 -- Kubernetes 为 Namespace 配置最小和最大 CPU 限制

    容器编排技术 -- Kubernetes 为 Namespace 配置最小和最大 CPU 限制 1 Before you begin 2 创建一个 namespace 3 创建一个 LimitRang ...

  2. 容器编排技术 -- Kubernetes 为 Namespace 配置CPU和内存配额

    容器编排技术 -- Kubernetes 为 Namespace 配置CPU和内存配额 1 Before you begin 2 创建名字空间 3 创建ResourceQuota对象 4 创建一个Po ...

  3. 容器编排技术 -- Kubernetes 为 Namespace 配置默认的内存请求与限额

    容器编排技术 -- Kubernetes 为 Namespace 配置默认的内存请求与限额 1 Before you begin 2 创建命名空间 3 创建 LimitRange 和 Pod 4 如果 ...

  4. 容器编排技术 -- Kubernetes 在 Namespace 中配置默认的CPU请求与限额

    容器编排技术 -- Kubernetes 在 Namespace 中配置默认的CPU请求与限额 1 Before you begin 2 创建一个命名空间 3 创建一个LimitRange和一个Pod ...

  5. 容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制

    容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制 1 Before you begin 2 创建一个 namespace 3 创建一个 LimitRange 和 ...

  6. 容器编排技术 -- Kubernetes 给 Pod 配置服务质量等级

    容器编排技术 -- Kubernetes 给 Pod 配置服务质量等级 1 Before you begin 2 QoS 等级 3 创建一个命名空间 4 创建一个 Pod 并分配 QoS 等级为 Gu ...

  7. 容器编排技术 -- Kubernetes DNS Pod 与 Service 介绍

    容器编排技术 -- Kubernetes DNS Pod 与 Service 介绍 1 介绍 2 怎样获取 DNS 名字? 3 支持的 DNS 模式 3.1 Service 3.1.1 A 记录 3. ...

  8. 容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源

    容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源 1 Before you begin 2 创建一个命名空间 3 声明一个CPU申请和限制 4 CPU 单位 5 请求的CPU超出 ...

  9. 容器编排技术 -- Kubernetes 给容器和Pod分配内存资源

    容器编排技术 -- Kubernetes 给容器和Pod分配内存资源 1 Before you begin 2 创建一个命名空间 3 配置内存申请和限制 4 超出容器的内存限制 5 配置超出节点能力范 ...

最新文章

  1. thinkphp 个别字段无法更新_香港华为手机大面积死机?只是个别手机更新出问题...
  2. java 使用webmagic 爬虫框架爬取博客园数据
  3. python语言程序设计实践教程答案实验六_20192417 实验一《Python程序设计》实验报告...
  4. 在SAP Hybris commerce Storefront里购物下单
  5. SiamBAN论文学习
  6. seqkit根据基因id_ID转换靠的是深厚的背景知识加上一点代码技巧
  7. python 画频率分布直方图求平均数_Python绘制频率分布直方图的示例
  8. 对接微信支付服务商后商户能得到哪些服务?
  9. 网站建设经验分享:如何设计及运营网站
  10. pyqt5 listView 列表显示
  11. 网上商城建设:微信小程序直播申请开通流程及开通方法
  12. 互联网+人社峰会召开腾讯开放三大能力建“人社”生态
  13. 7.20-7.22作业代码
  14. 利用OBS和手机摄像头录课(录屏/录像)时的方法与参数设置
  15. 这个世界有病,我们都有病
  16. IOS 使用支付宝的注意事项
  17. leetcode 537 py 中map函数用法
  18. Angular6路由复用策略解读
  19. 王老吉新零售借数字化运营加快营销创新步伐
  20. [论文记录] 2019 - Utilizing Arousal-Valence Relationship for Continuous Prediction of Valence in Movies

热门文章

  1. Linux文件的复制、删除和移动命
  2. 使用 Storyboard Segue 实作 UIViewController 的切换 (实例)
  3. UIImage 图像-IOS开发 (实例)
  4. 神奇的python(二)之python打包成应用程序
  5. spring IOC容器 Bean 管理——基于注解方式
  6. C++——多进程并发与多线程并发
  7. MySQL—常用指令总结
  8. 字节流抽象类 java
  9. 循环结构格式 java
  10. linux-索引1909