-
Notifications
You must be signed in to change notification settings - Fork 148
/
README.md.gotmpl
100 lines (65 loc) · 3.07 KB
/
README.md.gotmpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# TopoLVM Helm Chart
----------------------------------------
## Prerequisites
* Kubernetes 1.20+
* Configure `kube-scheduler` on the underlying nodes, ref: https://github.com/topolvm/topolvm/tree/master/deploy#configure-kube-scheduler
* `cert-manager` version `v1.0.0+` installed. ref: https://cert-manager.io/
* Requires at least `v3.5.0+` version of helm to support
## :warning: Migration from kustomize to Helm
See [MIGRATION.md](./MIGRATION.md)
## How to use TopoLVM Helm repository
You need to add this repository to your Helm repositories:
```sh
helm repo add topolvm https://topolvm.github.io/topolvm
helm repo update
```
## Dependencies
| Repository | Name | Version |
| ---------- | ---- | ------- |
| https://charts.jetstack.io | cert-manager | 1.3.1 |
## Quick start
By default, the [topolvm-scheduler](../../deploy/README.md#topolvm-scheduler) runs in a DaemonSet.
It can alternatively run inside a Deployment.
Also, [lvmd](../../deploy/README.md#lvmd) is run in a DaemonSet by default.
### Installing the Chart
> :memo: NOTE: This installation method requires cert-manger to be installed beforehand.
To install the chart with the release name `topolvm` using a dedicated namespace(recommended):
```sh
helm install --create-namespace --namespace=topolvm-system topolvm topolvm/topolvm
```
Specify parameters using `--set key=value[,key=value]` argument to `helm install`.
Alternatively a YAML file that specifies the values for the parameters can be provided like this:
```sh
helm upgrade --create-namespace --namespace=topolvm-system -f values.yaml -i topolvm topolvm/topolvm
```
### Install together with cert-manager
Before installing the chart, you must first install the cert-manager CustomResourceDefinition resources.
```sh
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.3.1/cert-manager.crds.yaml
```
Set the `cert-manager.enabled=true` parameter when installing topolvm chart:
```sh
helm install --create-namespace --namespace=topolvm-system topolvm topolvm/topolvm --set cert-manager.enabled=true
```
## Configure kube-scheduler
The current Chart does not provide an option to make kube-scheduler configurable.
You need to configure kube-scheduler to use topolvm-scheduler extender by referring to the following document.
[deploy/README.md#configure-kube-scheduler](../../deploy/README.md#configure-kube-scheduler)
{{ template "chart.valuesSection" . }}
## Generate Manifests
You can use the `helm template` command to render manifests.
```sh
helm template --include-crds --namespace=topolvm-system topolvm topolvm/topolvm
```
## Update README
The `README.md` for this chart is generated by [helm-docs](https://github.com/norwoodj/helm-docs).
To update the README, edit the `README.md.gotmpl` file and run the helm-docs command.
```console
# path to topolvm repository root
$ make setup
$ ./bin/helm-docs
INFO[2021-06-13T21:43:55+09:00] Found Chart directories [charts/topolvm]
INFO[2021-06-13T21:43:55+09:00] Generating README Documentation for chart /path/to/dir/topolvm/topolvm/charts/topolvm
```
## Release Chart
See [RELEASE.md](../../RELEASE.md)