KOP Integrations - Agents - Rafay Product Documentation
Agents
The repository agent is a service you deploy and operate in your local network or VPC so that the Controller can securely connect to your artifact repositories.
Requirements
The agent itself is a container and can be quickly deployed on (a) A small, managed Kubernetes cluster that is operating in your local network/VPC with network access to your private repository or (b) Docker.
Install Agent
Kubernetes Agent
Follow the instructions described below to configure and install an agent on a managed Kubernetes cluster.
- Login to the Console and navigate to your Project
- Click Gitops and Select GitOps Agents
- Click New Agent
- Provide a Name and Deployment Type Kubernetes is selected by default
- Select a Cluster from the dropdown. A dedicated cluster is mandatory. The agents can be deployed to the same cluster where the workloads will operate
- Click Create
Behind the scenes, the controller will automatically deploy the agent pod to the designated cluster. In a few seconds, the agent health will transition from UNHEALTHY to HEALTHY.
Optionally, you can also verify successful deployment and status of the agents on the target using the integrated Zero Trust KubeCTL terminal. Look for the pod with the name "cd-agent-xxxxxx" in the "rafay-system" namespace.
kubectl get po -n rafay-system
In the example below, we can see that the agent was recently created and is healthy (running).
Docker Agent
Follow the instructions described below to configure and install an agent as a standalone container. Note that a Kubernetes cluster is not required for this agent form factor.
Login to the Console and navigate to your Project
Click Gitops and Select GitOps Agents
Click New Agent
Provide a Name and select the deployment type Docker
Click Create
A message appears as shown below to download the Relay Config and Docker Compose files and run the docker compose command.
Access the file downloaded path in your terminal and run the command
docker-compose -f docker-compose-w2l372p.yml up -dto complete the agent deployment processOn successful deployment, the agent is activated and healthy in status as shown in the below example
To remove the deployed docker container, use the below command
docker container rm <container id>
View Agents
Users can view the list of agents, the cluster they are operational on, their current health etc right from the Console.
- In your Org, navigate to your Project
- Click on Gitops and Select GitOps Agents
Use Agents
Agents are used by configured repositories so that the Controller can access artifacts in these private repositories.
Delete Agent
Existing agents (healthy or unhealthy) can be deleted anytime. Note that this is a destruction action.
- Navigate to Gitops -> GitOps Agents
- Click on Delete, Confirm Yes when prompted
This will automatically remove the agent resources on the cluster where it was operational.
Multiple Agents
There are no limits or licensing implications to the number of agents that customers can deploy and operate. It is strongly recommended that customers use multiple agents especially for production deployments. Running multiple agents provided the following benefits:
Scalability
A single agent can become bottled necked due to multiple, concurrent requests.
Better Performance
With multiple agents, the controller automatically "round robins" requests ensuring that requests are spread across the agents.
Availability
There is not a single point of failure and the remaining agents seamlessly pick up the work in case an agent fails.