Files
csharp/examples/customResource/README.md
ianzhang366 2488c249d1 fix a typo (#879)
Signed-off-by: Ian Zhang <ianzhang@microsoft.com>
2022-05-31 07:56:53 -07:00

54 lines
1.4 KiB
Markdown

# Custom Resource Client Example
This example demonstrates how to use the C# Kubernetes Client library to create, get and list custom resources.
## Pre-requisits
Make sure your have added the library package
```shell
dotnet add package KubernetesClient
```
## Create Custom Resource Definition (CRD)
Make sure the [CRD](./config/crd.yaml) is created, in order to create an instance of it after.
```shell
kubectl create -f ./config/crd.yaml
```
You can test that the CRD is successfully added, by creating an [instance](./config/yaml-cr-instance.yaml) of it using kubectl:
```shell
kubectl create -f ./config/yaml-cr-instance.yaml
```
```shell
kubectl get customresources.csharp.com
```
## Execute the code
The client uses the `BuildConfigFromConfigFile()` function. If the KUBECONFIG environment variable is set, then that path to the k8s config file will be used.
`dotnet run`
Expected output:
```
strating main()...
working with CRD: customresources.csharp.com
creating CR cr-instance-london
CR list:
- CR Item 0 = cr-instance-london
- CR Item 1 = cr-instance-paris
fetchedCR = cr-instance-london (Labels: {identifier : city, newKey : newValue}), Spec: London
Deleted the CR
```
## Under the hood
For more details, you can look at the Generic client [implementation](https://github.com/kubernetes-client/csharp/blob/master/src/KubernetesClient/GenericClient.cs)