Kubernetes资源配额

本文详细介绍了如何在 Kubernetes 中为 namespace 设置资源配额,包括Pod、CPU和内存的限制,以及如何配置Pod的服务质量等级。通过示例展示了创建、验证和删除配额的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配额

1、给namespace设置Pod配额

# 编写 quota-pod.yaml 
apiVersion: v1
kind: ResourceQuota
metadata:
  name: pod-quato
spec:
  hard:
    pods: "2"
    
#给andriy-dang设置pod配额
kubectl create -f quota-pod.yaml --namespace=andriy-dang

#查看配额信息
kubectl get resourcequota pod-quato --namespace=andriy-dang --output=yaml
	apiVersion: v1
	kind: ResourceQuota
	metadata:
	  creationTimestamp: 2018-03-14T05:34:26Z
	  name: pod-quato
	  namespace: andriy-dang
	  resourceVersion: "209063"
	  selfLink: /api/v1/namespaces/andriy-dang/resourcequotas/pod-quato
	  uid: 5be0e7f4-2749-11e8-ad43-d00d8f137bac
	spec:
	  hard:
	    pods: "2"
	status:
	  hard:
	    pods: "2"
	  used:
	    pods: "1"
	    
#创建deployment验证pod配额
编写quota-deploy.yaml 
	apiVersion: apps/v1beta1
	kind: Deployment
	metadata:
	  name: deploy-quota-demo
	  namespace: andriy-dang
	spec:
	  replicas: 3
	  template:
	    metadata:
	      labels:
	        purpose: quota-demo
	    spec:
	      containers:
	      - name: pod-quota-demo
	        image: nginx
	        
#创建deployment
kubectl create -f quota-deploy.yaml

#查看deployment详细信息(可以看出只创建了一个pod)

kubectl get deployment -n andriy-dang deploy-quota-demo -o yaml
	status:
 	 availableReplicas: 1

kubectl describe deployment deploy-quota-demo -n andriy-dang 
	Name:                   deploy-quota-demo
	Namespace:              andriy-dang
	CreationTimestamp:      Wed, 14 Mar 2018 13:45:08 +0800
	Labels:                 purpose=quota-demo
	Annotations:            deployment.kubernetes.io/revision=1
	Selector:               purpose=quota-demo
	Replicas:               3 desired | 1 updated | 1 total | 1 available | 2 unavailable
	StrategyType:           RollingUpdate
	MinReadySeconds:        0
	RollingUpdateStrategy:  25% max unavailable, 25% max surge
	Pod Template:
	  Labels:  purpose=quota-demo
	  Containers:
	   pod-quota-demo:
	    Image:        nginx
	    Port:         <none>
	    Environment:  <none>
	    Mounts:       <none>
	  Volumes:        <none>
	Conditions:
	  Type             Status  Reason
	  ----             ------  ------
	  Available        False   MinimumReplicasUnavailable
	  ReplicaFailure   True    FailedCreate
	  Progressing      True    ReplicaSetUpdated
	OldReplicaSets:    <none>
	NewReplicaSet:     deploy-quota-demo-6fc6b469cb (1/3 replicas created)
	Events:
	  Type    Reason             Age   From                   Message
	  ----    ------             ----  ----                   -------
	  Normal  ScalingReplicaSet  24s   deployment-controller  Scaled up replica set deploy-			quota-demo-6fc6b469cb to 3

2、为namespace设置CPU配额

#设置cpu资源配额(请求为0.5,最大为1)
编写 quota-cpu.yaml 
	apiVersion: v1
	kind: LimitRange
	metadata:
	  name: cpu-limit-range
	spec:
	  limits:
	  - default:
	      cpu: 1
	    defaultRequest:
	      cpu: 0.5
    	type: Container

#为andriy-dang设置配额
kubectl create -f quota-cpu.yaml --namespace=andriy-dang

#创建Pod(不指定CPU值,该容器会被赋予一个默认的CPU请求值0.5和一个默认的CPU限额值1)
编写 cpu-test.yaml 
	apiVersion: v1
	kind: Pod
	metadata:
	  name: cpu-test
	  namespace: andriy-dang
	spec:
	  containers:
	  - name: cpu-test
	    image: nginx
	    
#查看Pod配置
kubectl get pod -n andriy-dang cpu-test -o yaml
	spec:
 	 contain
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值