Installation¶
Kubernetes¶
Create a my-values.yaml
file that will specify the configuration of the Telemetry Agent. At minimum, the following three values should be specified:
# the Telemetry Controller (or another Telemetry Agent) endpoint where to send data to
telemetryControllerEndpoint: 10.160.3.20:32103
# the ICOS Agent ID for this instance
agentId: icos-agent-1
helm install --namespace icos-system my-release-name oci://harbor.res.eng.it/icos/helm/telemetry-agent --values my-values.yaml
Development Versions
In order to install versions not yet released, the url of the chart needs to be change to oci://harbor.res.eng.it/icos-private/helm/telemetry-agent
.
In addition, since unreleased versions are private, you need to login to the repository before launching the install command:
and provide your credentials.
Enabling cluster-level collector¶
By default the Telemetry Agent deploys an agent (telemetry-node-agent
) on each node of the Kubernetes cluster (using a Daemonset
resource). Each agent directly sends telemetry to the upstream telemetry component (e.g. a Telemetry Controller). This requires internet connectivity from each node to the upstream component.
In case in which not all the nodes of the cluster have connectivity to internet and/or visibility of the upstream telemetry node (e.g., in case that a VPN connection is needed and only one node of the cluster is connected to the VPN) it is possible to deploy an addtional component that will collect all the metrics produced in the cluster and will send them.
For instance, if the only node in the cluster that has network visibility of the Telemetry Controller is the node named jetson-1
, it is possible to deploy the telemetry agent with the cluster-level collector and force it to be deployed on the node with connectivity:
Docker¶
-
Get the docker compose packaged
-
Create a file named
telemetry-agent.env
-
Deploy