Helm provides a simple way to deploy AIStore (AIS) managed by the AIS operator. This directory contains Helm charts for deploying the following:
| Component | Description |
|---|---|
| AIS | Templates an AIStore custom resource for defining a cluster |
| AIS K8s Operator | Installs the AIStore CustomResourceDefinition and deploys the AIS K8s Operator for reconciling AIStore resources |
| AIS authN server | Deploys the beta AIS Authentication Server |
| AIS admin client | Creates a Deployment with a client Pod provisioned for AIS cluster access (see adminClient in AIStore spec for integrated option) |
| AIS Loader | Deploys the aisloader benchmark tool for testing cluster performance |
| ClusterIssuer | Creates a simple cert-manager SelfSigned ClusterIssuer |
- Local Kubectl configured to access the cluster
- Kubernetes nodes configured with formatted drives
- The host-config playbooks provide a good starting point for properly configuring your hosts and formatting 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:
kubectl config current-context - Switch to your cluster:
kubectl config use-context <your-context>
We use helmfile to install the charts.
Before starting: For each chart you want to deploy:
- Add your environment to the
environmentssection in the helmfile - Copy
values-sample.yaml(or an existing config) to a new file in theconfigdirectory - Name the new file to match your environment name
- Update the values for your deployment
Follow these steps in order:
You need a cluster issuer only if you want HTTPS:
- HTTPS AIStore cluster, OR
- AuthN with HTTPS
If you don't want HTTPS, skip this step.
We provide a chart to set up a self-signed cluster issuer.
Before proceeding, ensure that cert-manager is installed and all its pods are running in your cluster.
You can verify this by running the provided check_cert_manager.sh script.
- Go to the
cluster-issuerdirectory - Create a new environment in the helmfile
- Update your certificate values in a config file
- Run:
helmfile sync -e <your-env>
Check it worked: kubectl get clusterissuer should show a ca-issuer ready.
2. Deploy AuthN Server (optional - only if you want AuthN)
You only need AuthN if you want authentication/authorization for your AIS cluster. If you don't want AuthN, skip this step.
Important: Run AuthN server before the operator or AIS deployment. AuthN creates resources that the operator needs to talk to the AuthN server and AIS.
See the authn directory for instructions on deploying the AuthN server, including all options for deploying with HTTPS and other configurations.
- Go to the operator directory
- Update helmfile.yaml with your desired ais-operator chart version
- Create a new environment and update config files for that environment
- Install:
helmfile sync -e <your-env>
Note: Only operator versions >= 1.4.1 work with Helm Charts.
Check the deployment status:
kubectl get deployment -n ais-operator-systemSee the AIS chart docs for detailed instructions.