Skip to content

Commit 55b6e7c

Browse files
Merge pull request #37 from NVIDIA/docs-nits
Typos and CONTRIBUTING
2 parents 9cbed6d + 18be288 commit 55b6e7c

File tree

3 files changed

+115
-117
lines changed

3 files changed

+115
-117
lines changed

CONTRIBUTING.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<!--
2+
SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
SPDX-License-Identifier: Apache-2.0
4+
-->
5+
6+
# Contributing
7+
8+
Want to hack on the NVIDIA NIM Operator? Awesome!
9+
We only require that you to sign your work, the following section describes this!
10+
11+
The sign-off is a simple line at the end of the explanation for the patch. Your
12+
signature certifies that you wrote the patch or otherwise have the right to pass
13+
it on as an open-source patch. The rules are pretty simple: if you can certify
14+
the below (from [developercertificate.org](http://developercertificate.org/)):
15+
16+
```
17+
Developer Certificate of Origin
18+
Version 1.1
19+
20+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
21+
1 Letterman Drive
22+
Suite D4700
23+
San Francisco, CA, 94129
24+
25+
Everyone is permitted to copy and distribute verbatim copies of this
26+
license document, but changing it is not allowed.
27+
28+
Developer's Certificate of Origin 1.1
29+
30+
By making a contribution to this project, I certify that:
31+
32+
(a) The contribution was created in whole or in part by me and I
33+
have the right to submit it under the open source license
34+
indicated in the file; or
35+
36+
(b) The contribution is based upon previous work that, to the best
37+
of my knowledge, is covered under an appropriate open source
38+
license and I have the right under that license to submit that
39+
work with modifications, whether created in whole or in part
40+
by me, under the same open source license (unless I am
41+
permitted to submit under a different license), as indicated
42+
in the file; or
43+
44+
(c) The contribution was provided directly to me by some other
45+
person who certified (a), (b) or (c) and I have not modified
46+
it.
47+
48+
(d) I understand and agree that this project and the contribution
49+
are public and that a record of the contribution (including all
50+
personal information I submit with it, including my sign-off) is
51+
maintained indefinitely and may be redistributed consistent with
52+
this project or the open source license(s) involved.
53+
```
54+
55+
Then you just add a line to every git commit message:
56+
57+
Signed-off-by: Joe Smith <[email protected]>
58+
59+
Use your real name (sorry, no pseudonyms or anonymous contributions.)
60+
61+
If you set your `user.name` and `user.email` git configs, you can sign your
62+
commit automatically with `git commit -s`.

README.md

Lines changed: 47 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,173 +1,106 @@
1-
# The NVIDIA NIM Operator
2-
An Operator for the deployment and maintenance of various NVIDIA NIMs and NeMo microservices in a Kubernetes environment.
1+
<!--
2+
SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
SPDX-License-Identifier: Apache-2.0
4+
-->
35

4-
## Description
5-
The NVIDIA NIM Operator is a Kubernetes operator designed to facilitate the deployment, management, and scaling of NVIDIA NIMs and related NeMo microservices. The NIM Operator streamlines the integration of these powerful AI capabilities into cloud-native environments such as Kubernetes, leveraging NVIDIA GPUs.
6+
# NVIDIA NIM Operator
7+
8+
NVIDIA NIM Operator is a Kubernetes Operator that is designed to facilitate the deployment, management, and scaling of NVIDIA NIM microservices on Kubernetes clusters.
9+
10+
NVIDIA NIM microservices deliver AI foundation models as accelerated inference microservices that are portable across data center, workstation, and cloud, accelerating flexible generative AI development, deployment and time to value.
611

712
## Getting Started
813

914
### Prerequisites
10-
- Access to a Kubernetes v1.28+ cluster with supported NVIDIA GPUs
1115

12-
### To Deploy on the cluster
16+
- Kubernetes v1.28 and higher.
17+
- NVIDIA GPUs that are supported by the NIM microservices to deploy.
18+
19+
### Deploying the Operator on the Cluster
20+
1321
**Build and push your image to the location specified by `IMG`:**
1422

1523
```sh
16-
make docker-build docker-push IMG=nvcr.io/nvidia/cloud-native/k8s-nim-operator:v0.1.0
24+
make docker-build docker-push IMG=<your-private-registry>/k8s-nim-operator:<tag>
1725
```
1826

19-
**NOTE:** This image ought to be published in the personal registry you specified.
20-
And it is required to have access to pull the image from the working environment.
21-
Make sure you have the proper permission to the registry if the above commands don’t work.
27+
> Publish the image to a personal registry.
28+
> You must be able to pull the image from the working environment.
29+
> Make sure you have the proper permission to the registry if the preceding commands result in an error.
2230
2331
**Install the CRDs into the cluster:**
2432

2533
```sh
2634
make install
2735
```
2836

29-
**Deploy the Manager to the cluster with the image specified by `IMG`:**
37+
**Deploy the manager to the cluster with the image specified by `IMG`:**
3038

3139
```sh
32-
make deploy IMG=nvcr.io/nvidia/cloud-native/k8s-nim-operator:v0.1.0
40+
make deploy IMG=<your-private-registry>/k8s-nim-operator:<tag>
3341
```
3442

35-
> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin
43+
> If you encounter RBAC errors, you might need to grant yourself cluster-admin
3644
privileges or be logged in as admin.
45+
> Ensure that the samples have default values.
3746
38-
>**NOTE**: Ensure that the samples has default values to test it out.
47+
### Deploying Sample `NIMCache` and `NIMService` Resources
3948

40-
### To Deploy a sample `NIMCache` and `NIMService` instance
49+
Follow the guides in the [docs](./docs) directory to deploy sample CR instances.
4150

42-
Follow the guides [here](https://github.com/NVIDIA/k8s-nim-operator/-/tree/main/docs?ref_type=heads) to deploy sample CR instances.
51+
### Uninstalling the Operator
4352

44-
### To Uninstall
4553
**Delete the instances (CRs) from the cluster:**
4654

4755
```sh
4856
kubectl delete -k config/samples/
4957
```
5058

51-
**Delete the APIs(CRDs) from the cluster:**
59+
**Delete the APIs (CRDs) from the cluster:**
5260

5361
```sh
5462
make uninstall
5563
```
5664

57-
**UnDeploy the controller from the cluster:**
65+
**Undeploy the controller from the cluster:**
5866

5967
```sh
6068
make undeploy
6169
```
6270

6371
## Project Distribution
6472

65-
Following are the steps to build the installer and distribute this project to users.
73+
Perform the following steps to build the installation manifests and distribute this project to users.
6674

67-
1. Build the installer for the image built and published in the registry:
75+
1. Build the manifests for the image built and published in the registry:
6876

69-
```sh
70-
make build-installer IMG=nvcr.io/nvidia/cloud-native/k8s-nim-operator:v0.1.0
71-
```
77+
```sh
78+
make build-installer IMG=<your-private-registry>/k8s-nim-operator:<tag>
79+
```
7280

73-
NOTE: The makefile target mentioned above generates an 'install.yaml'
74-
file in the dist directory. This file contains all the resources built
75-
with Kustomize, which are necessary to install this project without
76-
its dependencies.
81+
The preceding Makefile target generates a `dist/install.yaml` file.
82+
This file is built with Kustomize and contains the manifests for the CRDs and resources that are necessary to install this project without
83+
its dependencies.
7784

78-
2. Using the installer
85+
2. Run the installer:
7986

80-
Users can just run kubectl apply -f <URL for YAML BUNDLE> to install the project, i.e.:
81-
82-
```sh
83-
kubectl apply -f https://raw.githubusercontent.com/<org>/k8s-nim-operator/<tag or branch>/dist/install.yaml
84-
```
87+
```sh
88+
kubectl apply -f https://raw.githubusercontent.com/<org>/k8s-nim-operator/<tag or branch>/dist/install.yaml
89+
```
8590

8691
## Contributing
87-
NVIDIA is willing to work with partners for adding platform support for the NIM Operator. The NIM Operator is open-source and permissively licensed under the Apache 2.0 license with only minimal requirements for source code [contributions](#signing).
92+
93+
NVIDIA can work with partners to add platform support for the NIM Operator.
94+
The NIM Operator is open-source and permissively [licensed](LICENSE.md) with only minimal requirements for source code [contributions](CONTRIBUTING.md).
8895

8996
To get started with building the NIM Operator, follow these steps:
9097

9198
```shell
92-
$ git clone <nim-operator-repo>
93-
$ cd k8s-nim-operator
94-
$ make IMG=<image-name> docker-build
99+
git clone [email protected]:NVIDIA/k8s-nim-operator.git
100+
cd k8s-nim-operator
101+
make IMG=<image-name> docker-build
95102
```
96103

97-
## <a name="signing"></a>Signing your work
98-
99-
Want to hack on the NVIDIA NIM Operator? Awesome!
100-
We only require you to sign your work, the below section describes this!
101-
102-
The sign-off is a simple line at the end of the explanation for the patch. Your
103-
signature certifies that you wrote the patch or otherwise have the right to pass
104-
it on as an open-source patch. The rules are pretty simple: if you can certify
105-
the below (from [developercertificate.org](http://developercertificate.org/)):
106-
107-
```
108-
Developer Certificate of Origin
109-
Version 1.1
110-
111-
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
112-
1 Letterman Drive
113-
Suite D4700
114-
San Francisco, CA, 94129
115-
116-
Everyone is permitted to copy and distribute verbatim copies of this
117-
license document, but changing it is not allowed.
118-
119-
Developer's Certificate of Origin 1.1
120-
121-
By making a contribution to this project, I certify that:
122-
123-
(a) The contribution was created in whole or in part by me and I
124-
have the right to submit it under the open source license
125-
indicated in the file; or
126-
127-
(b) The contribution is based upon previous work that, to the best
128-
of my knowledge, is covered under an appropriate open source
129-
license and I have the right under that license to submit that
130-
work with modifications, whether created in whole or in part
131-
by me, under the same open source license (unless I am
132-
permitted to submit under a different license), as indicated
133-
in the file; or
134-
135-
(c) The contribution was provided directly to me by some other
136-
person who certified (a), (b) or (c) and I have not modified
137-
it.
138-
139-
(d) I understand and agree that this project and the contribution
140-
are public and that a record of the contribution (including all
141-
personal information I submit with it, including my sign-off) is
142-
maintained indefinitely and may be redistributed consistent with
143-
this project or the open source license(s) involved.
144-
```
145-
146-
Then you just add a line to every git commit message:
147-
148-
Signed-off-by: Joe Smith <[email protected]>
149-
150-
Use your real name (sorry, no pseudonyms or anonymous contributions.)
151-
152-
If you set your `user.name` and `user.email` git configs, you can sign your
153-
commit automatically with `git commit -s`.
154-
155-
**NOTE:** Run `make help` for more information on all potential `make` targets
156-
157-
More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html)
158-
159-
## License
160-
161-
Copyright 2024.
162-
163-
Licensed under the Apache License, Version 2.0 (the "License");
164-
you may not use this file except in compliance with the License.
165-
You may obtain a copy of the License at
166-
167-
http://www.apache.org/licenses/LICENSE-2.0
104+
Run `make help` for more information about additional `make` targets.
168105

169-
Unless required by applicable law or agreed to in writing, software
170-
distributed under the License is distributed on an "AS IS" BASIS,
171-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
172-
See the License for the specific language governing permissions and
173-
limitations under the License.
106+
More information can be found in the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html).

docs/install.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ kubectl create ns nim-operator
2727
```
2828
### 3. Export NGC CLI API KEY
2929

30-
Please refer to get [NGC CLI API Key](https://docs.nvidia.com/ngc/gpu-cloud/ngc-private-registry-user-guide/index.html#ngc-api-keys)
30+
Refer to get [NGC CLI API Key](https://docs.nvidia.com/ngc/gpu-cloud/ngc-private-registry-user-guide/index.html#ngc-api-keys).
3131

3232
```sh
3333
export NGC_API_KEY=<ngc-cli-api-key>
@@ -43,10 +43,13 @@ kubectl create secret -n nim-operator docker-registry ngc-secret \
4343
```
4444

4545
### 5. Install the NIM Operator
46-
Install the NIM Operator using the Helm chart located in the helm/k8s-nim-operator directory.
46+
47+
Install the NIM Operator using Helm.
4748

4849
```sh
49-
helm install nim-operator helm/k8s-nim-operator -n nim-operator
50+
helm install nim-operator deployments/helm/k8s-nim-operator -n nim-operator \
51+
--set operator.image.repository=<your-private-registry> \
52+
--set operator.image.tag=<tag>
5053
```
5154

5255
### 6. Verify Installation

0 commit comments

Comments
 (0)