diff --git a/pkg/kubemanifest/BUILD.bazel b/pkg/kubemanifest/BUILD.bazel index 9c896174ea..818a3f5dcd 100644 --- a/pkg/kubemanifest/BUILD.bazel +++ b/pkg/kubemanifest/BUILD.bazel @@ -6,6 +6,7 @@ go_library( "critical.go", "images.go", "manifest.go", + "priority.go", "visitor.go", "volumes.go", ], diff --git a/pkg/kubemanifest/priority.go b/pkg/kubemanifest/priority.go new file mode 100644 index 0000000000..a94e17f66b --- /dev/null +++ b/pkg/kubemanifest/priority.go @@ -0,0 +1,31 @@ +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package kubemanifest + +import ( + v1 "k8s.io/api/core/v1" +) + +// MarkPodAsNodeCritical sets the pod priority to system-node-critical +func MarkPodAsNodeCritical(pod *v1.Pod) { + pod.Spec.PriorityClassName = "system-node-critical" +} + +// MarkPodAsClusterCritical sets the pod priority to system-cluster-critical +func MarkPodAsClusterCritical(pod *v1.Pod) { + pod.Spec.PriorityClassName = "system-cluster-critical" +}