Installing Addons
Add-ons extend your Kubernetes cluster with additional functionality. This guide covers installing and managing add-ons in the Krutrim Kubernetes Service.
What are Add-ons?
Add-ons are additional components that provide essential services or extended functionality to your Kubernetes cluster:
Core Services: DNS (CoreDNS) for service discovery
Networking: CNI plugins for pod networking (Cilium, kube-proxy)
Storage: CSI drivers for persistent storage
Monitoring: Metrics collection and observability
Autoscaling: Automatic node and pod scaling
Note: All add-ons, including CoreDNS, must be manually installed after cluster creation.
Critical: CNI Installation
What is CNI?
CNI (Container Network Interface) is required for pod-to-pod communication in your cluster. Without a CNI, your cluster pods cannot communicate.
Kube-proxy vs. Cilium
You have two primary networking options:
Option 1: Cilium (Recommended) ⭐
What is Cilium?
Modern eBPF-based CNI solution
High-performance networking
Built-in network security and observability
Deployed via Helm chart
Important: Do NOT Install Kube-proxy with Cilium
Why?
Cilium replaces kube-proxy functionality using eBPF
Running both can cause conflicts and networking issues
Cilium provides better performance and features
When to Use Cilium:
✅ New clusters
✅ Production workloads
✅ Need for network security policies
✅ High-performance requirements
Option 2: Kube-proxy + Your Own CNI
What is Kube-proxy?
Traditional Kubernetes networking component
Provides Service load balancing
Required if you want to use your own CNI solution
When to Use This Option:
✅ Need specific CNI solution (Calico, Flannel, etc.)
✅ Have existing expertise with particular CNI
✅ Require specific features from other CNI providers
Important: Cilium Add-on May Not Work with Kube-proxy
CNI Installation Decision Flow
Available Add-ons
The Krutrim Kubernetes Service provides several add-ons to extend cluster functionality.
Core Add-ons
CoreDNS (Recommended)
Description: DNS service for Kubernetes cluster
Features:
Service discovery and DNS resolution
Pod-to-service name resolution
Essential for cluster functionality
Installation:
Verification:
Networking Add-ons
Cilium (Recommended)
Description: eBPF-based networking and security solution
Features:
Pod networking and connectivity
Service load balancing (replaces kube-proxy)
Network security policies
Network observability
High performance with eBPF
Installation:
Verification:
Kube-proxy
Description: Traditional Kubernetes network proxy
Features:
Service load balancing
iptables-based networking
Standard Kubernetes component
When to Install:
Only if you plan to use your own CNI solution
Do NOT install if using Cilium add-on
Installation:
Storage Add-ons
CSI
Description: Container Storage Interface driver for persistent storage
Features:
Persistent Volume (PV) support
Dynamic volume provisioning
Storage class management
Integration with Krutrim Cloud storage
Important: Default Storage Class
Installation:
Verification:
Usage Example:
Other Add-ons
Cluster Autoscaler
Description: Automatically adjusts node group sizes based on resource demands
Features:
Automatic node scaling up/down
Cost optimization
Resource efficiency
When to Use:
Variable workload patterns
Cost-sensitive environments
Need for automatic capacity management
Metrics Server
Description: Collects resource metrics from kubelets
Features:
CPU and memory metrics
Enables
kubectl topcommandsRequired for Horizontal Pod Autoscaler (HPA)
When to Use:
Need resource monitoring
Using Horizontal Pod Autoscaler
Want to track resource usage with
kubectl top
Installing Add-ons: Process Overview
Installation Steps
Configure Add-on
Version Selection:
Default Version: Recommended for most cases (automatically selected)
Specific Version: Choose if you need a particular version
Compatibility: System automatically shows compatible versions for your cluster
Add-on Configuration:
Most add-ons use sensible defaults
Advanced configuration typically not needed
System automatically selects compatible versions
Installation Order Best Practices
Why This Order Matters:
Managing Add-ons
Viewing Installed Add-ons
View list of installed add-ons with:
Add-on name
Version
Status
Installation date
Common Add-on Scenarios
Scenario 1: New Production Cluster
Recommended Add-ons:
CoreDNS
Cilium (without kube-proxy)
CSI Node Plugin
Metrics Server
Cluster Autoscaler (if variable load)
Scenario 2: Development/Testing Cluster
Minimal Add-ons:
CoreDNS
Cilium (without kube-proxy)
CSI Node Plugin (if testing with PVs)
Installation Order:
CoreDNS → Wait complete
Cilium → Verify networking
CSI Node Plugin (optional, only if needed)
Scenario 3: Using Custom CNI
Required Add-ons:
CoreDNS
Kube-proxy
Your CNI (installed separately)
CSI Node Plugin (if needed)
Installation Order:
CoreDNS → Wait complete
Kube-proxy → Wait complete
Install your CNI using kubectl/helm
Verify all nodes Ready
CSI Node Plugin if needed
Troubleshooting Add-on Installation
Add-on Best Practices
✅ Do's
Install CoreDNS First: Required for service discovery before other add-ons
Install CNI Early: Pod networking is essential for cluster functionality
Choose One CNI Strategy: Either Cilium OR kube-proxy + custom CNI
Verify After Installation: Check pod status after each add-on
Install CSI Node Plugin for Storage: If you need persistent volumes
❌ Don'ts
Don't Skip CoreDNS: Service discovery won't work without it
Don't Install Cilium with Kube-proxy: They conflict
Don't Skip Verification: Always verify add-on is working
Don't Install Multiple CNIs: Choose one networking solution
Additional Resources
Configure Storage - Use your CSI storage class
Create Load Balancers - Expose services with OCCM
Best Practices - Cluster optimization guidelines
Troubleshooting Guide - Common issues and solutions
Last updated
Was this helpful?

