To connect your on-premises environment with the Precisely Cloud, begin by downloading the agent installation package from the authorized source. Run the installer and follow the prompts to complete setup. During installation, configure required settings such as access credentials and network parameters. After installation, apply any additional configurations needed. A properly installed and configured agent is essential for secure and reliable communication with the Precisely Cloud.
Install an agent
The Agent enables execution of Data Integration, Data Replication, profiling, and quality workloads within your infrastructure.
The Agent can be deployed:
-
On a single machine in Standalone mode(Default installation mode).
-
On an existing Kubernetes cluster in Cluster mode.
Installation is performed using the Agent CLI (discli), which is generated per agent instance from the platform UI.
System requirements
| System requirements | Description |
|---|---|
| Supported Operating Systems |
For standalone mode: Ubuntu 24.04 and Red Hat Enterprise Linux 10 (RHEL 10), (Linux Kernel 4.15+) For cluster mode: Ubuntu 24.04 and Red Hat Enterprise Linux 10 (RHEL 10), Amazon Linux 2023 Note: Ubuntu 22.04 LTS and RHEL 9.x remain supported, along with the new versions listed above.
|
| Supported Hardware | Any system with x86_64 architecture |
| Resources |
|
| Configurations | sudo privilege |
- It is recommended to have 10% free space at all times when the agent is running.
-
Agent CLI is built using graalVM. All dependencies such as JRE, and other packages are bundled together.
Note:
-
For standalone mode, follow the system requirements listed in Table: System Requirements.
-
For cluster mode, ensure your Kubernetes cluster meets similar overall capacity as the standalone requirements but distributed across nodes.
- You need sudo access to perform all Agent CLI operations, but do not use the root user or prefix any Agent CLI commands with 'sudo', such as 'sudo ./discli version'
-
Namespace installation behavior
Agent installation behavior has been updated to simplify deployment and management. Agents now install in single-namespace mode by default, rather than multi-namespace mode.
-
Default installation (single-namespace mode)
When you install an agent without specifying a namespace, it deploys to the default namespace:
precisely-ns.To specify a custom namespace, use the
-nflag:./discli agent install -n my-namespace
-
Multi-namespace installation
If you need to install an agent in multi-namespace mode, you must explicitly enable it using one of these flags:
-x true--multi true
Examples:
./discli agent install -x trueor./discli agent install --multi true
-x true or --multi true if your deployment requires it. If no namespace is specified, the agent installs in the default namespace precisely-ns.Standalone mode
To install an agent in standalone mode, follow these steps:
- On the main navigation menu, select Configuration > Agents.
- Select +Create Agent to start the configuration process, then enter the name and description for the agent and choose Create to finalize.
-
Copy the
download agent CLI command
by selecting the Copy icon next to it. Paste the command into your terminal to download the CLI package.
wget https://cdn.cloud.precisely.com/agent-cli/discli && chmod +x ./discli -
Before proceeding with the installation, ensure your system has the necessary resources by running the following command:
./discli agent pre-flight -
Once the CLI package is downloaded, copy the install agent command directly from the UI. Paste this command into your terminal, and then run the command.
./discli agent install --agent-id <id> --regKey <key> --installUrl https://agent-management.dis-platform.cloud.precisely.com/agents -
Recommended flags for flexible installation
: Several flags are available to support flexible, environment-agnostic installations while remaining backward compatible:
Table 1. Flag Description --install-mode <standalone>Installs in single-node mode --namespace <user-given-namespace>Installs components in user-defined namespace --namespace <namespace>Specifies the target namespace for installation. Default: precisely-ns-x trueor--multi trueEnables multi-namespace installation mode. --install-modules <list>You can choose to install all services or a subset using a comma-separated list. Examples: --install-modules DI: Installs all Data Integration modules.--install-modules connect-cdc,spark-connector: Installs only the specified modules such as connect-CDC and spark-connector.
Cluster mode
To install an agent in cluster mode, follow these steps:
- On the main navigation menu, select Configuration > Agents.
- Select +Create Agent to start the configuration process, then enter the name and description for the agent and choose Create to finalize.
-
Copy the
download agent CLI command
by selecting the Copy icon next to it. Paste the command into your terminal to download the CLI package.
wget https://cdn.cloud.precisely.com/agent-cli/discli && chmod +x ./discli - If your infrastructure is hosted on AWS and the agent is deployed on Amazon Elastic Kubernetes Service (EKS), additional Kubernetes access configuration is required before installation. For more information, see EKS, GKE, and AKS cluster access setup.
-
Once the CLI package is downloaded, copy the install agent command directly from the UI. Paste this command into your terminal, and then run the command.
./discli agent install --agent-id <id> --regKey <key> --installUrl https://agent-management.dis-platform.cloud.precisely.com/agents --install-mode cluster --storage-class <storage-class> -n <namespace>The command starts the cluster-mode agent installation.
-
Recommended flags for flexible installation
: Several flags are available to support flexible, environment-agnostic installations while remaining backward compatible:
Table 2. Flag Description --install-mode <cluster>Deploys to Kubernetes cluster --namespace <user-given-namespace>Target Kubernetes namespace --install-modules <list>Install selected modules --storage-class <storage_class_name>CSI-compliant storage class for dynamic volume provisioning. -n <namespace>Specifies the target Kubernetes namespace for installation. Default: precisely-ns-x trueor--multi trueEnables multi-namespace installation mode. -
Helm-based installation
: For cluster mode, installation can also be done via Helm.
-
Requirements: Access to a Kubernetes cluster and
helmandkubectlinstalled on the local machine. -
Install command:
helm install <release-name> <chart> --set <options>Helm installation options correspond to the same configuration parameters available in the CLI method.
-
Post-installation verification
- After installation, the agent will be registered with the system using the provided registration key. You can manage and interact with the agent via the CLI or UI.
-
To check the agent's health status, return to the Manage Agent page. The status will be indicated by the following icons:
Action Required: Displayed when the agent has not checked in for more than two minutes.
Service Down: Displayed when one or more agent services are unavailable.
Not Registered: Displayed when the agent has been added but not yet installed.
OK: Displayed when the agent's check-in is up-to-date, and all services are running.
- Select the agent name to open the Agent Details page, where a list of installed services appears.
- If step 3 fails, ensure that
wgetis installed. Alternatively, you can usecurl -Oto download the file. It is recommended to create a user named Precisely on the VM to install and manage the agent, ensuring consistency across all environments. - Be sure to copy the full command with actual values from the UI, the example shown above uses placeholders.
- The Download Agent and Install Agent commands are provided only once. It is essential to document these commands securely for future reference. Store them in a safe location to prevent loss and facilitate access later.
-
If you lose the commands, delete the existing agent and recreate it to generate new installation commands. If the installation has not succeeded, the install command can be reused a limited number of times before the key expires. Once you exceed this limit, use the "re-register" command to reinstall the agent instead of using the original key or command.
However, if the installation is successful, the key cannot be reused in its original form. In this case, there is no need to keep the original key or command.
Troubleshoot Metrics Server availability
If the Service Down status appears after you install an agent in cluster mode, and the spark-connector service does not start, check the Metrics Server. A Metrics Server pod in 0/1 Running state can prevent Kubernetes resource metrics from becoming available.
-
Check the Metrics Server pod status:
sudo /usr/local/bin/k3s kubectl get pods -n kube-system -l k8s-app=metrics-server -o wideA healthy pod shows
1/1 Running. If the pod shows0/1 Running, continue with the following steps. -
Check the active firewalld zone and the zone assigned to the Kubernetes CNI interface:
sudo firewall-cmd --get-active-zones sudo firewall-cmd --get-zone-of-interface=cni0If the CNI interface is not assigned to a zone, verify the existing firewall configuration before adding a rule.
-
Check whether the firewall already allows traffic to kubelet port
10250:sudo firewall-cmd --zone=public --list-ports sudo firewall-cmd --zone=public --list-rich-rules -
Find the pod network CIDR used by the Agent installation. Replace
10.42.0.0/24in the following command with the actual pod CIDR:sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.42.0.0/24" port protocol="tcp" port="10250" accept'This rule allows the Kubernetes pod network to communicate with the kubelet. Do not assume that
10.42.0.0/24is the pod network for every installation. -
Reload firewalld and verify the rule:
sudo firewall-cmd --reload sudo firewall-cmd --zone=public --list-rich-rules -
Restart the Metrics Server:
sudo /usr/local/bin/k3s kubectl delete pod -n kube-system -l k8s-app=metrics-serverKubernetes recreates the pod. Wait for the new pod to show
1/1 Running. -
Verify that the Metrics API is available:
sudo /usr/local/bin/k3s kubectl get apiservices | grep metricsThe
v1beta1.metrics.k8s.ioAPI service should show statusTrue. -
Verify that Kubernetes returns resource metrics:
sudo /usr/local/bin/k3s kubectl top pods -AThe command should display CPU and memory metrics.
-
Verify the Agent services:
./discli agent statusRequired active services should show
1/1 Running. Completedlogrotatejobs that show0/1 Succeededare expected and do not indicate a service failure.