This article instructs on how to create a DaemonSet in order to run Breeze agent on every node of cloud-managed Kubernetes cluster (Amazon EKS, Azure AKS, Google GKE). This allows to get the agent data from the cluster in Cloudaware CMDB.
Description
DaemonSet starts the container with Breeze agent installer. The container has two bind mounts:
host:/opt > container:/opt
- used for the Breeze agent installation from container to the host file systemhost:/ > container:/var/root
- used for launching the agent in the chroot environment
The container runs two commands:
Install the Breeze agent to the
/opt
directoryRun the simple daemon which runs the Breeze agent every 15 minutes
git clone
download breeze installer from ca org
untar breeze installer and copy the extracted files (./breeze-agent folder) to kubernetes/daemonset folder of the cloned repo (edited)
cd ./kubernetes/daemonset && docker build -t ca-breeze-ds . (edited)
You need to upload the result image to your private container registry
Create a repository in your private container registry (e.g. AWS ECR, Google GCR, etc.) named ca-breeze-ds
docker tag ca-breeze-ds:latest <CONTAINER_REGISTRY_HOSTNAME>/ca-breeze-ds:latest
docker push <CONTAINER_REGISTRY_HOSTNAME>/ca-breeze-ds:latest
6. Edit the DaemonSet configuration file ds-breeze-agent.yaml
, replace placeholders (make sure image pull secret is added to kubernetes secrets)
7. kubectl create -f ds-breeze-agent.yaml
8. to verify that the daemonset has been created you may run the following command:
kubectl get ds
9. data in CA
Create Docker Image
1. Download the Breeze agent installer and unpack it to the current directory:
wget breeze-agent.example.version.0.x86_64.linux.tgz tar xvzf breeze-agent.example.version.0.x86_64.linux.tgz
2. Build the Docker image:
docker build -t IMAGE_NAME .
3. Push the image to your private Docker container registry:
docker tag IMAGE_NAME:latest DOCKER_SERVER_HOSTNAME/IMAGE_NAME:latest docker push IMAGE_NAME:latest DOCKER_SERVER_HOSTNAME/IMAGE_NAME:latest
Run DaemonSet
1. Edit the DaemonSet configuration file ds-breeze-agent.yaml
and replace the following placeholders with valid values:
DOCKER_SERVER_HOSTNAME
IMAGE_NAME
DOCKER_SERVER_SECRETS
2. Create the new DaemonSet:
kubectl create -f ds-breeze-agent.yaml