Helm provides a simple way of deploying AIStore (AIS) managed by the AIS operator. This directory contains Helm charts for deploying AIS, the AIS operator, and AIS dependencies.
Before deploying, ensure that your Kubernetes nodes are properly configured and ready for AIS deployment. The host-config playbooks provide a good starting point for properly configuring your hosts and formatting drives.
For deploying AIS without Helm, see the Ansible playbooks. Both approaches deploy the AIS operator, then create an AIS custom resource to specify cluster settings.
- Local Kubectl configured to access the cluster
- Kubernetes nodes configured with formatted drives
- Helm installed locally
- Helm-diff plugin:
helm plugin install https://github.com/databus23/helm-diff
- Helmfile: https://github.com/helmfile/helmfile?tab=readme-ov-file
- Helm-diff plugin:
- Configure access to your cluster with a new context. See the k8s docs.
- Check your current context with
kubectl config current-context
- Set the context to your cluster with
kubectl config use-context <your-context>
To create a new release, add it to the environments section at the top of ais/helmfile.yaml
.
Next, copy the values-sample.yaml
file for each chart in ./ais/config/ to a new values file with the same name as the new environment.
Then modify the values in each new file for your desired cluster.
To install the charts provided, we use helmfile. Update the helmfile.yaml
to configure the destination namespaces and set the environment for your deployment.
- In the operator directory, update helmfile.yaml with the desired ais-operator chart version. Install the chart with helmfile:
helmfile sync
Note: Only operator versions >= 1.4.1 are supported via Helm Chart. See the playbook docs for deploying older versions via Ansible Playbooks.
- Verify the operator installation by checking that the pod is in 'Ready' state:
kubectl get pods -n ais-operator-system
- From the
ais
directory, run:
helmfile sync --environment <your-env>
To uninstall:
helmfile delete --environment <your-env>
If you only want to modify one part of the installation, it is possible to run the charts individually in ./ais/charts
with their own values.yaml
files.
Chart | Description |
---|---|
ais-operator | Deploy the AIS operator -- our helmfile deploys the chart generated from our latest AIS operator release |
ais-cluster | Create an AIS cluster resource, with the expectation the operator is already deployed |
ais-create-pv | Create persistent volumes to be used by AIS targets |
tls-issuer | Create a cert-manager Issuer for self-signed certs |
tls-cert | Create a cert-manager certificate |