Skip to main content
Discover the different methods for installing FluxCD and adopting GitOps on your Kubernetes clusters. This guide covers prerequisites, CLI installation, Git-based bootstrapping, repository inspection, customization, alternative installs, and uninstallation.

Prerequisites

Before you begin, ensure:
  • Your Kubernetes version is 1.20.6 or newer.
  • kubectl is configured to communicate with your target cluster.
Using End-of-Life (EOL) Kubernetes versions in production is not recommended. Upgrade your cluster if you’re on a version older than v1.20.6.

1. Install the Flux CLI

FluxCD is managed via its command-line interface. Download precompiled binaries from GitHub for macOS, Linux, and Windows.
Running the install script (install.sh) automatically places the flux binary in your $PATH.

2. Bootstrap Flux with Git

Use flux bootstrap to initialize FluxCD in your cluster and configure it to manage itself from a Git repository. The command supports multiple Git providers: Example for GitHub:
This command will:
  1. Prompt for your GitHub Personal Access Token (PAT).
  2. Create the specified repository if it doesn’t exist.
  3. Generate FluxCD component manifests.
  4. Commit and push manifests to your Git branch and path.
  5. Create the flux-system namespace in your cluster and install Flux controllers.
  6. Generate an SSH keypair, store it as a Kubernetes secret, and add it as a deploy key to the repo.
  7. Synchronize and begin reconciling resources.
The bootstrap command is idempotent—running it multiple times will not change an already-bootstraped setup.

3. Inspect Your Git Repository

After bootstrapping, clone your repo to review the FluxCD configuration and any starter workloads:
Example directory structure:
Add your application manifests under your specified path. For example, placing YAML files into flux-clusters/dev-cluster/apps/ will automatically trigger reconciliation.

4. Customizing Flux Components

You can tailor Flux manifests at two stages:
  • Before bootstrapping:
    • Add flags to your flux bootstrap command.
    • Edit the generated manifests locally and then push to Git.
  • After bootstrapping:
    • Modify YAML files under flux-system in your Git repository.
    • Flux will detect changes and apply them to the cluster automatically.

5. Alternative Installation Methods

Example local install:

6. Uninstalling Flux

To remove Flux controllers and CRDs from your cluster:
flux uninstall does not delete Kubernetes objects or Helm releases that Flux managed—those resources remain in your cluster.

Watch Video