我有一些在集群中运行的可爆裂的豆荚,我不想在内存/cpu压力的情况下被杀死。
有什么方法可以增加其优先级或其他方法,因此我们不必更改其名称空间(Kube-System以使其至关重要),并且可以保存?
我发现了有关将优先级提高到POD的问题。但无法弄清楚解决方案。应该有某种方法来设置优先级,还是我在这里错过了一些大事?
pod优先级功能在kubernetes v1.7
在v1.8+
中,您可以在PODSpec中添加POD的优先级。您需要创建具有优先级值的PriorityClass对象,并在POD中使用PriorityClass名称。
,但最多可v1.9
,PriorityClass仍处于alpha阶段。
apiVersion: scheduling.k8s.io/v1alpha1
kind: PriorityClass
metadata:
name: high-priority
value: 1000000
globalDefault: false
在这里,
-
value
表示优先级。值越高,优先级
越高 -
globalDefault
表示该优先级值应用于没有PriorityClassName的POD。系统中只有一个具有GlobalDefault的优先级可以存在于系统中。
现在,让我们使用此优先级创建一个POD
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
priorityClassName: high-priority
preekention
创建POD时,如果没有找到满足该POD的所有指定要求的节点,则使用preekention Logic一个或多个较低的优先级POD从节点中删除。豆荚消失后,在节点上安排了更高优先级的豆荚。
请参阅有关POD优先级的详细信息。