Kubernetes 默认情况下为命名空间设置priorityclass
我想知道如何在默认情况下为特定名称空间中的所有pod设置priorityClass,而不使用Kubernetes 默认情况下为命名空间设置priorityclass,kubernetes,Kubernetes,我想知道如何在默认情况下为特定名称空间中的所有pod设置priorityClass,而不使用 globalvalue:true 可能是和管理员在一起,但我不知道 你有具体的例子吗?PriorityClass:PriorityClass是一个没有名称空间的对象 apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: name: high-priority value: 1000000 description: "T
globalvalue:true
可能是和管理员在一起,但我不知道
你有具体的例子吗?PriorityClass:PriorityClass是一个没有名称空间的对象
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: high-priority
value: 1000000
description: "This priority class should be used for pods."
$ kubectl get priorityclasses.scheduling.k8s.io
NAME VALUE GLOBAL-DEFAULT AGE
high-priority 1000000 false 10s
PriorityClass还有两个可选字段:globalDefault和description
globalDefault字段指示此PriorityClass的值应用于没有priorityClassName的POD
系统中只能存在一个globalDefault设置为true的PriorityClass。如果没有设置globalDefault的PriorityClass,则没有priorityClassName的POD的优先级为零
使用下面的yaml创建优先级类(未设置globalDefault标志)
现在将优先级类添加到pod清单中,并将它们安排在您的命名空间中
$ kubectl create namespace priority-test
namespace/priority-test created
$ kubectl get namespaces
NAME STATUS AGE
default Active 43m
kube-node-lease Active 43m
kube-public Active 43m
kube-system Active 43m
priority-test Active 5s
示例:pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
priorityClassName: high-priority
$ kubectl apply -f pod.yaml -n priority-test
pod/nginx created
ubuntu@k8s-master-1:~$ kubectl get all -n priority-test
NAME READY STATUS RESTARTS AGE
pod/nginx 1/1 Running 0 25s
$ kubectl describe pod -n priority-test nginx | grep -i priority
Namespace: priority-test
Priority: 1000000
Priority Class Name: high-priority
Normal Scheduled <unknown> default-scheduler Successfully assigned priority-test/nginx to worker-1
apiVersion:v1
种类:豆荚
元数据:
姓名:nginx
规格:
容器:
-姓名:nginx
图片:nginx
priorityClassName:高优先级
$kubectl应用-f吊舱yaml-n优先级测试
pod/nginx已创建
ubuntu@k8s-master-1:~$kubectl获得全部-n优先级测试
名称就绪状态重新启动
pod/nginx 1/1运行0 25s
$kubectl描述pod-n优先级测试nginx | grep-i优先级
名称空间:优先级测试
优先权:100万
优先级类名称:高优先级
正常计划的默认计划程序已成功将优先级测试/nginx分配给worker-1
当前每个命名空间的优先级都不可能 但是,如果改为使用
globalDefault:true
设置默认值priorityClass
,例如值:1000
,则可以获得类似的结果。接下来创建另一个优先级较低的类,例如value:100
,并将其添加到所有开发/暂存吊舱中
顺便说一句,与问题没有直接关系,但如果使用
nodeSelector
s并将dev pod安排到单独的节点上,则可以更轻松地完成所需任务。通过这种方式,生产吊舱不必与非必要吊舱争夺资源。您能否起草一个您想要实现的具体目标的示例?有关更多信息,我想保护系统部署(longhorn grafana prometheus和其他此类应用程序)并自动为少数命名空间设置系统群集关键优先级类,而无需修改这些应用程序。目前我不能对我们的开发团队施加限制或配额,但我必须保护系统吊舱