53 lines
2.1 KiB
Plaintext
53 lines
2.1 KiB
Plaintext
[![][kuma-logo]][kuma-url]
|
|
|
|
{{ template "chart.description" . }}
|
|
|
|
{{ template "chart.typeBadge" . }}{{ template "chart.versionBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
|
|
{{ template "chart.homepageLine" . }}
|
|
|
|
{{ template "chart.valuesSection" . }}
|
|
|
|
## Custom Resource Definitions
|
|
|
|
All Kuma CRDs are loaded via the [`crds`](crds) directory. For more detailed information on CRDs and Helm,
|
|
please refer to [the Helm documentation][helm-crd].
|
|
|
|
## Deleting
|
|
|
|
As part of [Helm's limitations][helm-crd-limitations], CRDs will not be deleted when the `kuma` chart is deleted and
|
|
must be deleted manually. When a CRD is deleted Kubernetes deletes all resources of that kind as well, so this should
|
|
be done carefully.
|
|
|
|
To do this with `kubectl` on *nix platforms, run:
|
|
|
|
```shell
|
|
kubectl get crds | grep kuma.io | tr -s " " | cut -d " " -f1 | xargs kubectl delete crd
|
|
|
|
# or with jq
|
|
kubectl get crds -o json | jq '.items[].metadata.name | select(.|test(".*kuma\\.io"))' | xargs kubectl delete crd
|
|
```
|
|
|
|
## Autoscaling
|
|
|
|
In production, it is advisable to enable Control Plane autoscaling for High Availability. Autoscaling uses the
|
|
`HorizontalPodAutoscaler` resource to add redundancy and scale the CP pods based on CPU utilization, which requires
|
|
the [k8s metrics-server][kube-metrics-server] to be running on the cluster.
|
|
|
|
## Development
|
|
|
|
The charts are used internally in `kumactl install`, therefore the following rules apply when developing new chat features:
|
|
* all templates that start with `pre-` and `post-` are omitted when processing in `kumactl install`
|
|
|
|
### Installing Metrics Server for Autoscaling
|
|
|
|
If running on kind, or on a cluster with a similarly self-signed cert, the metrics server must be configured to allow
|
|
insecure kubelet TLS. The make task `kind/deploy/metrics-server` installs this patched version of the server.
|
|
|
|
|
|
[kuma-url]: https://kuma.io/
|
|
[kuma-logo]: https://kuma-public-assets.s3.amazonaws.com/kuma-logo-v2.png
|
|
[helm-crd]: https://helm.sh/docs/chart_best_practices/custom_resource_definitions/
|
|
[helm-crd-limitations]: https://helm.sh/docs/topics/charts/#limitations-on-crds
|
|
[kube-metrics-server]: https://github.com/kubernetes-sigs/metrics-server
|