Prerequisites
Before you begin, ensure you have:- A Kubernetes cluster (version 1.21 or later)
kubectlconfigured to access your clusterhelmCLI installed (version 3.0 or later)- Administrative access to the Kestrel AI platform
Step 1: Generate Operator Credentials
First, you need to generate credentials for your operator to authenticate with the Kestrel AI platform.- Log in to the Kestrel AI Dashboard
- Navigate to Integrations → Kubernetes
- Click Generate New Credential
- Configure the following settings:
Basic Configuration
-
Cluster Name: A unique identifier for your cluster (e.g.,
production-cluster)- Must contain only alphanumeric characters, dots, dashes, and underscores
- This name will be used to identify your cluster in the Kestrel AI platform
- Description (Optional): Add notes about this cluster’s purpose or environment
Flow Collection Source
Choose how the operator will collect network traffic data:- Cilium (L3/L4)
- Istio (L7)
Cilium with Hubble Relay (Default)
- Collects Layer 3/4 network flows from Cilium CNI
- Requires Cilium installed with Hubble enabled
- Provides visibility into TCP/UDP connections between workloads
- You’re using Cilium as your CNI
- You need network-level visibility
- You want to monitor all traffic flows
Metrics Source
Choose how the Kestrel Operator will collect infrastructure and workload metrics for incident analysis and root cause investigation:- Kubernetes Metrics Server
- OpenTelemetry
- Datadog
Kubernetes Metrics Server (Default)
- Uses the built-in K8s Metrics API if available
- No additional configuration required
- Provides basic CPU and memory usage data for pods and nodes
- You have the Kubernetes Metrics Server installed (most clusters do by default)
- You don’t need historical metrics or advanced monitoring
Safe-Apply Permissions
Toggle Grant Safe-Apply Permissions if you want to:- Allow approved YAML configurations to be deployed automatically
- Enable automated remediation workflows
- Execute API calls and commands on behalf of Kestrel
Step 2: Download Configuration
After generating credentials, you’ll receive:- Helm Values File: A pre-configured
values.yamlfile with your token - Operator Token: A JWT token for manual configuration
Step 3: Deploy the Operator
Using Helm (Recommended)
Deploy the Kestrel Operator using the downloaded values file:The operator token automatically renews every 24 hours, ensuring your cluster remains connected without manual intervention.
Manual Configuration
If you prefer to customize the installation, create your ownvalues.yaml:
Step 4: Verify Installation
- Check pod status:
- View operator logs:
- Verify connection in dashboard:
- Return to the Kestrel AI Dashboard
- Navigate to Integrations → Kubernetes
- Your cluster status should show as Connected (green badge)
Step 5: Configure Safe-Apply (Optional)
If you didn’t enable Safe-Apply during initial setup but want to enable it later:- In the Dashboard, go to Integrations → Kubernetes
- Find your cluster in the list
- Toggle the Safe-Apply switch
- Confirm the action in the dialog
With Safe-Apply enabled:
- Resources require approval from namespace owners and security admins
- All changes are logged in the Audit Log
- You can create, update, or delete resources from the AI chat interface
Connection Status Indicators
The dashboard shows your cluster’s connection status:- Connected (Green): Actively sending data
- Offline (Gray): Previously connected but currently offline
- Pending (Red): Never connected with this token
Managing Multiple Clusters
You can connect multiple clusters to a single Kestrel AI organization:- Generate a unique credential for each cluster
- Deploy the operator to each cluster with its specific token
- Manage all clusters from a unified dashboard
Your subscription tier determines the maximum number of clusters you can connect. Contact hello@usekestrel.ai to upgrade your plan.
Updating the Operator
To update to the latest operator version:Uninstalling
To remove the operator and revoke access:- Delete from cluster:
- Revoke credentials:
- In the Dashboard, go to Integrations → Kubernetes
- Click the delete icon next to your cluster
- Confirm the deletion