iptables vs IPVS: What to Use for Kubernetes?

Kubernetes supports two main kube-proxy modes: iptables and ipvs. Which one should you use? 1. What is kube-proxy? kube-proxy manages network rules on Kubernetes nodes, allowing communication between services and pods. It can operate in different modes: iptables, ipvs, and userspace (deprecated). 2. iptables Mode Default and widely supported Implements rules using iptables NAT chains Pros: Simpler No extra kernel modules required Easier to debug Cons: Performance degrades with many services Sequential rule processing 3. IPVS Mode Based on Linux IP Virtual Server (part of LVS) Uses a hash table for rules → faster performance Pros: Better performance for large-scale clusters Supports connection-level load balancing algorithms (round-robin, least connections, etc.) Cons: Requires ip_vs kernel modules Slightly more complex setup 4. Switching to IPVS Check kernel support: ...

September 1, 2025 · 2 min · 222 words · DevOps Insights

Jaeger: Installation and Usage Guide for Distributed Tracing in Kubernetes

Introduction Jaeger is an open-source end-to-end distributed tracing tool originally developed by Uber Technologies. It is used for monitoring and troubleshooting microservices-based distributed systems. This guide provides a clear overview of how to install and use Jaeger in Kubernetes with practical examples. Why Use Jaeger? Visualize service dependencies and latencies Troubleshoot performance bottlenecks Monitor request paths across microservices Support for OpenTelemetry Prerequisites A running Kubernetes cluster (e.g., Minikube, k3s, GKE, etc.) kubectl configured Helm installed 1. Install Jaeger with Helm helm repo add jaegertracing https://jaegertracing.github.io/helm-charts helm repo update helm install jaeger jaegertracing/jaeger --set query.basePath=/jaeger --set ingress.enabled=true --set ingress.hosts="{jaeger.yourdomain.com}" To expose Jaeger locally: ...

August 29, 2025 · 2 min · 269 words · John Cena

Understanding ndots in Kubernetes DNS Resolution

Understanding ndots in Kubernetes DNS Resolution The ndots option in DNS configuration plays a subtle but important role in how domain names are resolved inside Kubernetes pods. Incorrectly configured ndots can lead to unnecessary DNS queries, delays, or failed resolutions. What is ndots? ndots is a setting in /etc/resolv.conf that determines whether a DNS query is treated as a fully qualified domain name (FQDN) or a partial name requiring search path resolution. ...

August 25, 2025 · 2 min · 295 words · John Cena

Static Pods in Kubernetes: What, Why, and How

Static Pods in Kubernetes: What, Why, and How In Kubernetes, most pods are managed by the control plane through controllers like Deployments or DaemonSets. However, there’s a special kind of pod called a static pod. These are managed directly by the kubelet on each node, bypassing the Kubernetes API server. Why Use Static Pods? Static pods are useful when: You want to ensure critical system components (like logging or monitoring agents) are always running. You don’t want to rely on the control plane to schedule pods. You’re bootstrapping a Kubernetes cluster and need kubelet to run etcd or control-plane components before the API server is available. Key Characteristics Managed only by the kubelet. Not visible via kubectl get pods unless mirrored by the API server. Defined using simple YAML files placed in a designated directory. How to Create a Static Pod 1. Enable Static Pod Path on Kubelet Make sure the --pod-manifest-path is set in your kubelet config or systemd service file: ...

August 23, 2025 · 2 min · 313 words · John Cena

How to Distribute Load Effectively in Kubernetes

How to Distribute Load Effectively in Kubernetes Managing and distributing load in a Kubernetes cluster is key to ensuring system performance and reliability. Kubernetes offers several native features that help balance traffic and workload across nodes and pods. Why Load Distribution Matters Evenly distributed load improves: System responsiveness Resource utilization Cluster stability Cost-efficiency 1. Horizontal Pod Autoscaler (HPA) HPA automatically scales pods based on CPU/memory or custom metrics. kubectl autoscale deployment myapp --cpu-percent=50 --min=2 --max=10 Ensure metrics-server is installed for HPA to function. ...

August 20, 2025 · 2 min · 231 words · John Cena