Isovalent Enterprise Platform Integration with Splunk Observability Cloud
90 minutesAuthor
Alec Chamberlain
This workshop demonstrates integrating Isovalent Enterprise Platform with Splunk Observability Cloud to provide comprehensive visibility into Kubernetes networking, security, and runtime behavior using eBPF technology.
What You’ll Learn
By the end of this workshop, you will:
Deploy Amazon EKS with Cilium as the CNI in ENI mode
Configure Hubble for network observability with L7 visibility
Install Tetragon for runtime security monitoring
Integrate eBPF-based metrics with Splunk Observability Cloud using OpenTelemetry
Monitor network flows, security events, and infrastructure metrics in unified dashboards
Understand eBPF-powered observability and kube-proxy replacement
Sections
Overview - Understand Cilium architecture and eBPF fundamentals
What is Isovalent Enterprise Platform? The Isovalent Enterprise Platform consists of three core components built on eBPF (Extended Berkeley Packet Filter) technology:
Cilium Cloud Native CNI and Network Security
eBPF-based networking and security for Kubernetes Replaces kube-proxy with high-performance eBPF datapath Native support for AWS ENI mode (pods get VPC IP addresses) Network policy enforcement at L3-L7 Transparent encryption and load balancing Hubble Network Observability
Required Tools Before starting this workshop, ensure you have the following tools installed:
AWS CLI # Check installation aws –version # Should output: aws-cli/2.x.x or higher kubectl # Check installation kubectl version –client # Should output: Client Version: v1.28.0 or higher eksctl # Check installation eksctl version # Should output: 0.150.0 or higher Helm # Check installation helm version # Should output: version.BuildInfo{Version:“v3.x.x”} AWS Requirements AWS account with permissions to create: EKS clusters VPCs and subnets EC2 instances IAM roles and policies Elastic Network Interfaces AWS CLI configured with credentials (aws configure) Splunk Observability Cloud You’ll need:
Step 1: Configure Cilium Enterprise Create a file named cilium-enterprise-values.yaml. Replace with the endpoint from the previous step (without https:// prefix):
Verify All Components Run this comprehensive check to ensure everything is running:
echo “=== Cluster Nodes ===” kubectl get nodes echo -e “\n=== Cilium Components ===” kubectl get pods -n kube-system -l k8s-app=cilium echo -e “\n=== Hubble Components ===” kubectl get pods -n kube-system | grep hubble echo -e “\n=== Tetragon ===” kubectl get pods -n tetragon echo -e “\n=== Splunk OTel Collector ===” kubectl get pods -n otel-splunk Expected Output:
Subsections of Isovalent Splunk Observability Integration
Overview
What is Isovalent Enterprise Platform?
The Isovalent Enterprise Platform consists of three core components built on eBPF (Extended Berkeley Packet Filter) technology:
Cilium
Cloud Native CNI and Network Security
eBPF-based networking and security for Kubernetes
Replaces kube-proxy with high-performance eBPF datapath
Native support for AWS ENI mode (pods get VPC IP addresses)
Network policy enforcement at L3-L7
Transparent encryption and load balancing
Hubble
Network Observability
Built on top of Cilium’s eBPF visibility
Real-time network flow monitoring
L7 protocol visibility (HTTP, DNS, gRPC, Kafka)
Flow export and historical data storage (Timescape)
Metrics exposed on port 9965
Tetragon
Runtime Security and Observability
eBPF-based runtime security
Process execution monitoring
System call tracing
File access tracking
Security event metrics on port 2112
Architecture
graph TB
subgraph AWS["Amazon Web Services"]
subgraph EKS["EKS Cluster"]
subgraph Node["Worker Node"]
CA["Cilium Agent<br/>:9962"]
CE["Cilium Envoy<br/>:9964"]
HA["Hubble<br/>:9965"]
TE["Tetragon<br/>:2112"]
OC["OTel Collector"]
end
CO["Cilium Operator<br/>:9963"]
HR["Hubble Relay"]
end
end
subgraph Splunk["Splunk Observability Cloud"]
IM["Infrastructure Monitoring"]
DB["Dashboards"]
end
CA -.->|"Scrape"| OC
CE -.->|"Scrape"| OC
HA -.->|"Scrape"| OC
TE -.->|"Scrape"| OC
CO -.->|"Scrape"| OC
OC ==>|"OTLP/HTTP"| IM
IM --> DB
Key Components
Component
Service Name
Port
Purpose
Cilium Agent
cilium-agent
9962
CNI, network policies, eBPF programs
Cilium Envoy
cilium-envoy
9964
L7 proxy for HTTP, gRPC
Cilium Operator
cilium-operator
9963
Cluster-wide operations
Hubble
hubble-metrics
9965
Network flow metrics
Tetragon
tetragon
2112
Runtime security metrics
Benefits of eBPF
High Performance: Runs in the Linux kernel with minimal overhead
Safety: Verifier ensures programs are safe to run
Flexibility: Dynamic instrumentation without kernel modules
Visibility: Deep insights into network and system behavior
Note
This integration provides visibility into Kubernetes networking at a level not possible with traditional CNI plugins.
Prerequisites
Required Tools
Before starting this workshop, ensure you have the following tools installed:
AWS CLI
# Check installationaws --version
# Should output: aws-cli/2.x.x or higher
kubectl
# Check installationkubectl version --client
# Should output: Client Version: v1.28.0 or higher
eksctl
# Check installationeksctl version
# Should output: 0.150.0 or higher
Helm
# Check installationhelm version
# Should output: version.BuildInfo{Version:"v3.x.x"}
AWS Requirements
AWS account with permissions to create:
EKS clusters
VPCs and subnets
EC2 instances
IAM roles and policies
Elastic Network Interfaces
AWS CLI configured with credentials (aws configure)
Splunk Observability Cloud
You’ll need:
A Splunk Observability Cloud account
An Access Token with ingest permissions
Your Realm identifier (e.g., us1, us2, eu0)
Getting Splunk Credentials
In Splunk Observability Cloud:
Navigate to Settings → Access Tokens
Create a new token with Ingest permissions
Note your realm from the URL: https://app.<realm>.signalfx.com
Cost Considerations
AWS Costs (Approximate)
EKS Control Plane: ~$73/month
EC2 Nodes (2x m5.xlarge): ~$280/month
Data Transfer: Variable
EBS Volumes: ~$20/month
Estimated Total: ~$380-400/month for lab environment
Splunk Costs
Based on metrics volume (DPM - Data Points per Minute)
Free trial available for testing
Warning
Remember to clean up resources after completing the workshop to avoid ongoing charges.
disableDefaultAddons: true - Disables AWS VPC CNI and kube-proxy (Cilium will replace both)
withOIDC: true - Enables IAM roles for service accounts (required for Cilium to manage ENIs)
coredns addon is retained as it’s needed for DNS resolution
Why Disable Default Addons?
Cilium provides its own CNI implementation using eBPF, which is more performant than the default AWS VPC CNI. By disabling the defaults, we avoid conflicts and let Cilium handle all networking.
Step 3: Create the EKS Cluster
Create the cluster (this takes approximately 15-20 minutes):
With the EKS cluster created, you’re ready to install Cilium, Hubble, and Tetragon.
Cilium Installation
Step 1: Configure Cilium Enterprise
Create a file named cilium-enterprise-values.yaml. Replace <YOUR-EKS-API-SERVER-ENDPOINT> with the endpoint from the previous step (without https:// prefix):
kubectl rollout status -n kube-system ds/cilium-dnsproxy --watch
Success
You now have a fully functional EKS cluster with Cilium CNI, Hubble observability, and Tetragon security!
Splunk Integration
Overview
The Splunk OpenTelemetry Collector uses Prometheus receivers to scrape metrics from all Isovalent components. Each component exposes metrics on different ports:
Component
Port
Metrics
Cilium Agent
9962
CNI, networking, policy
Cilium Envoy
9964
L7 proxy metrics
Cilium Operator
9963
Cluster operations
Hubble
9965
Network flows, DNS, HTTP
Tetragon
2112
Runtime security events
Step 1: Create Configuration File
Create a file named splunk-otel-isovalent.yaml with your Splunk credentials:
<YOUR-SPLUNK-ACCESS-TOKEN> with your Splunk Observability Cloud access token
<YOUR-SPLUNK-REALM> with your realm (e.g., us1, us2, eu0)
Metric Filtering
The configuration includes a metric filter to prevent overwhelming Splunk with high-volume metrics. Only the most valuable metrics for monitoring are included.