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.

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.

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.

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.

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.