Fleets with a Shared Pipeline
2 minute read
Overview
By default, a fleet is defined as a set of agents that share the same Pipeline configuration. However, you can deploy multiple fleets that all share the same pipeline configuration. This enables you to filter by Fleet.
A best practice is to share Pipeline components using packs, rather than duplicating a pipeline across multiple fleets. See Deleting a Shared Pipeline below.
Helm
- Click Pipelines and select the fleet with the Pipeline you want to share.
- Click Add Agents.
- Select Helm.
- Copy and execute the commands, while passing in the following Helm value to the
helm upgrade
command:
--set edTagOverride=<new name>
Replace
<new name>
with the Fleet name you want the new Fleet to have.
kubectl
- Click Pipelines and select the Fleet with the Pipeline you want to share.
- Click Add Agents.
- Select Kubernetes.
- Open the file mentioned in the kubectl apply command and create a local copy of the manifest:
https://raw.githubusercontent.com/edgedelta/k8s/master/edgedelta-agent-k8s-from-helm.yaml
Add the following environment variable to the Processor DaemonSet
, rollup Deployment
, and Compactor Agent StatefulSet
:
env:
- name: ED_TAG_OVERRIDE
value: "NewFleetName"
Replace
<new name>
with the Fleet name you want the new Fleet to have.
- Execute the commands listed in the Add Agents instructions but replace the manifest URL with the filepath to your local manifest that contains the new environment variables.
kubectl apply -f <updated manifest>.yaml
Linux and MacOS
- Click Pipelines and select the Fleet with the Pipeline you want to share.
- Click Add Agents.
- Select Linux or MacOS.
- Add the following environment variable to the beginning of the command:
ED_TAG_OVERRIDE=<new name>
Replace
<new name>
with the Fleet name you want the new Fleet to have.
Deleting a Shared Pipeline
Note: When you delete a fleet that shares a Pipeline configuration with other fleets, all the fleets that use that pipeline will be deleted.
To delete all the fleets that share a pipeline:
- Click Pipelines and select any of the Fleets with the Pipeline you want to delete.
- Click Delete Fleet.
Alternatively, you can delete the agents from your environment, or re-deploy into the same environment without edTagOverride. Bear in mind the empty fleet will remain in the Dashboard.