Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 3.69 KB

README.md

File metadata and controls

72 lines (49 loc) · 3.69 KB

Helm AIS Deployment

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.

Prerequisites

  1. Local Kubectl configured to access the cluster
  2. Kubernetes nodes configured with formatted drives
  3. Helm installed locally
    1. Helm-diff plugin: helm plugin install https://github.com/databus23/helm-diff
    2. Helmfile: https://github.com/helmfile/helmfile?tab=readme-ov-file

Kubernetes context

  1. Configure access to your cluster with a new context. See the k8s docs.
  2. Check your current context with kubectl config current-context
  3. Set the context to your cluster with kubectl config use-context <your-context>

Update Values

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.

Install Charts

To install the charts provided, we use helmfile. Update the helmfile.yaml to configure the destination namespaces and set the environment for your deployment.

  1. 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.

  1. Verify the operator installation by checking that the pod is in 'Ready' state:
kubectl get pods -n ais-operator-system
  1. From the ais directory, run:
helmfile sync --environment <your-env>

To uninstall:

helmfile delete --environment <your-env>

Individual Charts

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