Skip to content

Getting Started

Prerequisites

Before deploying the kubensync operator, ensure you have the following prerequisites:

  • Kubernetes cluster up and running.
  • kubectl CLI tool configured to access your cluster.
  • cluster-admin privileges.
  • Operator Lifecycle Manager (OLM) installed if you want to use the OLM installation method.

Installation

Default SA permissions

After installing the operator, the operator service account does not have permissions to create resources by default. Therefore, you need to define and grant the necessary permissions manually. This allows you to specify the minimum permission level required for the operator to create objects.

The reason for this is that the template is rendered at runtime, so it is not possible to determine the required permissions for each specific scenario before installing the operator.

Using Operator Lifecycle Manager (OLM)

  1. Install the kubensync operator from the OperatorHub.

Using Helm

  1. Add the kubensync Helm repository:
    helm repo add kubensync https://docs.kubensync.com/charts
    
  2. Install the kubensync operator:

    helm install kubensync kubensync/kubensync-operator -n kubensync-system
    

    Note

    You can customize the installation by providing additional parameters in the values.yaml. You can find more information about the available parameters in the Helm Chart

Using kubectl / kustomize

  1. Install the operator:
    kubectl apply -f https://raw.githubusercontent.com/eryalito/kubensync-operator/master/render/manifests.yaml
    
  2. Grant Permissions:

    kubectl apply -f https://raw.githubusercontent.com/eryalito/kubensync-operator/master/render/rbac.yaml
    

    Warning

    This permissions will grant the operator cluster-admin permissions. It's a good way of testing the operator, but specific permissions should be defined acording to the resources it will manage in each specific case.

Uninstallation

Using Operator Lifecycle Manager (OLM)

  1. Open the olm in your cluster.
  2. Find the kubensync operator and click "Uninstall."

Using kubectl / kustomize

  1. Delete the operator:
    kubectl delete -f https://raw.githubusercontent.com/eryalito/kubensync-operator/master/render/manifests.yaml
    
  2. Delete Permissions:
    kubectl delete -f https://raw.githubusercontent.com/eryalito/kubensync-operator/master/render/rbac.yaml