Skip to content

Commit

Permalink
Merge branch 'update-readme-0.13.0-rc.1' into 'release-0.13'
Browse files Browse the repository at this point in the history
Update README and RELEASE to v0.13.0-rc.1

See merge request nvidia/kubernetes/device-plugin!215
  • Loading branch information
Evan Lezar committed Oct 11, 2022
2 parents 3c33fa9 + d10f2dd commit 0930c36
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 23 deletions.
54 changes: 32 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Please note that:

The list of prerequisites for running the NVIDIA device plugin is described below:
* NVIDIA drivers ~= 384.81
* nvidia-docker >= 2.0 || nvidia-container-toolkit >= 1.7.0
* nvidia-docker >= 2.0 || nvidia-container-toolkit >= 1.7.0 (>= 1.11.0 to use integrated GPUs on Tegra-based systems)
* nvidia-container-runtime configured as the default low-level runtime
* Kubernetes version >= 1.10

Expand Down Expand Up @@ -124,7 +124,7 @@ Once you have configured the options above on all the GPU nodes in your
cluster, you can enable GPU support by deploying the following Daemonset:

```shell
$ kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.12.3/nvidia-device-plugin.yml
$ kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.13.0-rc.1/nvidia-device-plugin.yml
```

**Note:** This is a simple static daemonset meant to demonstrate the basic
Expand Down Expand Up @@ -462,11 +462,11 @@ $ helm repo add nvdp https://nvidia.github.io/k8s-device-plugin
$ helm repo update
```

Then verify that the latest release (`v0.12.3`) of the plugin is available:
Then verify that the latest release (`v0.13.0-rc.1`) of the plugin is available:
```
$ helm search repo nvdp --devel
NAME CHART VERSION APP VERSION DESCRIPTION
nvdp/nvidia-device-plugin 0.12.3 0.12.3 A Helm chart for ...
nvdp/nvidia-device-plugin 0.13.0-rc.1 0.13.0-rc.1 A Helm chart for ...
```

Once this repo is updated, you can begin installing packages from it to deploy
Expand All @@ -477,7 +477,7 @@ The most basic installation command without any options is then:
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--namespace nvidia-device-plugin \
--create-namespace \
--version 0.12.3
--version 0.13.0-rc.1
```

**Note:** You only need the to pass the `--devel` flag to `helm search repo`
Expand All @@ -486,7 +486,7 @@ version (e.g. `<version>-rc.1`). Full releases will be listed without this.

### Configuring the device plugin's `helm` chart

The `helm` chart for the latest release of the plugin (`v0.12.3`) includes
The `helm` chart for the latest release of the plugin (`v0.13.0-rc.1`) includes
a number of customizable values.

Prior to `v0.12.0` the most commonly used values were those that had direct
Expand All @@ -496,7 +496,7 @@ case of the original values is then to override an option from the `ConfigMap`
if desired. Both methods are discussed in more detail below.

The full set of values that can be set are found here:
[here](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.12.3/deployments/helm/nvidia-device-plugin/values.yaml).
[here](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.13.0-rc.1/deployments/helm/nvidia-device-plugin/values.yaml).

#### Passing configuration to the plugin via a `ConfigMap`.

Expand Down Expand Up @@ -535,7 +535,7 @@ EOF
And deploy the device plugin via helm (pointing it at this config file and giving it a name):
```
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set-file config.map.config=/tmp/dp-example-config0.yaml
Expand All @@ -557,7 +557,7 @@ $ kubectl create cm -n nvidia-device-plugin nvidia-plugin-configs \
```
```
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set config.name=nvidia-plugin-configs
Expand Down Expand Up @@ -585,7 +585,7 @@ EOF
And redeploy the device plugin via helm (pointing it at both configs with a specified default).
```
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set config.default=config0 \
Expand All @@ -604,7 +604,7 @@ $ kubectl create cm -n nvidia-device-plugin nvidia-plugin-configs \
```
```
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set config.default=config0 \
Expand Down Expand Up @@ -690,7 +690,7 @@ chart values that are commonly overridden are:
```

Please take a look in the
[`values.yaml`](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.12.3/deployments/helm/nvidia-device-plugin/values.yaml)
[`values.yaml`](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.13.0-rc.1/deployments/helm/nvidia-device-plugin/values.yaml)
file to see the full set of overridable parameters for the device plugin.

Examples of setting these options include:
Expand All @@ -699,7 +699,7 @@ Enabling compatibility with the `CPUManager` and running with a request for
100ms of CPU time and a limit of 512MB of memory.
```shell
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set compatWithCPUManager=true \
Expand All @@ -710,7 +710,7 @@ $ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
Using the legacy Daemonset API (only available on Kubernetes < `v1.16`):
```shell
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set legacyDaemonsetAPI=true
Expand All @@ -719,7 +719,7 @@ $ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
Enabling compatibility with the `CPUManager` and the `mixed` `migStrategy`
```shell
$ helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set compatWithCPUManager=true \
Expand All @@ -738,7 +738,7 @@ Discovery to perform this labeling.
To enable it, simply set `gfd.enabled=true` during helm install.
```
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.12.3 \
--version=0.13.0-rc.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set gfd.enabled=true
Expand All @@ -758,7 +758,7 @@ described [above](#shared-access-to-gpus-with-cuda-time-slicing).
nvidia.com/<resource-name>.replicas = <num-replicas>
```

Additionally, the `nvidia.com/<resource-name>.product` will be modified as follows if
Additionally, the `nvidia.com/<resource-name>.product` will be modified as follows if
`renameByDefault=false`.
```
nvidia.com/<resource-name>.product = <product name>-SHARED
Expand Down Expand Up @@ -793,31 +793,31 @@ Using the default values for the flags:
$ helm upgrade -i nvdp \
--namespace nvidia-device-plugin \
--create-namespace \
https://nvidia.github.io/k8s-device-plugin/stable/nvidia-device-plugin-0.12.3.tgz
https://nvidia.github.io/k8s-device-plugin/stable/nvidia-device-plugin-0.13.0-rc.1.tgz
```

## Building and Running Locally

The next sections are focused on building the device plugin locally and running it.
It is intended purely for development and testing, and not required by most users.
It assumes you are pinning to the latest release tag (i.e. `v0.12.3`), but can
It assumes you are pinning to the latest release tag (i.e. `v0.13.0-rc.1`), but can
easily be modified to work with any available tag or branch.

### With Docker

#### Build
Option 1, pull the prebuilt image from [Docker Hub](https://hub.docker.com/r/nvidia/k8s-device-plugin):
```shell
$ docker pull nvcr.io/nvidia/k8s-device-plugin:v0.12.3
$ docker tag nvcr.io/nvidia/k8s-device-plugin:v0.12.3 nvcr.io/nvidia/k8s-device-plugin:devel
$ docker pull nvcr.io/nvidia/k8s-device-plugin:v0.13.0-rc.1
$ docker tag nvcr.io/nvidia/k8s-device-plugin:v0.13.0-rc.1 nvcr.io/nvidia/k8s-device-plugin:devel
```

Option 2, build without cloning the repository:
```shell
$ docker build \
-t nvcr.io/nvidia/k8s-device-plugin:devel \
-f deployments/container/Dockerfile.ubuntu \
https://github.com/NVIDIA/k8s-device-plugin.git#v0.12.3
https://github.com/NVIDIA/k8s-device-plugin.git#v0.13.0-rc.1
```

Option 3, if you want to modify the code:
Expand Down Expand Up @@ -871,6 +871,16 @@ $ ./k8s-device-plugin --pass-device-specs

## Changelog

### Version v0.13.0-rc.1

- Improve health checks to detect errors when waiting on device events
- Log ECC error events detected during health check
- Add the GIT sha to version information for the CLI and container images
- Use NVML interfaces from go-nvlib to query devices
- Refactor plugin creation from resources
- Add a CUDA-based resource manager that can be used to expose integrated devices on Tegra-based systems
- Bump GFD subchart to version 0.7.0-rc.1

### Version v0.12.3

- Bump cuda base image to 11.7.1
Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Publishing the helm chart is currently manual, and we should move to an automate

# Release Process Checklist
- [ ] Update the README changelog
- [ ] Update the README to change occurances of the old version (e.g: `v0.12.3`) with the new version
- [ ] Update the README to change occurances of the old version (e.g: `v0.13.0-rc.1`) with the new version
- [ ] Commit, Tag and Push to Gitlab
- [ ] Build a new helm package with `helm package ./deployments/helm/nvidia-device-plugin`
- [ ] Switch to the `gh-pages` branch and move the newly generated package to the `stable` helm repo
Expand Down

0 comments on commit 0930c36

Please sign in to comment.