Breeze Installation on Kubernetes (DaemonSet)
Install Cloudaware Breeze Agent as a Kubernetes DaemonSet so one Breeze Agent instance runs on each eligible Linux node. The integration is for Linux only.
Use Case
Use this setup when you need to:
- Run Breeze Agent on every node in an Amazon EKS, Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), or on‑premises cluster.
- Support Kubernetes inventory collection.
Before You Begin
Make sure that:
- The cluster meets the requirements, including Linux worker nodes and outbound access to Breeze Agent and TunHub endpoints. See Service Endpoints & Public IPs.
- Cloudaware has the permissions to discover and access the managed Kubernetes service. See the provider-specific prerequisites in the Managed Kubernetes guide.
How It Works
The DaemonSet deploys a pod on each Kubernetes node with two components:
-
Init container - Runs once per pod startup to install Breeze agent on the host:
- Mounts host directories:
/opt,/etc,/var/log, and/proc - Copies agent files from the container to
/opt/breeze-agenton the host - Configures systemd timer (preferred) or cron job to run the agent every 15 minutes
- Detects AL2023 hosts and installs required dependencies (libxcrypt-compat)
- Uses
nsenterto interact with the host's systemd
- Mounts host directories:
-
Logger container - Runs continuously to stream agent logs:
- Tails
/var/log/breeze-agent.logfrom the host - Outputs logs to stdout for Kubernetes log collection
- Tails
The agent runs natively on the host OS, not as a containerized application. The DaemonSet ensures every node in the cluster has the agent installed and keeps logs accessible via kubectl logs.
High-level Setup Flow
- Download the Linux agent archive from Cloudaware.
- Prepare the Breeze Agent package and Kubernetes deployment files.
- Build and publish the Breeze DaemonSet image to a private container registry.
- Configure the DaemonSet manifest for the target cluster.
- Deploy Breeze Agent to Kubernetes.
- Verify Breeze node coverage in Kubernetes and Cloudaware.
Installation Steps
Download the Breeze Agent Installer
- In Cloudaware, go to Admin.
- Find Breeze in DevOps Integrations. Click CONFIGURED.
- Download the Linux agent archive (the archive name uses the following format:
breeze-agent.<breeze_key>.<breeze_version>.<build_arch>.linux.tgz).
Create a Docker image
-
Unpack the Breeze Agent installer to the current directory:
tar xvzf breeze-agent.<breeze_key>.0.x86_64.linux.tgzWhere:
<breeze_key>is a placeholder for the customer-specific ID in the installer file name.0is a Breeze version example.x86_64is a architecture build example.
Replace
breeze-agent.<breeze_key>.0.x86_64.linux.tgzwith the name of the downloaded installer file. -
Remove TLS certificates from the unpacked directory to avoid baking secrets into the image:
rm -f breeze-agent/etc/ssl/breeze-agent.crtrm -f breeze-agent/etc/ssl/breeze-agent.keynoteTLS certificates will be mounted from Kubernetes secrets at runtime (see Run DaemonSet section below).
Alternative: Baking certificates into the image
If you prefer to include TLS certificates in the image (not recommended for security):
- Skip step 2 to keep certificates in the unpacked directory.
- Build and push the image.
- Comment out the TLS-related
volumesandvolumeMountssections inbreeze-agent-host-installer.yaml.
-
Build the Docker image:
docker build -t <registry_hostname>/breeze-agent:<tag> .Where:
- Replace
<registry_hostname>and<tag>with your actual registry hostname and desired image tag, respectively. - The example
<registry_hostname>format for EKS:<aws_account_id>.dkr.ecr.us-east-1.amazonaws.com.
- Replace
-
Push the image to your private Docker container registry:
docker push <registry_hostname>/breeze-agent:<tag>Where:
- Replace
<registry_hostname>and<tag>with your actual registry hostname and desired image tag, respectively. - The example
<registry_hostname>format for EKS:<aws_account_id>.dkr.ecr.us-east-1.amazonaws.com.
- Replace
Run DaemonSet
-
Create a Kubernetes secret with your TLS certificates:
kubectl create secret tls breeze-tls-secret \--cert=path/to/breeze-agent.crt \--key=path/to/breeze-agent.key -
Update the image reference in
breeze-agent-host-installer.yamlif using a different registry or tag. -
Create the DaemonSet:
kubectl create -f breeze-agent-host-installer.yaml
Verify Deployment
-
Check DaemonSet status:
kubectl get daemonset breeze-agent-dsDaemonSet status should show
DESIRED = CURRENT = READY. -
View logs from a specific node:
kubectl logs -l app=breeze-agent -c loggerLogs should show periodic agent runs without errors.
-
Verify agent is running on a node (SSH to node)
systemctl status breeze-agent.service
Notes
In Cloudaware, verify that:
- Kubernetes data is available in CMDB.
- Relevant CMDB list views show target nodes with Breeze.
Uninstalling
To remove the DaemonSet:
kubectl delete -f breeze-agent-host-installer.yaml
This only removes the DaemonSet pods. The agent remains installed on the host nodes. To fully uninstall, SSH to each node and manually remove /opt/breeze-agent and the systemd timer or cron job.
Related Playbook
For a DaemonSet example with sample manifests and registry settings, see the Kubernetes DaemonSet playbook.