Fleet is fundamentally a set of Kubernetes custom resource definitions (CRDs) and controllers to manage GitOps for a single Kubernetes cluster or a large scale deployments of Kubernetes clusters (up to one million). Below are some of the concepts of Fleet that will be useful through out this documentation.
- Fleet Manager: The centralized component that orchestrates the deployments of Kubernetes assets from git. In a multi-cluster setup this will typically be a dedicated Kubernetes cluster. In a single cluster setup the Fleet manager will be running on the same cluster you are managing with GitOps.
- Fleet controller: The controller(s) running on the Fleet manager orchestrating GitOps. In practice Fleet manager and Fleet controllers is used fairly interchangeably.
- Single Cluster Style: This is a style of installing Fleet in which the manager and downstream cluster are the same cluster. This is a very simple pattern to quickly get up and running with GitOps.
- Multi Cluster Style: This is a style of running Fleet in which you have a central manager that manages a large number of downstream clusters.
- Fleet agent: Every managed downstream cluster will run an agent that communicates back to the Fleet manager. This agent is just another set of Kubernetes controllers running in the downstream cluster.
- GitRepo: Git repositories that are watched by Fleet are represented by the type
- Bundle: An internal unit used for the orchestration of resources from git.
GitRepois scanned it will produce one or more bundles. Bundles are a collection of resources that get deployed to a cluster.
Bundleis the fundamental deployment unit used in Fleet. The contents of a
Bundlemay be Kubernetes manifests, Kustomize configuration, or Helm charts. Regardless of the source the contents are dynamically rendered into a Helm chart by the agent and installed into the downstream cluster as a helm release.
- BundleDeployment: When a
Bundleis deployed to a cluster an instance of a
Bundleis called a
BundleDeploymentrepresents the state of that
Bundleon a specific cluster with it's cluster specific customizations. The Fleet agent is only aware of
BundleDeploymentresources that are created for the cluster the agent is managing.
- Downstream Cluster: Clusters to which Fleet deploys manifests are referred to as downstream clusters. In the single cluster use case the Fleet manager Kubernetes cluster is both the manager and downstream cluster at the same time.
- Cluster Registration Token: Tokens used by agents to register a new cluster.