Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Helm AIS Deployment

Artifact Hub

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

Prerequisites

  1. Local Kubectl configured to access the cluster
  2. Kubernetes nodes configured with formatted drives
    1. The host-config playbooks provide a good starting point for properly configuring your hosts and formatting 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: kubectl config current-context
  3. Switch to your cluster: kubectl config use-context <your-context>

Installation Steps

We use helmfile to install the charts.

Before starting: For each chart you want to deploy:

  1. Add your environment to the environments section in the helmfile
  2. Copy values-sample.yaml (or an existing config) to a new file in the config directory
  3. Name the new file to match your environment name
  4. Update the values for your deployment

Follow these steps in order:

1. Install Cluster Issuer (optional - only for HTTPS)

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.

  1. Go to the cluster-issuer directory
  2. Create a new environment in the helmfile
  3. Update your certificate values in a config file
  4. 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.

3. Install the Operator

  1. Go to the operator directory
  2. Update helmfile.yaml with your desired ais-operator chart version
  3. Create a new environment and update config files for that environment
  4. 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-system

4. Install AIS

See the AIS chart docs for detailed instructions.