Skip to content

Setup Instructions ​

Get your cluster connected to CloudPirates Managed Observability in less than 5 minutes. Just one helm chart installation, no complex configuration required.

What You'll Install ​

ClusterPirate is a lightweight agent that runs in your cluster and securely sends monitoring data to CloudPirates. It:

  • Discovers all Kubernetes resources automatically
  • Collects CPU/memory metrics and Kubernetes events
  • Validates security and best practices
  • Requires minimal resources (10m CPU, 100Mi memory)
  • Scans container images for vulnerabilities, see CVE Scans

Lightweight & Secure

ClusterPirate only reads data from your cluster and sends it securely to CloudPirates. It never modifies your workloads or stores sensitive data.

Before You Begin ​

Complete these quick steps in the portal first:

  1. Register: Sign up at portal.cloudpirates.io
  2. Create Workspace: Organize your clusters
  3. Register Cluster: Add your cluster in the workspace to get the access token

The access token is your cluster's unique identifier. Keep it secure.

Installation ​

This is all you need for most clusters:

bash
# Create namespace
kubectl create namespace clusterpirate-system

# Install ClusterPirate
helm install clusterpirate oci://registry-1.docker.io/cloudpirates/clusterpirate \
  --namespace clusterpirate-system \
  --set auth.accessToken="YOUR_ACCESS_TOKEN"

Replace YOUR_ACCESS_TOKEN with the token from your portal cluster registration.

That's it! The agent starts monitoring immediately. Check your portal to see cluster data flowing in.

Advanced Configuration (Optional) ​

Need to customize the installation? Create a values.yaml file with your preferences:

yaml
# Required: Access token from portal cluster creation
auth:
  accessToken: "your-access-token"

# Optional: ClusterPirate application settings
clusterPirate:
  logLevel: "info"
  healthPort: 3000
  metrics:
    enabled: true
    updateIntervalSeconds: 60
  monitoring:
    resourceEventsEnabled: true
    systemEventsEnabled: true

# Optional: Deployment configuration
deployment:
  image:
    registry: "harbor.cloudpirates.io"
    repository: "koperator-internal/services/clusterpirate"
    tag: "latest"
    pullPolicy: "Always"
  resources:
    requests:
      cpu: "10m"
      memory: "100Mi"
    limits:
      memory: "300Mi"

# Optional: Valkey configuration (caching)
valkey:
  enabled: true
  ttl: 86400 # 24 hours
  auth:
    enabled: true
    password: "" # Auto-generated if empty

# Optional: RBAC and ServiceAccount
rbac:
  create: true
serviceAccount:
  create: true
  name: ""

Install with values:

bash
helm install clusterpirate oci://registry-1.docker.io/cloudpirates/clusterpirate \
  --namespace clusterpirate-system \
  --values values.yaml

Configuration ​

Required Parameters ​

ParameterDescriptionRequired
auth.accessTokenToken from cluster creation in portal✓

Optional Parameters ​

ParameterDescriptionDefault
clusterPirate.logLevelLog level (debug, info, warn, error)info
clusterPirate.healthPortHealth check port3000
clusterPirate.metrics.enabledEnable metrics collectiontrue
clusterPirate.metrics.updateIntervalSecondsMetrics update interval60
deployment.resources.requests.cpuCPU request10m
deployment.resources.requests.memoryMemory request100Mi
deployment.resources.limits.memoryMemory limit300Mi
valkey.enabledEnable Valkey cachingtrue
valkey.ttlCache TTL in seconds86400

Verification ​

Check installation status:

bash
# Check pod status
kubectl get pods -n clusterpirate-system

# Check logs
kubectl logs -f deployment/clusterpirate -n clusterpirate-system

# Verify all resources
kubectl get all -n clusterpirate-system

Expected output:

NAME                               READY   STATUS    RESTARTS   AGE
pod/clusterpirate-xxxxx-xxxxx     1/1     Running   0          1m
pod/clusterpirate-valkey-xxxxx    1/1     Running   0          1m

Management ​

Upgrade ​

bash
helm upgrade clusterpirate oci://registry-1.docker.io/cloudpirates/clusterpirate \
  --namespace clusterpirate-system \
  --values values.yaml

Uninstall ​

bash
helm uninstall clusterpirate --namespace clusterpirate-system

Troubleshooting ​

Invalid Access Token ​

Symptoms: Authentication failed or Unauthorized errors

Solution:

  • Verify token is correctly copied from portal
  • Check that the cluster hasn't had its access token rotated since (rotating a token invalidates the old one)

Pod Not Starting ​

Symptoms: Pods stuck in Pending or CrashLoopBackOff

Solution:

bash
# Check pod events
kubectl describe pod -n clusterpirate-system -l app.kubernetes.io/name=clusterpirate

# Check logs
kubectl logs -n clusterpirate-system -l app.kubernetes.io/name=clusterpirate

Network Connectivity ​

Symptoms: Cannot connect to portal services

Solution:

  • Verify outbound internet access from cluster
  • Check if firewall blocks connections to *.cloudpirates.io
  • Ensure DNS resolution works for api.cloudpirates.io

Getting Help ​

Contact support with:

  • Helm chart version
  • Kubernetes version
  • Error messages and logs
  • Cluster configuration details