Skip to content

Quick Start Guide

Follow this guide to install Fybrik using default parameters that are suitable for experimentation on a single cluster.

Before you begin

Ensure that you have the following:

  • Helm 3.3 or greater must be installed and configured on your machine.
  • Kubectl 1.18 or newer must be installed on your machine.
  • Access to a Kubernetes cluster such as Kind as a cluster administrator.

Add required Helm repositories

helm repo add jetstack https://charts.jetstack.io
helm repo add hashicorp https://helm.releases.hashicorp.com
helm repo add fybrik-charts https://fybrik.github.io/charts
helm repo update

Install cert-manager

Fybrik requires cert-manager to be installed to your cluster1. Many clusters already include cert-manager. Check if cert-manager namespace exists in your cluster and only run the following if it doesn't exist:

helm install cert-manager jetstack/cert-manager \
    --namespace cert-manager \
    --version v1.6.2 \
    --create-namespace \
    --set installCRDs=true \
    --wait --timeout 120s

Install Hashicorp Vault and plugins

Hashicorp Vault and a secrets-kubernetes-reader plugin are used by Fybrik for credential management.

Install latest development version from GitHub

The published Helm charts are only available for released versions. To install the dev version install the charts from the source code. For example:

git clone https://github.com/fybrik/fybrik.git
cd fybrik
helm dependency update charts/vault
helm install vault charts/vault --create-namespace -n fybrik-system \
    --set "vault.injector.enabled=false" \
    --set "vault.server.dev.enabled=true" \
    --values charts/vault/env/dev/vault-single-cluster-values.yaml
kubectl wait --for=condition=ready --all pod -n fybrik-system --timeout=120s
git clone https://github.com/fybrik/fybrik.git
cd fybrik
helm dependency update charts/vault
helm install vault charts/vault --create-namespace -n fybrik-system \
    --set "vault.global.openshift=true" \
    --set "vault.injector.enabled=false" \
    --set "vault.server.dev.enabled=true" \
    --values charts/vault/env/dev/vault-single-cluster-values.yaml
kubectl wait --for=condition=ready --all pod -n fybrik-system --timeout=120s

Run the following to install vault and the plugin in development mode:

helm install vault fybrik-charts/vault --create-namespace -n fybrik-system \
    --set "vault.injector.enabled=false" \
    --set "vault.server.dev.enabled=true" \
    --values https://raw.githubusercontent.com/fybrik/fybrik/v0.6.2/charts/vault/env/dev/vault-single-cluster-values.yaml
kubectl wait --for=condition=ready --all pod -n fybrik-system --timeout=120s
helm install vault fybrik-charts/vault --create-namespace -n fybrik-system \
    --set "vault.global.openshift=true" \
    --set "vault.injector.enabled=false" \
    --set "vault.server.dev.enabled=true" \
    --values https://raw.githubusercontent.com/fybrik/fybrik/v0.6.2/charts/vault/env/dev/vault-single-cluster-values.yaml
kubectl wait --for=condition=ready --all pod -n fybrik-system --timeout=120s

Install control plane

Install latest development version from GitHub

The published Helm charts are only available for released versions. To install the dev version install the charts from the source code. For example:

git clone https://github.com/fybrik/fybrik.git
cd fybrik
helm install fybrik-crd charts/fybrik-crd -n fybrik-system --wait
helm install fybrik charts/fybrik --set global.tag=master --set global.imagePullPolicy=Always -n fybrik-system --wait

The control plane includes a manager service that connects to a data catalog and to a policy manager. Install the Fybrik release with a built-in data catalog and with Open Policy Agent as the policy manager:

helm install fybrik-crd fybrik-charts/fybrik-crd -n fybrik-system --version 0.6.2 --wait
helm install fybrik fybrik-charts/fybrik -n fybrik-system --version 0.6.2  --wait

Install modules

Install latest development version from GitHub

To apply the latest development version of arrow-flight-module:

kubectl apply -f https://raw.githubusercontent.com/fybrik/arrow-flight-module/master/module.yaml -n fybrik-system

Modules are plugins that the control plane deploys whenever required. The arrow flight module enables reading data through Apache Arrow Flight API.

Install the v0.6.02 release of arrow-flight-module:

  kubectl apply -f https://github.com/fybrik/arrow-flight-module/releases/download/v0.6.0/module.yaml -n fybrik-system

  1. Fybrik version 0.6.0 and lower should use cert-manager 1.2.0 

  2. Refer to the documentation of arrow-flight-module for other versions