The deployment use the image available on
You can also use the if you don’t want to install an agent
Create Load Balancer
This example use a service of type LoadBalancer to expose the agent port.
Copy kubectl apply -f https://raw.githubusercontent.com/datasentinel/datasentinel_toolkit/master/docker/agent/kubernetes-loadbalancer.yml
Deploy Agent
Because the agent registers the server name and listening port to the platform, you need to expose them externally and pass the values when running a new agent.
This allows the platform to communicate with the agent.
Get the external ip of the load balancer
Copy kubectl get services datasentinel-agent -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
Download the definition file
Copy wget https://raw.githubusercontent.com/datasentinel/datasentinel_toolkit/master/docker/agent/kubernetes.yml
You need to replace the DATASENTINEL_AGENT_HOST value by the Load balancer IP
Copy kubectl apply -f kubernetes.yml
Copy // CLI command example
/agent/datasentinel/datasentinel status agent
Copy // Check agent status
curl -k https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/agent/status
Update token with valid license
Copy export TOKEN="Valid license key"
cat <<EOF >body.json
{
"value" : "$TOKEN"
}
EOF
curl -k --header 'Content-Type: application/json' --request PUT "https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/server/token" -d @body.json
Set Datasentinel upload platform
Copy cat <<EOF >upload_server.json
{
"host": "datasentinel_server",
"port": 443
}
EOF
curl -k --header "api-token: $TOKEN" --header 'Content-Type: application/json' -X PUT https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/server -d @upload_server.json
# Check upload server
curl -k -X GET https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/server
Test the communication between the agent and the platform
Copy curl -k --header "api-token: $TOKEN" --request POST https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/server/test-upload
Add a PostgreSQL connection
Copy cat > body.json <<EOF
{
"host": "172.16.250.199",
"port": 5432,
"user": "datasentinel",
"password": "myPassword",
"tags": "application=application_name,environment=docker,datacenter=datacenter"
}
EOF
curl -k --header "api-token: $TOKEN" --header 'Content-Type: application/json' --request POST "https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/connections/pg_docker_example" -d @body.json
Check connection
Copy curl -k --header "api-token: $TOKEN" -X GET https://${DATASENTINEL_AGENT_HOST}:${DATASENTINEL_AGENT_PORT}/api/connections