From 29d72297f741bb0d996849e2377fc8976420d053 Mon Sep 17 00:00:00 2001 From: Renaud Gaubert Date: Tue, 8 Oct 2019 14:25:10 -0700 Subject: [PATCH] Fix broken daemonset spec Signed-off-by: Renaud Gaubert --- extensions-v1beta1-nvidia-device-plugin.yml | 58 +++++++++++++++++++++ nvidia-device-plugin.yml | 3 ++ 2 files changed, 61 insertions(+) create mode 100644 extensions-v1beta1-nvidia-device-plugin.yml diff --git a/extensions-v1beta1-nvidia-device-plugin.yml b/extensions-v1beta1-nvidia-device-plugin.yml new file mode 100644 index 000000000..d62921c18 --- /dev/null +++ b/extensions-v1beta1-nvidia-device-plugin.yml @@ -0,0 +1,58 @@ +# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. +# +# 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. + +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: nvidia-device-plugin-daemonset + namespace: kube-system +spec: + updateStrategy: + type: RollingUpdate + template: + metadata: + # This annotation is deprecated. Kept here for backward compatibility + # See https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/ + annotations: + scheduler.alpha.kubernetes.io/critical-pod: "" + labels: + name: nvidia-device-plugin-ds + spec: + tolerations: + # This toleration is deprecated. Kept here for backward compatibility + # See https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/ + - key: CriticalAddonsOnly + operator: Exists + - key: nvidia.com/gpu + operator: Exists + effect: NoSchedule + # Mark this pod as a critical add-on; when enabled, the critical add-on + # scheduler reserves resources for critical add-on pods so that they can + # be rescheduled after a failure. + # See https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/ + priorityClassName: "system-node-critical" + containers: + - image: nvidia/k8s-device-plugin:1.0.0-beta + name: nvidia-device-plugin-ctr + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + volumeMounts: + - name: device-plugin + mountPath: /var/lib/kubelet/device-plugins + volumes: + - name: device-plugin + hostPath: + path: /var/lib/kubelet/device-plugins diff --git a/nvidia-device-plugin.yml b/nvidia-device-plugin.yml index 163290d8f..b0c439696 100644 --- a/nvidia-device-plugin.yml +++ b/nvidia-device-plugin.yml @@ -18,6 +18,9 @@ metadata: name: nvidia-device-plugin-daemonset namespace: kube-system spec: + selector: + matchLabels: + name: nvidia-device-plugin-ds updateStrategy: type: RollingUpdate template: