Skip to content

Latest commit

 

History

History
137 lines (123 loc) · 5.9 KB

installation.md

File metadata and controls

137 lines (123 loc) · 5.9 KB

Operator Installation

Install on minikube

  1. Create minikube cluster.
minikube start
  1. Add the helm repo.
helm repo add metabase-operator-charts https://unagex.github.io/metabase-operator
helm repo update
  1. Install the operator in the namespace metabase-operator. See operator configuration for more customization.
helm install metabase-operator metabase-operator-charts/metabase-operator -n metabase-operator --create-namespace

Congratulations ! The operator is now installed. To test it, you can deploy a basic metabase (optional):

  1. Deploy a metabase in the namespace default. See metabase configuration for more customization.
kubectl apply -f https://raw.githubusercontent.com/unagex/metabase-operator/main/config/samples/v1_metabase.yaml
  1. Access metabase web UI.
 minikube service metabase-sample-http

Install on Amazon Elastic Kubernetes Service (EKS)

You should have an EKS cluster already running. See the official documentation if that's not the case.

  1. Install the Amazon EBS CSI driver add-on on your EKS cluster. See the official documentation to add it.
  2. Grant permissions for your EKS cluster to interact with Amazon EBS volumes, you need to update the IAM roles associated with your EKS nodes. Here is the necessary policy to attach to your cluster role.
{
 "Version": "2012-10-17",
 "Statement": [{
  "Sid": "VisualEditor0",
  "Effect": "Allow",
  "Action": [
   "ec2:CreateVolume",
   "ec2:DeleteVolume",
   "ec2:AttachVolume",
   "ec2:DetachVolume",
   "ec2:DescribeVolumes",
   "ec2:CreateTags",
   "ec2:DeleteTags",
   "ec2:DescribeTags"
  ],
  "Resource": "*"
 }]
}
  1. Add the helm repo.
helm repo add metabase-operator-charts https://unagex.github.io/metabase-operator
helm repo update
  1. Install the operator in the namespace metabase-operator. See operator configuration for more customization.
helm install metabase-operator metabase-operator-charts/metabase-operator -n metabase-operator --create-namespace

Congratulations ! The operator is now installed. To test it, you can deploy a basic metabase (optional):

  1. Deploy a metabase in the namespace default. See metabase configuration for more customization.
kubectl apply -f https://raw.githubusercontent.com/unagex/metabase-operator/main/config/samples/v1_metabase.yaml
  1. Access metabase web UI on port 3000.
kubectl port-forward services/metabase-sample-http 3000:3000

Install on Google Kubernetes Engine (GKE)

You should have a GKE cluster already running. See the official documentation if that's not the case. The following has been tested on a GKE autopilot mode.

  1. Add the helm repo.
helm repo add metabase-operator-charts https://unagex.github.io/metabase-operator
helm repo update
  1. Install the operator in the namespace metabase-operator. See operator configuration for more customization.
helm install metabase-operator metabase-operator-charts/metabase-operator -n metabase-operator --create-namespace

Congratulations ! The operator is now installed. To test it, you can deploy a basic metabase (optional):

  1. Deploy a metabase in the namespace default. See metabase configuration for more customization.
kubectl apply -f https://raw.githubusercontent.com/unagex/metabase-operator/main/config/samples/v1_metabase.yaml
  1. Access metabase web UI on port 3000.
kubectl port-forward services/metabase-sample-http 3000:3000

Install on Azure Kubernetes Service (AKS)

You should have a AKS cluster already running. See the official documentation if that's not the case.

  1. Add the helm repo.
helm repo add metabase-operator-charts https://unagex.github.io/metabase-operator
helm repo update
  1. Install the operator in the namespace metabase-operator. See operator configuration for more customization.
helm install metabase-operator metabase-operator-charts/metabase-operator -n metabase-operator --create-namespace

Congratulations ! The operator is now installed. To test it, you can deploy a basic metabase (optional):

  1. Deploy a metabase in the namespace default. See metabase configuration for more customization.
kubectl apply -f https://raw.githubusercontent.com/unagex/metabase-operator/main/config/samples/v1_metabase.yaml
  1. Access metabase web UI on port 3000.
kubectl port-forward services/metabase-sample-http 3000:3000

Operator configuration

The operator Helm chart is deployed by default with this values.yaml. The following values can be overriden:

Name Type Default value
operator.image.repository string "ghcr.io/unagex/metabase-operator/controller"
operator.image.tag string Default to latest version at time of installation.
operator.image.pullPolicy string "IfNotPresent"
resources.limits.cpu string nil
resources.limits.memory string nil
resources.requests.cpu string nil
resources.requests.memory string nil
labels map[string]string nil