fleet-docs/docs/quickstart.md

2.4 KiB

import {versions} from '@site/src/fleetVersions'; import CodeBlock from '@theme/CodeBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Quick Start

Who needs documentation, lets just run this thing!

Install

Fleet is distributed as a Helm chart. Helm 3 is a CLI, has no server side component, and its use is fairly straightforward. To install the Helm 3 CLI follow the official install instructions.

:::caution Fleet in Rancher Rancher has separate helm charts for Fleet and uses a different repository. :::

{`brew install helm\n`} {`helm repo add fleet https://rancher.github.io/fleet-helm-charts/`} {`choco install kubernetes-helm\n`} {`helm repo add fleet https://rancher.github.io/fleet-helm-charts/`}

Install the Fleet Helm charts (there's two because we separate out CRDs for ultimate flexibility.)

{`helm -n cattle-fleet-system install --create-namespace --wait fleet-crd \\ fleet/fleet-crd\n`} {`helm -n cattle-fleet-system install --create-namespace --wait fleet \\ fleet/fleet`}

Add a Git Repo to Watch

Change spec.repo to your git repo of choice. Kubernetes manifest files that should be deployed should be in /manifests in your repo.

cat > example.yaml << "EOF"
apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
  name: sample
  # This namespace is special and auto-wired to deploy to the local cluster
  namespace: fleet-local
spec:
  # Everything from this repo will be run in this cluster. You trust me right?
  repo: "https://github.com/rancher/fleet-examples"
  paths:
  - simple
EOF

kubectl apply -f example.yaml

Get Status

Get status of what fleet is doing

kubectl -n fleet-local get fleet

You should see something like this get created in your cluster.

kubectl get deploy frontend
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
frontend   3/3     3            3           116m

Next steps

Do you need to...

  • Monitor private git or Helm repositories? Check this.
  • Customise your deployments per target cluster? This page will help.