Deploy PV autoscaling
Deploy PV autoscaling
This topic describes how to deploy and configure PV autoscaling. Installation is based on a Helm chart published in github repo.
Prerequisites
- A running EKS cluster, v1.7 or later, with the EBS CSI add-on installed, with one storage class defined
- Kubectl is installed
- Access to the Zesty platform
- The Zesty API key
- Outbound HTTPS communication from cluster nodes
- The AWS account ID of the cluster on which PV autoscaling is being installed
Before deploying, share this ID with a Zesty Customer Support representative. Note that this ID may be different than the one from the Management account (formerly known as Master Payer account).
To install PV autoscaling:
- Add or update the Zesty repository to your Helm client:
To add the repository:
helm repo add zestyrepo https://zesty-co.github.io/zesty-helmIf the repository is already configured, update it:
helm repo update
- Install the Zesty PVC Helm chart:
# Minimal
helm install zesty-pvc --set agentManager.apiKey=<API_KEY> zestyrepo/zesty
# With advanced options
helm install zesty-pvc --set agentManager.apiKey=<API_KEY> /
[--set agentManager.prometheusExporter.port=<PORT>] /
[--set "tolerations[0].operator=<VALUE>,tolerations[0].effect=<VALUE>,tolerations[0].key=<KEY>"] /
[--set "nodeSelector.<KEY>=<VALUE>"] /
[--set storageClassName=<storageClass name>] /
[--namespace <Namespace>] /
The following table describes the popular command arguments. For the full arguments list, see the Helm chart at https://zesty-co.github.io/zesty-helm/.
| Argument | Mandatory | Description |
|---|---|---|
| agentManager.apiKey=<API_KEY> | Yes | Enter the Zesty-provided API Key. You can also enter the API key as a secret, as described in the Helm chart. To get your API key, see Find your Zesty API key. |
| agentManager.prometheusExporter.port= |
No | Enables the Prometheus exported for PV autoscaling solution. We recommend using the Prometheus default port, 8443. |
| agentManager.prometheusExporter.podMonitor.enabled= |
No | Enables Prometheus autodiscovery of Zesty metrics. |
| "tolerations[0].operator= |
No | Configures tolerations roles. You can set as many as needed while making sure to increase the list index number. |
| "nodeSelector. |
No | Configures on which nodes PV autoscaling is allowed. Use quotes to avoid shell issues. For example, “nodeSelector.kubernetes.io/os=linux”. Note the ‘\’ before the “.io” in the node selector key that is used as an escape character. |
| --set storageClassName= |
No | Configures which storage class PV autoscaling will use to provision new disks. If this is not set, the first one found with EBS CSI provisioner (ebs.csi.aws.com) is used. |
| --namespace |
No | Specifies on which namespace PV autoscaling resources will be deployed. |