Add nvidia-driver-installer and nvidia-gpu-device-plugin addons.
parent
268c932240
commit
96079478a7
|
@ -212,6 +212,18 @@ var settings = []Setting{
|
|||
validations: []setFn{IsValidAddon},
|
||||
callbacks: []setFn{EnableOrDisableAddon},
|
||||
},
|
||||
{
|
||||
name: "nvidia-driver-installer",
|
||||
set: SetBool,
|
||||
validations: []setFn{IsValidAddon},
|
||||
callbacks: []setFn{EnableOrDisableAddon},
|
||||
},
|
||||
{
|
||||
name: "nvidia-gpu-device-plugin",
|
||||
set: SetBool,
|
||||
validations: []setFn{IsValidAddon},
|
||||
callbacks: []setFn{EnableOrDisableAddon},
|
||||
},
|
||||
{
|
||||
name: "hyperv-virtual-switch",
|
||||
set: SetString,
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
# Copyright 2018 The Kubernetes Authors 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.
|
||||
|
||||
# The Dockerfile and other source for this daemonset are in
|
||||
# https://github.com/GoogleCloudPlatform/container-engine-accelerators/tree/master/nvidia-driver-installer/minikube
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: nvidia-driver-installer
|
||||
namespace: kube-system
|
||||
labels:
|
||||
k8s-app: nvidia-driver-installer
|
||||
kubernetes.io/minikube-addons: nvidia-driver-installer
|
||||
addonmanager.kubernetes.io/mode: Reconcile
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: nvidia-driver-installer
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
k8s-app: nvidia-driver-installer
|
||||
spec:
|
||||
tolerations:
|
||||
- key: "nvidia.com/gpu"
|
||||
effect: "NoSchedule"
|
||||
operator: "Exists"
|
||||
volumes:
|
||||
- name: dev
|
||||
hostPath:
|
||||
path: /dev
|
||||
- name: nvidia-install-dir-host
|
||||
hostPath:
|
||||
path: /home/kubernetes/bin/nvidia
|
||||
- name: root-mount
|
||||
hostPath:
|
||||
path: /
|
||||
initContainers:
|
||||
- image: k8s.gcr.io/minikube-nvidia-driver-installer@sha256:85cbeadb8bee62a96079823e81915955af0959063ff522ec01522e4edda28f33
|
||||
name: nvidia-driver-installer
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.15
|
||||
securityContext:
|
||||
privileged: true
|
||||
env:
|
||||
- name: NVIDIA_INSTALL_DIR_HOST
|
||||
value: /home/kubernetes/bin/nvidia
|
||||
- name: NVIDIA_INSTALL_DIR_CONTAINER
|
||||
value: /usr/local/nvidia
|
||||
- name: ROOT_MOUNT_DIR
|
||||
value: /root
|
||||
volumeMounts:
|
||||
- name: nvidia-install-dir-host
|
||||
mountPath: /usr/local/nvidia
|
||||
- name: dev
|
||||
mountPath: /dev
|
||||
- name: root-mount
|
||||
mountPath: /root
|
||||
containers:
|
||||
- image: "gcr.io/google-containers/pause:2.0"
|
||||
name: pause
|
|
@ -0,0 +1,67 @@
|
|||
# Copyright 2018 The Kubernetes Authors 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: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: nvidia-gpu-device-plugin
|
||||
namespace: kube-system
|
||||
labels:
|
||||
k8s-app: nvidia-gpu-device-plugin
|
||||
kubernetes.io/minikube-addons: nvidia-gpu-device-plugin
|
||||
addonmanager.kubernetes.io/mode: Reconcile
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: nvidia-gpu-device-plugin
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
k8s-app: nvidia-gpu-device-plugin
|
||||
annotations:
|
||||
scheduler.alpha.kubernetes.io/critical-pod: ''
|
||||
spec:
|
||||
priorityClassName: system-node-critical
|
||||
tolerations:
|
||||
- operator: "Exists"
|
||||
effect: "NoExecute"
|
||||
- operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
volumes:
|
||||
- name: device-plugin
|
||||
hostPath:
|
||||
path: /var/lib/kubelet/device-plugins
|
||||
- name: dev
|
||||
hostPath:
|
||||
path: /dev
|
||||
containers:
|
||||
- image: "k8s.gcr.io/nvidia-gpu-device-plugin@sha256:0842734032018be107fa2490c98156992911e3e1f2a21e059ff0105b07dd8e9e"
|
||||
command: ["/usr/bin/nvidia-gpu-device-plugin", "-logtostderr"]
|
||||
name: nvidia-gpu-device-plugin
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 10Mi
|
||||
limits:
|
||||
cpu: 50m
|
||||
memory: 10Mi
|
||||
securityContext:
|
||||
privileged: true
|
||||
volumeMounts:
|
||||
- name: device-plugin
|
||||
mountPath: /device-plugin
|
||||
- name: dev
|
||||
mountPath: /dev
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
|
@ -15,6 +15,8 @@ $ minikube addons list
|
|||
- ingress: disabled
|
||||
- default-storageclass: enabled
|
||||
- storage-provisioner: enabled
|
||||
- nvidia-driver-installer: disabled
|
||||
- nvidia-gpu-device-plugin: disabled
|
||||
|
||||
# minikube must be running for these commands to take effect
|
||||
$ minikube addons enable heapster
|
||||
|
@ -36,6 +38,8 @@ The currently supported addons include:
|
|||
* [CoreDNS](https://github.com/coredns/deployment/tree/master/kubernetes)
|
||||
* [Ingress](https://github.com/kubernetes/ingress-nginx)
|
||||
* [Freshpod](https://github.com/GoogleCloudPlatform/freshpod)
|
||||
* [nvidia-driver-installer](https://github.com/GoogleCloudPlatform/container-engine-accelerators/tree/master/nvidia-driver-installer/minikube)
|
||||
* [nvidia-gpu-device-plugin](https://github.com/GoogleCloudPlatform/container-engine-accelerators/tree/master/cmd/nvidia_gpu)
|
||||
|
||||
If you would like to have minikube properly start/restart custom addons, place the addon(s) you wish to be launched with minikube in the `.minikube/addons` directory. Addons in this folder will be moved to the minikube VM and launched each time minikube is started/restarted.
|
||||
|
||||
|
|
|
@ -257,6 +257,20 @@ var Addons = map[string]*Addon{
|
|||
"freshpod-rc.yaml",
|
||||
"0640"),
|
||||
}, false, "freshpod"),
|
||||
"nvidia-driver-installer": NewAddon([]*BinDataAsset{
|
||||
NewBinDataAsset(
|
||||
"deploy/addons/gpu/nvidia-driver-installer.yaml",
|
||||
constants.AddonsPath,
|
||||
"nvidia-driver-installer.yaml",
|
||||
"0640"),
|
||||
}, false, "nvidia-driver-installer"),
|
||||
"nvidia-gpu-device-plugin": NewAddon([]*BinDataAsset{
|
||||
NewBinDataAsset(
|
||||
"deploy/addons/gpu/nvidia-gpu-device-plugin.yaml",
|
||||
constants.AddonsPath,
|
||||
"nvidia-gpu-device-plugin.yaml",
|
||||
"0640"),
|
||||
}, false, "nvidia-gpu-device-plugin"),
|
||||
}
|
||||
|
||||
func AddMinikubeDirAssets(assets *[]CopyableFile) error {
|
||||
|
|
Loading…
Reference in New Issue