<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tigera Inc</title>
    <description>The latest articles on DEV Community by Tigera Inc (@tigeraio).</description>
    <link>https://dev.to/tigeraio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12572%2F4d2bfc2d-d864-425c-9ed3-84e946982557.png</url>
      <title>DEV Community: Tigera Inc</title>
      <link>https://dev.to/tigeraio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tigeraio"/>
    <language>en</language>
    <item>
      <title>Introducing AI Assistant for Calico, Calico Load Balancer, and Seamless VM-to-Kubernetes Migration</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Mon, 23 Mar 2026 07:01:36 +0000</pubDate>
      <link>https://dev.to/tigeraio/introducing-ai-assistant-for-calico-calico-load-balancer-and-seamless-vm-to-kubernetes-migration-4h80</link>
      <guid>https://dev.to/tigeraio/introducing-ai-assistant-for-calico-calico-load-balancer-and-seamless-vm-to-kubernetes-migration-4h80</guid>
      <description>&lt;p&gt;&lt;strong&gt;SAN JOSE, Calif., March 23, 2026&lt;/strong&gt; — &lt;a href="https://www.tigera.io/?utm_source=syndicate&amp;amp;utm_medium=press_release&amp;amp;utm_campaign=KubeCon2026" rel="noopener noreferrer"&gt;Tigera&lt;/a&gt;, the creator and maintainer of Project Calico, today announced a major expansion of its Unified Network Security Platform for Kubernetes, aimed at helping enterprises consolidate infrastructure and accelerate the migration of legacy workloads to cloud-native platforms.&lt;/p&gt;

&lt;p&gt;The new capabilities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Al Assistant for Calico:&lt;/strong&gt; A proactive, conversational intelligence layer that replaces complex manual log analysis with natural-language troubleshooting and proactive security audits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calico Load Balancer:&lt;/strong&gt; A high-performance, eBPF-based, software-defined load balancer that replaces expensive, rigid hardware appliances with a Kubernetes-native solution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless VM-to-Kubernetes Migration:&lt;/strong&gt; Advanced Layer 2 (L2) networking support eliminates migration friction by allowing virtual machines to move into Kubernetes clusters without changing their original IP addresses or existing VLAN dependencies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These innovations help organizations tackle the rising “complexity tax” in managing high-scale Kubernetes clusters and provide a high-velocity path to consolidate virtual machines and containers into a single, standardized platform.&lt;/p&gt;

&lt;p&gt;“The industry is at a breaking point where the operational overhead of managing legacy hardware and fragmented VM silos is no longer sustainable. By building a distributed load balancer into the fabric of Calico, launching an Al assistant that ‘troubleshoots at the speed of thought,’ and introducing live migration support to move VMs to Kubernetes, we are giving platform teams the power to innovate rather than spend hours managing and troubleshooting.”&lt;/p&gt;

&lt;p&gt;— Ratan Tipirneni, president and CEO, Tigera&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting at the Speed of Thought: Introducing an Al Assistant for Calico
&lt;/h2&gt;

&lt;p&gt;Despite the wealth of telemetry available in modern clusters, SREs often struggle to find the “connecting thread” across isolated events. Calico’s Al Assistant provides a context-aware intelligence layer to extract actionable insights from raw telemetry.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ask, Don’t Query:&lt;/strong&gt; Engineers can move away from rigid query languages and toward articulating intent in plain English. For example: “What are the unrestricted egress destinations currently receiving traffic from my pods?”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context-Aware Explanations:&lt;/strong&gt; The assistant provides summaries and recommendations generated from real telemetry and policy context, explaining exactly why traffic is being denied and offering remediation advice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proactive Security:&lt;/strong&gt; Beyond troubleshooting, the Al assistant maintains cluster stability by detecting unused network policies, identifying misconfigurations, and surfacing exposure risks before they cause an outage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Explore the full capabilities: &lt;a href="https://www.tigera.io/blog/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought/" rel="noopener noreferrer"&gt;How the AI Assistant for Calico simplifies troubleshooting at the speed of thought.&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Eliminating Hardware Bottlenecks: The Calico Load Balancer
&lt;/h2&gt;

&lt;p&gt;On-premises Kubernetes teams have traditionally relied on legacy hardware appliances to expose services, creating significant operational overhead and rigid dependencies between networking and platform teams. These external solutions often lack visibility into Kubernetes service context, do not scale horizontally, and require manual coordination for even basic software upgrades.&lt;/p&gt;

&lt;p&gt;Tigera is disrupting this model with the Calico Load Balancer, a modern, software-defined solution built natively into the Calico platform. By transforming existing cluster nodes into a distributed, session-stable load-balancing tier, platform teams gain full control over service advertisement and configuration using the same Kubernetes workflows they already use.&lt;/p&gt;

&lt;p&gt;This Kubernetes-native innovation delivers several critical advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session Persistence for Stateful Apps:&lt;/strong&gt; A high-performance, eBPF-based data plane ensures that latency-sensitive, stateful applications like Kafka or RabbitMQ maintain active connections even during node failures or changes in network paths.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Graceful Node Restarts:&lt;/strong&gt; Platform teams can mark nodes for maintenance and take them offline without impacting user sessions, preventing lost transactions for critical business services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced Latency:&lt;/strong&gt; By enabling return traffic to take a shorter path back to the client, the solution reduces latency compared to traditional appliances where traffic must pass through the same central hardware twice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplified Scaling:&lt;/strong&gt; The load balancer scales horizontally with the cluster; adding more nodes automatically adds more load-balancing capacity without vertical scaling limits or vendor upgrade cycles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Service and Declarative Control:&lt;/strong&gt; Configuration is handled through standard Kubernetes resources and GitOps workflows, removing cross-team bottlenecks and eliminating the need for tickets or separate management consoles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Technical Deep Dive: &lt;a href="https://www.tigera.io/blog/calico-load-balancer-simplifying-network-traffic-management-with-ebpf/" rel="noopener noreferrer"&gt;Simplifying network traffic management with eBPF and the Calico Load Balancer.&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Great Migration: Seamlessly Moving VMs to Kubernetes
&lt;/h2&gt;

&lt;p&gt;Historically, migrating virtual machines to Kubernetes meant a forced network redesign because VMs rely on static IP addresses and legacy Layer 2 VLAN configurations. Tigera’s new L2 networking support removes this friction.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Change Migration:&lt;/strong&gt; VMs can be migrated from VMware to Kubernetes (KubeVirt) while keeping their original IP addresses, ensuring business continuity for applications with hardcoded dependencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instant Security Upgrade:&lt;/strong&gt; Once migrated, VMs are automatically protected by Calico’s microsegmentation, allowing organizations to retire costly third-party security tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once migrated, the VMs in Kubernetes benefit from Calico’s advanced network security and observability capabilities. For users familiar with technologies like VMware NSX, Calico provides NSX-like functionality, including software-defined networking, microsegmentation, a workload-based firewall, and egress gateways for VMs running in Kubernetes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step-by-Step Guide: &lt;a href="https://www.tigera.io/blog/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks/" rel="noopener noreferrer"&gt;Lift and shift VMs to Kubernetes with Calico L2 bridge networks.&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One Platform for Networking, Security, and Observability
&lt;/h2&gt;

&lt;p&gt;The new Calico Unified Network Security Platform provides platform teams with a single, operator-managed solution. This allows teams to gain consistent network policy enforcement across L3-L7 layers with unified visibility, eliminating the overhead of managing multiple tools. Calico works consistently across any Kubernetes distribution, virtual machines, and bare-metal servers, ensuring enterprises can avoid vendor lock-in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Tigera&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/?utm_source=syndicate&amp;amp;utm_medium=press_release&amp;amp;utm_campaign=KubeCon2026" rel="noopener noreferrer"&gt;Tigera&lt;/a&gt; provides Calico, a unified network security and observability platform to prevent, detect, and mitigate security breaches in Kubernetes clusters. Tigera’s open-source offering, &lt;a href="https://www.tigera.io/tigera-products/calico?utm_source=syndicate&amp;amp;utm_medium=press_release&amp;amp;utm_campaign=KubeCon2026" rel="noopener noreferrer"&gt;Calico Open Source&lt;/a&gt;, is the most widely adopted container networking and security solution. Powering more than 100M containers across 8M+ nodes, Calico is supported across all major cloud providers and Kubernetes distributions.&lt;/p&gt;

&lt;p&gt;Media Contact&lt;br&gt;&lt;br&gt;
Media relations, Tigera&lt;br&gt;&lt;br&gt;
&lt;a href="mailto:contact@tigera.io"&gt;contact@tigera.io&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Next Steps: Get Hands-on with These Innovations
&lt;/h3&gt;

&lt;p&gt;Learn more about AI Assistant, Calico Load Balancer, and L2 networking support within the Calico ecosystem. Whether you are looking to optimize troubleshooting, reduce hardware dependency, or accelerate your VM migration, we provide the tools to get started today.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dp36elgeuxvuiact13r.png" alt="🚀" width="72" height="72"&gt; &lt;strong&gt;Experience the Platform:&lt;/strong&gt; &lt;a href="https://www.calicocloud.io/" rel="noopener noreferrer"&gt;Start a free trial of Calico Cloud&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2m902pgqgnzrjghahs3o.png" alt="📅" width="72" height="72"&gt; &lt;strong&gt;Personalized Deep Dive:&lt;/strong&gt; &lt;a href="https://www.tigera.io/demo/" rel="noopener noreferrer"&gt;Request a technical demo with our engineering team&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Attending KubeCon Amsterdam? Stop by the Tigera booth #400 to learn more about these features.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/introducing-ai-assistant-for-calico-calico-load-balancer-and-seamless-vm-to-kubernetes-migration/" rel="noopener noreferrer"&gt;Introducing AI Assistant for Calico, Calico Load Balancer, and Seamless VM-to-Kubernetes Migration&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>companyblog</category>
    </item>
    <item>
      <title>Secure and Scale VMware VKS with Calico Kubernetes Networking</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Sun, 22 Mar 2026 18:50:39 +0000</pubDate>
      <link>https://dev.to/tigeraio/secure-and-scale-vmware-vks-with-calico-kubernetes-networking-4pl2</link>
      <guid>https://dev.to/tigeraio/secure-and-scale-vmware-vks-with-calico-kubernetes-networking-4pl2</guid>
      <description>&lt;p&gt;Co-authors&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abhishek Rao&lt;/strong&gt; | Tigera&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Ka Kit Wong, Charles Lee, &amp;amp; Christian Rauber&lt;/strong&gt; | Broadcom&lt;/p&gt;

&lt;p&gt;VMware vSphere Kubernetes Service (VKS) is the CNCF-certified Kubernetes runtime built directly into VMware Cloud Foundation (VCF), which delivers a single platform for both virtual machines and containers. VKS enables platform engineers to deploy, manage, and scale Kubernetes clusters while leveraging a comprehensive set of cloud services. And with VKS v3.6, that foundation just got significantly more powerful: VKS now natively supports Calico Enterprise — part of the &lt;a href="https://www.tigera.io/tigera-products/calico-commercial-editions/" rel="noopener noreferrer"&gt;Calico Unified Platform&lt;/a&gt; — as a validated, lifecycle-managed networking add-on through the new VKS Addon Framework.&lt;/p&gt;

&lt;p&gt;Even better, VKS natively integrates &lt;a href="https://www.tigera.io/tigera-products/calico/" rel="noopener noreferrer"&gt;Calico Open Source&lt;/a&gt; by Tigera as a supported, out-of-the-box Container Network Interface (CNI). This gives organizations a powerful open source baseline right from day one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pluggable Data Planes:&lt;/strong&gt; The flexibility to run high-performance eBPF, standard Linux iptables, modern nftables, or Windows data planes based on specific workload needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wire-Speed Routing:&lt;/strong&gt; Direct BGP peering with the underlying VMware NSX infrastructure, eliminating the performance overhead of traditional overlay networks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Foundational Zero-Trust:&lt;/strong&gt; Global default-deny policies to instantly secure pod-to-pod traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability:&lt;/strong&gt; Includes Whisker, a visual UI tool that simplifies access to flow logs, making it easier to analyze network communication and debug policies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;VKS and Calico Open Source build the perfect house for your applications. However, as Kubernetes adoption explodes across the enterprise, platform engineering and security teams inevitably hit a new wall.&lt;/p&gt;

&lt;p&gt;What happens when your security team mandates strict compliance audits across 50 different clusters? What happens when you need to route ephemeral Kubernetes traffic through your legacy physical firewalls? Or when a critical microservice drops traffic at 2 AM and you need to know exactly why?&lt;/p&gt;

&lt;p&gt;To conquer the complex realities of production scale, organizations running VKS are supercharging their environments with the &lt;a href="https://www.tigera.io/tigera-products/calico-commercial-editions/" rel="noopener noreferrer"&gt;Calico Unified Platform&lt;/a&gt; (available via Calico Enterprise and Calico Cloud). Here is how Calico transforms your baseline VKS clusters into a fully observable, enterprise-grade networking and security platform.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Calico Unified Platform Reference Architecture
&lt;/h3&gt;

&lt;p&gt;As you scale your VKS environment, your architecture must evolve from providing basic pod connectivity to delivering a comprehensive security, routing, and observability mesh.&lt;/p&gt;

&lt;p&gt;The reference architecture below illustrates how Calico Unified Platform wraps your VKS worker nodes in advanced Layer 7 protections, granular egress controls, and deep forensic logging capabilities—all while maintaining the high-performance eBPF and BGP foundation of your clusters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Calico Unified Platform Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wordpress-1075849-4005834.cloudwaysapps.com/app/uploads/2026/03/image1.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1sqhhrz47wiuw3iovoo.png" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 1: Calico Unified Platform reference architecture for VKS – showing how Calico Enterprise wraps VKS worker nodes with Layer 7 security, egress controls, and deep observability while preserving the eBPF and BGP performance foundation.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  1. Secure the Perimeter: Bridging Kubernetes with Legacy Firewalls
&lt;/h3&gt;

&lt;p&gt;Traditional network security teams often struggle with Kubernetes because Pod IP addresses are ephemeral—they spin up and die in seconds. This makes it virtually impossible to write static firewall rules on your external Palo Alto or Fortinet appliances.&lt;/p&gt;

&lt;p&gt;The Calico Unified Platform bridges this gap seamlessly for VKS environments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Egress Gateway &amp;amp; Source NAT:&lt;/strong&gt; Calico allows you to map dynamic Kubernetes namespaces to highly available, static IP Egress Gateways. When a pod talks to the outside world, your external firewall only sees the static IP. No more fighting with the NetSec team over IP tracking!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native WAF and IDS/IPS:&lt;/strong&gt; Secure your inbound traffic right at the Calico Ingress Gateway. Calico integrates a powerful Web Application Firewall (WAF) using the ModSecurity Core Rule Set. Coupled with native Intrusion Detection/Prevention (IDS/IPS) and DDoS protection, Calico detects and blocks malicious payloads before they impact performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNS Policies &amp;amp; Threat Feeds:&lt;/strong&gt; Do not just block IPs; block malicious domains. Calico dynamically ingests global threat intelligence feeds to automatically halt traffic to known bad actors.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Enforce Zero-Trust at Scale: Unified Policy Across Kubernetes, VMs, and Bare Metal
&lt;/h3&gt;

&lt;p&gt;Open-source network policies are fantastic, but managing them across dozens of teams and clusters can quickly turn into the “Wild West” of YAML files. Calico brings true enterprise governance to your VKS environment—and extends it well beyond Kubernetes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Network Policy Tiers &amp;amp; Staged Policies:&lt;/strong&gt; A hierarchical, RBAC-driven approach to security. The Security team can create non-overrideable “Tier 1” guardrails, while Developers get full freedom to write microsegmentation rules for their specific namespaces. Even better, with Staged Policies, you can preview and test the impact of any rule on live traffic before fully enforcing it, ensuring zero downtime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified Protection for Legacy VMs &amp;amp; Bare Metal:&lt;/strong&gt; Your VKS clusters do not exist in a vacuum. Calico extends its policy engine beyond Kubernetes, allowing you to secure traditional VMware VMs and bare-metal servers using the exact same single-pane-of-glass dashboard—a headline differentiator of the Calico Unified Platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sidecar-Less Service Mesh (Istio Ambient Mode):&lt;/strong&gt; Get the deep L7 visibility and mTLS encryption of a service mesh without the crippling performance overhead. Calico seamlessly integrates with Istio Ambient Mesh, managed through a single Calico operator—no standalone Istio expertise required.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Total Visibility: One Management Plane for Every Traffic Flow
&lt;/h3&gt;

&lt;p&gt;When a connection fails in a standard K8s cluster, troubleshooting usually involves blindly digging through kubectl logs. It is slow, frustrating, and drastically inflates your Mean Time to Resolution (MTTR).&lt;/p&gt;

&lt;p&gt;Calico acts as the ultimate CCTV system for your VKS clusters—with a single console covering every traffic type, from ingress to egress to pod-to-pod:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Service Graph &amp;amp; Alerts:&lt;/strong&gt; Get a real-time visual map of all microservice traffic across your clusters. Instantly see performance metrics, blocked traffic, and active connections. You can even configure automated alerts and incident response to deploy mitigating policies the second an anomaly is detected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deep Forensic Logging:&lt;/strong&gt; Calico goes far beyond basic flow logs. It provides granular DNS Logs, L7 Logs, and Ingress Logs, allowing you to pinpoint exactly which layer of the stack is failing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-Demand Packet Capture:&lt;/strong&gt; Did a specific pod trigger an anomaly? Trigger a targeted packet capture (pcap) directly from the Calico UI for deep forensic analysis, without ever having to SSH into the vSphere worker nodes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Scale Without Limits: Multi-Cluster Management and AI-Powered Operations
&lt;/h3&gt;

&lt;p&gt;As your VMware footprint grows, managing clusters individually becomes impossible. Calico’s Multi-Cluster Management provides a single pane of glass to view, secure, and troubleshoot all your VKS clusters—and even your public cloud EKS/AKS clusters. You can seamlessly federate identities and extend resilient multi-cluster networking with Cluster Mesh.&lt;/p&gt;

&lt;p&gt;And when things get truly complex? AI Assistant for Calico serves as your platform co-pilot. You can use natural language prompts to generate declarative Policy as Code, query flow logs, and diagnose active threats, drastically reducing the learning curve for new team members.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Ultimate VKS Experience
&lt;/h3&gt;

&lt;p&gt;VMware VKS gives you a world-class, CNCF-certified Kubernetes platform built directly into VCF. Calico Enterprise — part of the &lt;a href="https://www.tigera.io/tigera-products/calico-commercial-editions/" rel="noopener noreferrer"&gt;Calico Unified Platform&lt;/a&gt; — takes that foundation further, delivering a single management plane for networking, network security, and observability across every cluster, every workload type, and every environment. No stitching tools together. No integration tax. Just the enterprise-grade performance and security your most critical workloads demand.&lt;/p&gt;

&lt;h4&gt;
  
  
  Ready to see it in action?
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/demo/" rel="noopener noreferrer"&gt;Request a Demo of Calico Enterprise →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.calicocloud.io/home" rel="noopener noreferrer"&gt;Start your free trial of Calico Cloud today →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/vmware-vks-calico-secure-networking/" rel="noopener noreferrer"&gt;Secure and Scale VMware VKS with Calico Kubernetes Networking&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>companyblog</category>
      <category>technicalblog</category>
      <category>partnerintegration</category>
      <category>announcements</category>
    </item>
    <item>
      <title>Calico Load Balancer: Simplifying Network Traffic Management with eBPF</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Sat, 21 Mar 2026 20:00:55 +0000</pubDate>
      <link>https://dev.to/tigeraio/calico-load-balancer-simplifying-network-traffic-management-with-ebpf-3l21</link>
      <guid>https://dev.to/tigeraio/calico-load-balancer-simplifying-network-traffic-management-with-ebpf-3l21</guid>
      <description>&lt;p&gt;&lt;strong&gt;Authors:&lt;/strong&gt; Alex O’Regan, Aadhil Abdul Majeed&lt;/p&gt;

&lt;p&gt;Ever had a load balancer become the bottleneck in an on-prem Kubernetes cluster? You are not alone. Traditional hardware load balancers add cost, create coordination overhead, and can make scaling painful. A Kubernetes-native approach can overcome many of those challenges by pushing load balancing into the cluster data plane. Calico Load Balancer is an &lt;a href="https://www.tigera.io/learn/guides/ebpf/" rel="noopener noreferrer"&gt;&lt;strong&gt;eBPF&lt;/strong&gt;&lt;/a&gt; powered Kubernetes-native load balancer that uses consistent hashing (Maglev) and Direct Server Return (DSR) to keep sessions stable while allowing you to scale on-demand.&lt;/p&gt;

&lt;p&gt;Below is a developer-focused walkthrough: what problem Calico Load Balancer solves, how Maglev consistent hashing works, the life of a packet with DSR, and a clear configuration workflow you can follow to roll it out.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why a Kubernetes-native load balancer matters
&lt;/h2&gt;

&lt;p&gt;On-prem clusters often rely on dedicated hardware or proprietary appliances to expose services. That comes with a few persistent problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost and scaling friction&lt;/strong&gt; – You have to scale the network load balancer vertically as the size and throughput requirements of your Kubernetes cluster/s grows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operational overhead&lt;/strong&gt; – Virtual IPs (VIPs) are often owned by another team, so simple service changes require coordination.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stateful failure modes&lt;/strong&gt; – Kube-proxy load balancing is stateful per node, so losing an ingress node can break active sessions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configuration drift&lt;/strong&gt; – Kubernetes is declarative, but the upstream load balancer is not, which causes divergence over time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Calico Load Balancer flips that model. Instead of dedicated hardware, it uses the &lt;strong&gt;Calico eBPF&lt;/strong&gt; data plane on ordinary Linux nodes in the cluster, advertises service IPs via &lt;a href="https://www.tigera.io/blog/when-to-use-bgp-vxlan-or-ip-in-ip-a-practical-guide-for-kubernetes-networking/" rel="noopener noreferrer"&gt;BGP&lt;/a&gt;, and makes the load balancing decision consistent across nodes. The result is a system that is cheaper to scale, easier to operate, and more resilient to node or path changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Calico Load Balancer works (and why Maglev matters)
&lt;/h2&gt;

&lt;p&gt;The core idea is consistent hashing. Instead of each node picking a backend at random and storing that decision in per-node state, Calico Load Balancer computes the same backend choice on any node for the same flow. This is implemented with Maglev, a consistent hashing algorithm that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evenly distributes connections across backends.&lt;/li&gt;
&lt;li&gt;Minimizes disruption when load balancer nodes come and go.&lt;/li&gt;
&lt;li&gt;Allows any load balancer node to make the same backend selection, even mid-connection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kube-proxy uses random selection plus per-node state, which is fine for many cases but can fail under node churn or route changes. Maglev avoids that by making the decision deterministic. Nodes may still cache the mapping for performance, but the flow-to-backend decision can be reproduced anywhere, which is what keeps sessions stable when traffic lands on a different node.&lt;/p&gt;

&lt;h3&gt;
  
  
  Strategic Assessment: Is This Right for Your Deployment?
&lt;/h3&gt;

&lt;p&gt;Questions you can ask your team to identify if Calico Load Balancer can help your environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which services are most impacted by node churn today?&lt;/li&gt;
&lt;li&gt;Where do we see the most operational overhead in Virtual IP (VIP) provisioning?&lt;/li&gt;
&lt;li&gt;How do we secure access to service VIPs?&lt;/li&gt;
&lt;li&gt;Does the network have Equal Cost Multi-Path (ECMP) access to service VIPs?&lt;/li&gt;
&lt;li&gt;How do we handle VIP failover?&lt;/li&gt;
&lt;li&gt;Are there services with high-throughput requirements?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Life of a Packet
&lt;/h2&gt;

&lt;p&gt;A key design goal is to keep client sessions stable while enabling horizontal scale. Here is a simplified flow for a typical ECMP + BGP setup:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image2-1.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwafci6ul41u8twkj1qzm.png" alt="This diagram shows how Direct Server Return (DSR) allows the return path to bypass the load balancer node, reducing latency and hop count." width="800" height="580"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;This diagram shows how Direct Server Return (DSR) allows the return path to bypass the load balancer node, reducing latency and hop count.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A few important details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The top-of-rack router uses ECMP to pick a load balancer node to receive the packet.&lt;/li&gt;
&lt;li&gt;That node runs the Maglev algorithm to choose the backend pod. It DNATs the packet and tunnels it to the node that hosts the pod.&lt;/li&gt;
&lt;li&gt;The pod replies, and the node SNATs the packet back to the service VIP before it leaves.&lt;/li&gt;
&lt;li&gt;With &lt;strong&gt;DSR (Direct Server Return)&lt;/strong&gt;, the return path bypasses the load balancer node and goes straight back to the client. The client always sees responses from the advertised service VIP.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That &lt;strong&gt;DSR&lt;/strong&gt; path is important. It keeps the data path efficient and reduces load balancer hop count on the return path. It also prevents the client from seeing internal pod IPs.&lt;/p&gt;

&lt;h3&gt;
  
  
  DSR compared to a traditional return path
&lt;/h3&gt;

&lt;p&gt;If you have only worked with classic NAT-based load balancers, DSR can feel unusual. The key difference is that the response does not have to traverse the same load balancer node that handled the inbound packet. That has two practical benefits: less work for the load balancer nodes and lower return-path latency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Maglev and caching: deterministic and fast
&lt;/h3&gt;

&lt;p&gt;There are two pieces working together in Calico Load Balancer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Maglev lookup table:&lt;/strong&gt; Provides the deterministic backend choice. Any node can compute the same result for the same flow, which is why mid-connection packets can land on a different node without breaking the session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A per-flow cache:&lt;/strong&gt; (for example, via conntrack) can retain that decision for efficiency, and to preserve existing connections when the backend lookup table changes. It is not the source of truth for correctness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a subtle but important difference from kube-proxy. In kube-proxy, the per-node conntrack decision is the only thing tying a flow to a backend. In Calico Load Balancer which uses &lt;a href="https://www.tigera.io/learn/guides/ebpf/" rel="noopener noreferrer"&gt;&lt;strong&gt;Calico’s eBPF dataplane&lt;/strong&gt;&lt;/a&gt;, the decision can be reproduced on any node, which is what makes failover or ECMP rehash events non-disruptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens during failures or path changes
&lt;/h3&gt;

&lt;p&gt;Consistent hashing is not just about distribution. It is about resilience. In practice, you can test this by intentionally re-routing traffic for an existing TCP connection to a different node. Even if the new node has no prior per-flow state, it can recompute the same backend decision using Maglev, so the connection can continue without disruption.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image1-1.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z49ruqn8qpbk9kils6w.png" width="800" height="545"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Calico uses Maglev consistent hashing to ensure TCP sessions remain stable even if a load balancer node fails or is drained&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This matters when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A load balancer node fails or is drained.&lt;/li&gt;
&lt;li&gt;ECMP next hops reshuffle due to network outages.&lt;/li&gt;
&lt;li&gt;You scale the load balancer pool up or down.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because the decision is deterministic, the packet can land on any node and still find the correct backend. The whole cluster then seemingly acts as a single, distributed load balancer, with per-node caches for additional performance and resilience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuration workflow (high level)
&lt;/h2&gt;

&lt;p&gt;Calico Load Balancer is configured and managed declaratively just like any other Kubernetes resource. A typical configuration flow looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a dedicated IP pool for Calico LB IPAM, marked for LoadBalancer use.&lt;/li&gt;
&lt;li&gt;Create a Service of type LoadBalancer. Calico IPAM allocates a VIP from that pool.&lt;/li&gt;
&lt;li&gt;Advertise the VIP to the upstream network using Calico BGP (optional BFD for faster detection of outages).&lt;/li&gt;
&lt;li&gt;Ensure your upstream router uses ECMP to send traffic for the VIP to the Calico load balancer nodes.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Calico IP pool for load balancer VIPs&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;projectcalico.org/v3&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;IPPool&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;loadbalancer-ip-pool&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;cidr&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;192.210.0.0/20&lt;/span&gt;
  &lt;span class="na"&gt;blockSize&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;24&lt;/span&gt;
  &lt;span class="na"&gt;assignmentMode&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Automatic&lt;/span&gt;
  &lt;span class="na"&gt;allowedUses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;LoadBalancer&lt;/span&gt;


&lt;span class="c1"&gt;# Kubernetes Service using Calico LB&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Service&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-app&lt;/span&gt;
  &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;lb.projectcalico.org/external-traffic-strategy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;maglev&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;LoadBalancer&lt;/span&gt;
  &lt;span class="na"&gt;selector&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;app&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-app&lt;/span&gt;
  &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;443&lt;/span&gt;
      &lt;span class="na"&gt;targetPort&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;8443&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, the VIP is advertised and traffic can arrive through the ECMP paths to any load balancer node. Calico handles the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Platform Benefits
&lt;/h2&gt;

&lt;p&gt;The benefits discussion above can translate into real operational advantages for platform teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Remove Hardware Dependency:&lt;/strong&gt; Scale load balancing capacity by adding standard Kubernetes nodes rather than purchasing expensive appliances or coordinating with vendors and avoid vendor lock-in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kubernetes-native approach:&lt;/strong&gt; Reduces complexity by keeping all service configuration within your existing GitOps workflows – no separate load balancer management interfaces or external ticketing systems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session persistence:&lt;/strong&gt; Addresses one of the most common causes of user-facing outages in traditional setups, where losing an ingress node would drop all active connections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-service capability:&lt;/strong&gt; Empowers development teams to provision and modify load balancer configurations without waiting for network team approvals, significantly reducing time-to-market for new services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predictable traffic distribution:&lt;/strong&gt; Maglev’s consistent hashing ensures that traffic distribution remains predictable and fair even as backend pods scale up and down, preventing the “hot spot” issues that can occur with simpler load balancing algorithms.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Calico Load Balancer gives you a Kubernetes-native way to scale your load balancer and protect critical services without the operational drag of traditional appliances.&lt;/p&gt;




&lt;h3&gt;
  
  
  Ready to scale your on-prem networking?
&lt;/h3&gt;

&lt;p&gt;If you want to try this in your environment, here is a safe, incremental path:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identify&lt;/strong&gt; a non-critical service that is a good LoadBalancer candidate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create&lt;/strong&gt; a Calico IP pool for LoadBalancer VIPs and advertise it via BGP to your upstream network.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enable&lt;/strong&gt; a LoadBalancer Service with Maglev for that service and confirm the VIP is reachable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validate&lt;/strong&gt; failover: remove a load balancer node or change ECMP next hops and verify sessions continue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document&lt;/strong&gt; the workflow and replicate to other services.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/learn/guides/ebpf/" rel="noopener noreferrer"&gt;Learn more about Calico eBPF&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/calico-load-balancer-simplifying-network-traffic-management-with-ebpf/" rel="noopener noreferrer"&gt;Calico Load Balancer: Simplifying Network Traffic Management with eBPF&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>bestpractices</category>
    </item>
    <item>
      <title>Lift-and-Shift VMs to Kubernetes with Calico L2 Bridge Networks</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Sat, 21 Mar 2026 06:12:02 +0000</pubDate>
      <link>https://dev.to/tigeraio/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks-2d15</link>
      <guid>https://dev.to/tigeraio/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks-2d15</guid>
      <description>&lt;p&gt;On paper, lift-and-shift VM migration to Kubernetes sounds simple. Compute can be moved. Storage can be remapped. But many migration projects stall at the network boundary. VM workloads are often tied to IP addresses, network segments, firewall rules, and routing models that already exist in the wider environment. That is where lift-and-shift becomes much harder than it first appears.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why lift-and-shift migration is challenging
&lt;/h2&gt;

&lt;p&gt;In a traditional hypervisor environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A VM connects to a network the rest of the data center already understands.&lt;/li&gt;
&lt;li&gt;Its IP address is a first-class citizen of the network.&lt;/li&gt;
&lt;li&gt;Firewalls, routers, &lt;a href="https://www.tigera.io/learn/guides/kubernetes-monitoring/kubernetes-monitoring-tools/" rel="noopener noreferrer"&gt;monitoring tools&lt;/a&gt;, and peer applications know how to reach it.&lt;/li&gt;
&lt;li&gt;Existing application dependencies are often built around that network identity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Default &lt;a href="https://www.tigera.io/learn/guides/kubernetes-networking/" rel="noopener noreferrer"&gt;Kubernetes pod networking&lt;/a&gt; works very differently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pod IPs usually come from a cluster-managed pod CIDR.&lt;/li&gt;
&lt;li&gt;Those IPs are mainly meaningful inside the Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;The upstream network usually does not have direct visibility into pod networks.&lt;/li&gt;
&lt;li&gt;The original network segments from the VM world are not preserved by default.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a major problem for VM migration:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The workload can no longer keep the same network presence it had before.&lt;/li&gt;
&lt;li&gt;Teams often need to introduce VIPs or reconfigure the networking settings of the VM.&lt;/li&gt;
&lt;li&gt;That adds more complexity since changing the IP of the VM also requires changes to network firewall and load balancer configuration.&lt;/li&gt;
&lt;li&gt;At scale, it can make migration slower, more expensive, and harder to justify.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So while Kubernetes can be a strong platform for running VM workloads, default pod networking is often not a natural fit for lift-and-shift migration. The networking gap is one of the biggest reasons these projects become more complex than expected.&lt;/p&gt;

&lt;p&gt;The lack of network continuity is shown in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image1-2.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmam2sb943kmnvry1wwri.png" alt="A diagram showing a VM moving from an existing hypervisor to a Kubernetes Pod Network, resulting in " width="800" height="591"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Default pod networking often creates a gap in network continuity, forcing complex reconfigurations and breaking existing dependencies like firewalls and load balancers.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing Calico L2 Bridge Networks
&lt;/h2&gt;

&lt;p&gt;Calico L2 Bridge Networks are designed to close that gap. Instead of forcing the VM to adapt to the Kubernetes pod network, Calico allows administrators to extend the existing layer 2 network all the way to the virtual machine running in Kubernetes.&lt;/p&gt;

&lt;p&gt;Administrators can define a &lt;strong&gt;network&lt;/strong&gt; resource in Kubernetes, and Calico creates a bridge on the cluster nodes to extend external networks. A trunk interface can be attached to the bridge, allowing VLANs to be carried all the way to the virtual machine. During migration, the migration tool can map the VM’s existing interface to interface definitions in the cluster and also inform Calico of the VM’s IP address, so Calico can keep track of that address throughout the VM’s lifecycle. Calico does all the underlying plumbing to ensure that the VM retains its network connectivity after migration.&lt;/p&gt;

&lt;p&gt;The key point is that the VM does not need a brand new networking model just because it moved to Kubernetes. The same layer 2 network structure can be preserved, which makes lift-and-shift migration much more practical.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this matters
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Existing VLAN-based connectivity can be extended directly to the VM.&lt;/li&gt;
&lt;li&gt;Administrators do not need to re-address the VM or place it behind VIPs just to make migration work.&lt;/li&gt;
&lt;li&gt;Multiple VLANs can be supported through the same trunk-backed bridge.&lt;/li&gt;
&lt;li&gt;The network can move with the VM, instead of becoming a separate redesign project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The network continuity offered by Calico L2 Bridge Networks is shown in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image3.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdc1bak72t2fi379y72a.png" alt="A diagram showing a VM migrating to Kubernetes via a Calico L2 Bridge, which extends existing VLANs and maintains connection to original network firewalls and load balancers." width="800" height="591"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Calico L2 Bridge Networks allow you to extend existing Layer 2 infrastructure directly into Kubernetes, enabling “lift-and-shift” migrations that preserve original IP addresses and VLANs.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Readiness Assessment: Is L2 Bridge Networking Right for Your Migration?
&lt;/h4&gt;

&lt;p&gt;Ask your infrastructure and networking teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do our existing VMs rely on specific VLAN tags for firewall policy enforcement?&lt;/li&gt;
&lt;li&gt;Will re-addressing our workloads require updating multiple external load balancers or hardcoded application dependencies?&lt;/li&gt;
&lt;li&gt;Do we need to maintain L2 adjacency between our legacy VM clusters and new Kubernetes nodes during a phased migration?&lt;/li&gt;
&lt;li&gt;Is network observability (via eBPF) a requirement for our compliance or troubleshooting workflows post-migration?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits After Migration
&lt;/h2&gt;

&lt;p&gt;Calico L2 Bridge Networks do more than simplify the move into Kubernetes. Once the VM is running in Kubernetes, Calico can also bring the same operational advantages that teams already expect for cloud-native workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Network Observability
&lt;/h3&gt;

&lt;p&gt;One major benefit is &lt;a href="https://www.tigera.io/learn/guides/observability/" rel="noopener noreferrer"&gt;observability&lt;/a&gt;. Calico provides visibility into network traffic for these VM interfaces, giving administrators a much clearer view of how workloads are communicating after migration. Because Calico uses eBPF, it can capture deep insights into network behavior without relying on external tooling or guesswork. That makes it easier to understand traffic patterns, troubleshoot issues, and operate migrated VMs with more confidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Calico Policy Enforcement
&lt;/h3&gt;

&lt;p&gt;Another major benefit is policy enforcement. Administrators can apply declarative &lt;a href="https://www.tigera.io/learn/guides/kubernetes-security/kubernetes-network-policy/" rel="noopener noreferrer"&gt;network policy&lt;/a&gt; directly to these VM interfaces using Kubernetes-native constructs. Policies can be based on labels, which fits naturally into Kubernetes operations, and selectors can be used to target specific VLANs or external networks when defining policy. Teams can also migrate networking policy from their previous hypervisor environment into Calico network policy, helping them maintain the same security posture as workloads move into Kubernetes. In practice, that means teams can preserve the connectivity model they need while still applying consistent, modern security controls to VM workloads inside Kubernetes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Live Migration
&lt;/h3&gt;

&lt;p&gt;Live migration is another important benefit. Once the VM is running in Kubernetes, it can be moved from one node to another while retaining the same network configuration. That is critical for day-2 operations, because it means teams can take advantage of Kubernetes-based VM mobility without having to rework network settings each time a workload moves. The network identity stays consistent even as the VM is migrated across the cluster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image2-2.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmftw2561i69ipnocecq5.png" alt="A diagram illustrating a VM live migrating from Node 1 to Node 2 within a Kubernetes cluster while maintaining consistent compute and networking via KubeVirt and Calico." width="800" height="597"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;By decoupling compute and networking, Calico ensures that migrated VMs can move between cluster nodes while retaining their original network configuration and identity.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Lift-and-shift VM migration to Kubernetes often breaks down because the network model does not move with the workload. That forces teams to introduce workarounds such as VIPs, re-addressing, and additional operational complexity, which can quickly turn a simple migration plan into a much larger project.&lt;/p&gt;

&lt;p&gt;Calico L2 Bridge Networks help remove that barrier by extending existing layer 2 networks all the way to the VM inside Kubernetes. That means teams can preserve familiar network configurations during migration while also gaining the advantages of running VMs on Kubernetes, including observability, declarative policy, and live migration. Instead of treating networking as a migration blocker, organizations can use Calico to make it part of a cleaner and more practical path forward.&lt;/p&gt;

&lt;p&gt;Webinar Recording&lt;/p&gt;

&lt;p&gt;Available on demand&lt;/p&gt;

&lt;h2&gt;
  
  
  Calico L2 bridge networking for virtual machines
&lt;/h2&gt;

&lt;p&gt;Migrating VMs to Kubernetes? Learn how to preserve your existing IPs, VLANs, and security policies — no network rebuild required.&lt;/p&gt;

&lt;p&gt;“Lift and shift” VM migrations with zero IP changes&lt;/p&gt;

&lt;p&gt;Maintain existing VLANs and security dependencies&lt;/p&gt;

&lt;p&gt;Expert guidance from Tigera’s networking team&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=gxpm47mGKPc" rel="noopener noreferrer"&gt;Watch the recording&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks/" rel="noopener noreferrer"&gt;Lift-and-Shift VMs to Kubernetes with Calico L2 Bridge Networks&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>bestpractices</category>
    </item>
    <item>
      <title>AI Assistant for Calico: Troubleshooting at the Speed of Thought</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Thu, 19 Mar 2026 20:36:45 +0000</pubDate>
      <link>https://dev.to/tigeraio/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought-38jo</link>
      <guid>https://dev.to/tigeraio/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought-38jo</guid>
      <description>&lt;p&gt;Despite the wealth of data available, distilling a coherent narrative from a Kubernetes cluster remains a challenge for modern infrastructure teams. Even with powerful visualization tools like the Policy Board, Service Graph, and specialized dashboards, &lt;a href="https://www.splunk.com/en_us/blog/learn/kubernetes-troubleshoot-observability.html" rel="noopener noreferrer"&gt;users often find themselves spending significant time piecing together context across different screens&lt;/a&gt;. Making good use of this data to secure a cluster or troubleshoot an issue becomes nearly impossible when it requires manually searching across multiple sources to find a single “connecting thread.”&lt;/p&gt;

&lt;p&gt;Inevitably, security holes happen, configurations conflict causing outages, and teams scramble to find that needle-in-the-haystack cause of cluster instability. A new approach is needed to understand the complex layers of security and the interconnected relationships among numerous microservices. Observability tools need to not only organize and present data in a coherent manner but proactively help to filter and interpret it, cutting through the noise to get to the heart of an issue. As we discussed in our &lt;a href="https://www.tigera.io/blog/2026-the-rise-of-ai-agents/" rel="noopener noreferrer"&gt;2026 outlook on the rise of AI agents&lt;/a&gt;, this represents a fundamental shift in Kubernetes management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; With AI Assistant for Calico, observability takes a leap forward, providing a proactive, conversational, and context-aware intelligence layer to extract actionable insights from a sea of raw telemetry. SREs can interrogate their data through a natural language interface instead of having to painstakingly construct complex queries, removing knowledge barriers and reducing MTTR (Mean Time to Repair).&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond Manual Log Analysis
&lt;/h2&gt;

&lt;p&gt;To understand the impact of the AI Assistant for Calico, it is helpful to look at the traditional workflow through the lens of the challenges platform teams face daily. Troubleshooting connectivity issues, for example, typically starts with a look at traffic flows, identifying ones that may be problematic, then drilling down into the details while looking up possibly relevant policies, network configuration, ingress rules, and hostname resolution in different dashboards and sets of logs. Often one or more multi-step queries have to be run and then the results have to be filtered to start getting an idea of what may be going wrong. This is particularly difficult when &lt;a href="https://www.tigera.io/blog/why-kubernetes-flat-networks-fail-at-scale/" rel="noopener noreferrer"&gt;Kubernetes flat networks fail at scale&lt;/a&gt;, increasing the complexity of every query.&lt;/p&gt;

&lt;p&gt;This sort of manual navigation slows down problem resolution and imposes a high cognitive cost on SREs. Even for seasoned engineers, debugging can take hours or even days when the answer must be excavated from multiple sources of information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Natural Language Insights
&lt;/h2&gt;

&lt;p&gt;The AI Assistant for Calico resolves these bottlenecks by replacing cumbersome queries with a seamless, natural-language interface that interprets telemetry instead of just displaying it and synthesizes data from multiple sources so you don’t have to. By moving away from rigid query languages, the assistant changes how engineers interact with their cluster data in three primary ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ask, Don’t Query:&lt;/strong&gt; Troubleshooting now starts with an articulation of intent instead of a lengthy session wrestling with search fields and operators. Being able to simply ask “What are the unrestricted egress destinations currently receiving traffic from my pods?” without painstakingly cobbling together and testing a multi-layered query is a paradigm shift. It moves the engineer’s focus from the mechanics of the search to the logic of the solution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context-Aware Explanations:&lt;/strong&gt; The assistant doesn’t just return raw data; it provides summaries and recommendations generated from real telemetry and policy context. It can explain, for instance, that “Traffic is denied because policy X in namespace Y blocks TCP 443.” It also suggests further troubleshooting steps and offers remediation advice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified Visibility Across the Cluster:&lt;/strong&gt; The assistant provides insights across clusters, namespaces, and workloads, extracting details that would previously require drilling down into, for example, a specific flow or policy configuration. All of a sudden, that “connecting thread” between seemingly isolated events becomes a lot clearer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI Assistant for Calico allows engineers to quickly zero in on relevant information using a conversational form of root-cause analysis that even junior members of the team can have success with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/AI-Assisstant-for-Calico-.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2glgplvwnukldlj56qh2.png" width="800" height="476"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;AI Assistant for Calico can quickly get you the information you need&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Proactive Security and Policy Optimization
&lt;/h2&gt;

&lt;p&gt;While reactive troubleshooting is critical, the AI Assistant for Calico also enables a proactive security posture by identifying misconfigurations and security gaps that might otherwise go unnoticed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Surfacing Exposure Risks:&lt;/strong&gt; The AI Assistant can identify workloads exposed to the internet or detect egress exposure risks, such as pods communicating with unrestricted external destinations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy Recommendations and Generation:&lt;/strong&gt; Instead of starting from scratch, users can ask the AI to recommend a base policy or generate a specific snippet, such as a policy to block all egress traffic from a specific training pod.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaning up the Mesh:&lt;/strong&gt; The assistant helps maintain cluster stability and security hygiene by detecting unused or missing network policies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identifying Gaps:&lt;/strong&gt; It proactively surfaces network flows that have no policies applied to them, ensuring that the principle of least privilege is maintained across the cluster—a key requirement highlighted in the &lt;a href="https://www.tigera.io/blog/key-insights-from-the-2025-gigaom-radar-for-container-networking/" rel="noopener noreferrer"&gt;2025 GigaOm Radar for Container Networking&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;These capabilities streamline the time-consuming and error-prone process of manually managing intricate policy syntax, making for more stable, performant, and secure clusters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Scenario: Rapidly Resolving a Blocked Service Connection
&lt;/h2&gt;

&lt;p&gt;To see the impact of these capabilities, consider a common high-pressure situation for a platform engineer. An engineer receives an urgent alert that a critical production service is unable to communicate with its database.&lt;/p&gt;

&lt;p&gt;In a traditional environment, the engineer would spend 30 to 60 minutes manually checking network policies, inspecting flow logs, and verifying namespace labels across multiple clusters to find the culprit. Every minute of manual investigation increases the risk of service downtime and customer frustration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI Solution:&lt;/strong&gt; Instead of manual log diving, the engineer asks the AI Assistant for Calico a direct question: “Why is the frontend-service in the production namespace unable to reach the db-service?”. The AI instantly analyzes the environment and identifies that a recent policy update is missing a necessary egress rule for the specific database port. Total resolution time is reduced from over an hour to just a few minutes.&lt;/p&gt;

&lt;p&gt;Thinking ahead, the engineer asks for an audit of all staged policies. AI Assistant for Calico finds another incorrect policy—this one with a misspelled label selector—averting a future outage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://app.arcade.software/share/vnmgt3EfCjxX76D26z48" rel="noopener noreferrer"&gt;&lt;br&gt;&lt;br&gt;
View Interactive Demo: Exploring Assistant for Calico →&lt;br&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A New Standard for Platform Operations
&lt;/h2&gt;

&lt;p&gt;The introduction of the AI Assistant for Calico in the &lt;a href="https://www.tigera.io/blog/whats-new-in-calico-winter-2026-release/" rel="noopener noreferrer"&gt;Winter 2026 release&lt;/a&gt; is the next step in observability and Kubernetes management. By adding the ability to interrogate a cluster in plain English, Calico’s unified platform bridges the gap between high-fidelity telemetry data and practical solutions&lt;/p&gt;

&lt;p&gt;Beyond the immediate operational gains, this AI-powered approach fits into a broader strategy of defense in depth and operational simplicity, specifically regarding &lt;a href="https://www.tigera.io/blog/ingress-security-for-ai-workloads/" rel="noopener noreferrer"&gt;ingress security for AI workloads&lt;/a&gt;. It removes the friction of complex debugging, accelerates onboarding for new team members, and ensures that your security posture remains consistent even as your architecture scales.&lt;/p&gt;




&lt;h3&gt;
  
  
  Experience the Power of AI Assistant for Calico
&lt;/h3&gt;

&lt;p&gt;Ready to see how AI can accelerate your Kubernetes troubleshooting and network policy management?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/event/calico-ai-accelerating-kubernetes-troubleshooting-and-network-policy-management/" rel="noopener noreferrer"&gt;Watch the On-Demand Demo&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.calicocloud.io/home" rel="noopener noreferrer"&gt;Sign Up for Calico Cloud (Free Trial)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought/" rel="noopener noreferrer"&gt;AI Assistant for Calico: Troubleshooting at the Speed of Thought&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>bestpractices</category>
      <category>howto</category>
    </item>
    <item>
      <title>What Your EKS Flow Logs Aren’t Telling You</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Wed, 18 Mar 2026 21:06:48 +0000</pubDate>
      <link>https://dev.to/tigeraio/what-your-eks-flow-logs-arent-telling-you-50ca</link>
      <guid>https://dev.to/tigeraio/what-your-eks-flow-logs-arent-telling-you-50ca</guid>
      <description>&lt;p&gt;If you’re running workloads on Amazon EKS, there’s a good chance you already have some form of network observability in place. VPC Flow Logs have been a staple of AWS networking for years, and AWS has since introduced Container Network Observability, a newer set of capabilities built on Amazon CloudWatch Network Flow Monitor, that adds pod-level visibility and a service map directly in the EKS console.&lt;/p&gt;

&lt;p&gt;It’s a reasonable assumption that between these tools, you have solid visibility into what’s happening on your cluster’s network. But for teams focused on &lt;a href="https://www.tigera.io/learn/guides/kubernetes-security/" rel="noopener noreferrer"&gt;Kubernetes security&lt;/a&gt; and &lt;a href="https://www.tigera.io/blog/calico-whisker-staged-network-policies-secure-kubernetes-workloads-without-downtime/" rel="noopener noreferrer"&gt;policy enforcement&lt;/a&gt;, there’s a significant gap — and it’s not the one you might expect.&lt;/p&gt;

&lt;p&gt;In this post, we’ll break down exactly what EKS native observability gives you, where it falls short for security-focused use cases, and what Calico’s observability tools, Goldmane and Whisker, provide that you simply cannot get from AWS alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What EKS Gives You Out of the Box
&lt;/h2&gt;

&lt;p&gt;AWS offers two main sources of network observability for EKS clusters:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VPC Flow Logs&lt;/strong&gt; capture IP traffic at the network interface level across your VPC. For each flow, you get source and destination IP addresses, ports, protocol, and whether traffic was accepted or rejected at the VPC level, by security groups and network ACLs. Useful for infrastructure-level visibility, but with no awareness of the Kubernetes layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Container Network Observability,&lt;/strong&gt; introduced more recently and powered by Amazon CloudWatch Network Flow Monitor, goes meaningfully further. Once you’ve installed the NFM agent as a DaemonSet and configured the required IAM permissions, Scope, and Monitor resources, you get access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance metrics&lt;/strong&gt; — pod and node-level metrics including ingress/egress flow counts, packet counts, bytes transferred, and bandwidth limit events, exposed in OpenMetrics format and scrapable by Prometheus&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A service map&lt;/strong&gt; — a visualization of traffic between pods and deployments in the EKS console, showing retransmissions, retransmission timeouts, and data transferred between communicating workloads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A flow table&lt;/strong&gt; — a breakdown of top-talking workloads across three views: within the cluster (east-west), to AWS services (S3, DynamoDB), and to external destinations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a genuinely capable performance observability tool. If your primary concern is understanding network throughput, identifying bandwidth hotspots, tracking cross-AZ traffic costs, or detecting retransmission anomalies, Container Network Observability gives you a solid foundation.&lt;/p&gt;

&lt;p&gt;But if your primary concern is &lt;a href="https://www.tigera.io/learn/guides/kubernetes-security/kubernetes-network-security/" rel="noopener noreferrer"&gt;Kubernetes network security&lt;/a&gt;, specifically understanding policy behavior, debugging denied connections, and moving toward a least-privilege posture, it leaves critical gaps.&lt;/p&gt;

&lt;h2&gt;
  
  
  What EKS Native Observability Doesn’t Tell You
&lt;/h2&gt;

&lt;p&gt;Understanding what EKS observability doesn’t show you is just as important as knowing what it does. Several gaps become significant once you’re actively managing network policies or investigating a security incident.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No policy verdict context.&lt;/strong&gt; This is the most important gap. Neither VPC Flow Logs nor Container Network Observability have any awareness of Kubernetes network policies. If a Calico policy is denying traffic between two pods, you will not see that denial in AWS observability tooling. You’ll see a connection failing with no indication of which policy rule fired, which tier it belonged to, or whether the traffic was intentionally blocked or the result of a misconfiguration. For teams actively managing network policies, this makes AWS observability tools nearly useless for the most common debugging scenario you’ll face.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance metrics, not security metrics.&lt;/strong&gt; The flow-level metrics in Container Network Observability (retransmissions, retransmission timeouts, and bytes transferred) are designed to answer performance questions. They are not designed to answer security questions like: which namespaces are communicating that shouldn’t be, which egress destinations are being reached, or which policy rules are being evaluated for a given flow. These are fundamentally different observability needs, and AWS’s tooling is built for the former.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top 500 flows only, over a 1-hour window.&lt;/strong&gt; The NFM agent collects the top 500 network flows by volume every 30 seconds, and the console visualizations are scoped to a 1-hour time range. For security investigations, this matters: less frequent or lower-volume connections — exactly the kind that might indicate lateral movement or exfiltration — may not appear in the top 500 and will be invisible to the service map and flow table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No namespace-level policy context.&lt;/strong&gt; While the service map does show pod and deployment-level topology, it shows you traffic volume and performance — not whether that traffic is authorized by your network policies, which policies evaluated it, or whether any of it should be blocked. Understanding the security posture of your namespace boundaries requires a different layer of data entirely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup complexity.&lt;/strong&gt; Enabling Container Network Observability requires installing the NFM agent add-on, configuring IAM permissions with Pod Identity or IRSA, and creating NFM Scope and Monitor resources either through the console, AWS CLI, or Terraform. For teams managing this with IaC, that means defining additional resource dependencies and managing the Terraform AWS Provider version requirements. It’s not prohibitively complex, but it’s meaningful infrastructure to own and maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Calico Adds: Goldmane and Whisker
&lt;/h2&gt;

&lt;p&gt;Calico’s observability capabilities are built on two components introduced in Calico 3.30: &lt;a href="https://www.tigera.io/blog/calico-open-source-3-30-exploring-the-goldmane-api-for-custom-kubernetes-network-observability/" rel="noopener noreferrer"&gt;Goldmane&lt;/a&gt;, a flow log API that generates enriched, Kubernetes-native flow data, and &lt;a href="https://www.tigera.io/blog/calico-whisker-your-new-ally-in-network-observability/" rel="noopener noreferrer"&gt;Whisker&lt;/a&gt;, a web-based UI for visualizing and filtering that data in real time. Together they give you a fundamentally different class of observability — one built specifically for the Kubernetes security layer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Goldmane: Flow Logs That Speak Kubernetes Security
&lt;/h3&gt;

&lt;p&gt;Where AWS Container Network Observability speaks in performance metrics, Goldmane speaks in Kubernetes policy context. Every flow log entry generated by Goldmane includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source and destination namespace, pod name, and deployment — Kubernetes identity is always present, regardless of IP churn&lt;/li&gt;
&lt;li&gt;Service names — traffic is attributed to the service it passed through, not just the backend pod IP&lt;/li&gt;
&lt;li&gt;Policy verdicts — each flow includes which Calico policy rule evaluated it, whether the action was Allow or Deny, and which tier the policy belonged to&lt;/li&gt;
&lt;li&gt;Port, protocol, and domain information — including DNS-based destinations for egress traffic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The policy verdict data is what changes the debugging experience most fundamentally. When a network policy misconfiguration breaks Prometheus scraping, blocks a health check probe, or silently drops traffic between namespaces — scenarios that are routine for any team actively managing network policies — Goldmane tells you exactly which rule fired and why. You’re not correlating IP addresses and timestamps across multiple tools; the answer is in the flow log.&lt;/p&gt;

&lt;p&gt;Goldmane exposes its data via a gRPC API, making it straightforward to consume from your existing observability stack, whether that’s Elasticsearch, Grafana, or a custom pipeline. It covers all flows in your cluster, not just the top 500 by volume.&lt;/p&gt;

&lt;h3&gt;
  
  
  Whisker: Real-Time Policy Visibility Without Additional Infrastructure
&lt;/h3&gt;



&lt;p&gt;Whisker is a lightweight web console that surfaces Goldmane’s flow data without requiring any additional tooling. You can filter flows by namespace, pod, policy verdict, or direction, and see in real time which traffic is being allowed and denied across your cluster.&lt;/p&gt;

&lt;p&gt;For teams moving from a default-allow posture toward namespace isolation or zero trust, Whisker is particularly valuable during the transition: you can watch policy verdicts update live as you apply and adjust rules, rather than inferring policy behavior from downstream signals like application errors and health check failures.&lt;/p&gt;

&lt;p&gt;Whisker is included in &lt;a href="https://www.tigera.io/blog/introducing-calico-3-30-a-new-era-of-open-source-network-security-and-observability-for-kubernetes/" rel="noopener noreferrer"&gt;Calico Open Source as of 3.30.&lt;/a&gt; Access it via a local port-forward — no agent &lt;code&gt;DaemonSet&lt;/code&gt; configuration, no IAM policies, no cloud service dependencies required.&lt;/p&gt;

&lt;h2&gt;
  
  
  Going Further: Calico Cloud Free Tier
&lt;/h2&gt;

&lt;p&gt;Goldmane and Whisker give you a significantly richer observability foundation for security and troubleshooting than AWS native tooling. If you want to go further, &lt;a href="https://www.tigera.io/blog/a-detailed-look-at-calico-cloud-free-tier/" rel="noopener noreferrer"&gt;Calico Cloud’s free tier&lt;/a&gt; adds a hosted experience that requires no additional infrastructure to operate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image1.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fon1oeyyk072drgezq4wb.png" alt="Visualizing Security Posture with Calico Cloud Service Graph" width="800" height="461"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The Calico Cloud Service Graph provides a live, visual map of communication between namespaces, services, and pods.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Connecting your EKS cluster to Calico Cloud gives you access to the Service Graph, which provides a live visual map of how your namespaces, services, and pods are communicating, overlaid with Calico policy evaluation data. Unlike the AWS console service map, which surfaces performance metrics for your top flows, the Calico Cloud Service Graph shows you the security posture of your traffic: which connections are authorized, which are being denied, and where your policy coverage has gaps. Teams that see it for the first time consistently describe it as the moment their cluster’s network finally became legible from a security perspective.&lt;/p&gt;

&lt;p&gt;The free tier also includes the policy recommendation engine, which analyzes your cluster’s actual traffic patterns and automatically generates staged network policies to implement namespace isolation. Staged policies let you audit the recommended rules and see exactly which traffic they would allow and deny before you enforce them. It’s the fastest path from a default-allow EKS cluster to one where every namespace is isolated and secured.&lt;/p&gt;

&lt;p&gt;Calico Cloud’s free tier is genuinely free, with no sales engagement required. It supports a single cluster with 24-hour data retention — enough to experience the Service Graph and understand what your cluster’s traffic actually looks like from a security perspective.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Quick Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;VPC Flow Logs&lt;/th&gt;
&lt;th&gt;EKS Container Network Observability&lt;/th&gt;
&lt;th&gt;Calico Open Source (Goldmane + Whisker)&lt;/th&gt;
&lt;th&gt;Calico Cloud Free Tier&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pod / namespace identity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(deployment/pod view)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service-level visibility&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(service map)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Network performance metrics&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(RT, RTO, bytes)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Calico policy verdict (allow/deny + which rule)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;All flows (not just top N by volume)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(top 500)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security posture / policy gap visibility&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Real-time policy visualization&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(Whisker)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(Service Graph)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Policy recommendations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Setup complexity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(NFM agent, IAM)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(port-forward)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;small&gt;(single manifest)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  Sign up for the free tier
&lt;/h3&gt;

&lt;p&gt;Goldmane and Whisker, available today in Calico 3.30+, fill the gaps in EKS observability. They’re purpose-built for the Kubernetes security layer and give every EKS operator richer policy-level observability at no cost.&lt;/p&gt;

&lt;p&gt;If you want to go further and have a live service graph that surfaces policy context, hosted dashboards, and automated policy recommendations, Calico Cloud’s free tier is the next step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://calicocloud.io" rel="noopener noreferrer"&gt;Sign up at Calico Cloud and connect your EKS cluster in under 20 minutes&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;AWS Container Network Observability is a meaningful improvement over VPC Flow Logs and a genuinely useful tool for understanding network performance in your EKS environment. If you’re tracking retransmissions, monitoring cross-AZ traffic, or trying to identify bandwidth hotspots, it’s worth enabling.&lt;/p&gt;

&lt;p&gt;But it was designed for performance observability, not security observability. It has no awareness of &lt;a href="https://www.tigera.io/learn/guides/kubernetes-security/kubernetes-network-policy/" rel="noopener noreferrer"&gt;Kubernetes network policy&lt;/a&gt; behavior, no policy verdict data, and no visibility into whether your namespace boundaries are being respected. For teams actively managing network policies or trying to move toward a least-privilege security posture, these are not minor gaps.&lt;/p&gt;

&lt;p&gt;Goldmane and Whisker, available today in Calico 3.30+, fill exactly those gaps. They’re purpose-built for the Kubernetes security layer and give every EKS operator richer policy-level observability at no cost. If you want to go further and have a live service graph that surfaces policy context, hosted dashboards, and automated policy recommendations, Calico Cloud’s free tier is the next step.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/what-your-eks-flow-logs-arent-telling-you/" rel="noopener noreferrer"&gt;What Your EKS Flow Logs Aren’t Telling You&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>howto</category>
    </item>
    <item>
      <title>What’s New in Calico: Winter 2026 Release</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Wed, 04 Mar 2026 20:52:31 +0000</pubDate>
      <link>https://dev.to/tigeraio/whats-new-in-calico-winter-2026-release-2kmc</link>
      <guid>https://dev.to/tigeraio/whats-new-in-calico-winter-2026-release-2kmc</guid>
      <description>&lt;p&gt;&lt;strong&gt;AI Powered Intelligence, Unified Traffic Observability and Scalable Infrastructure Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As anyone managing one or more Kubernetes clusters knows by now, scaling can introduce an exponentially growing number of problems. &lt;a href="https://www.cncf.io/blog/2025/03/05/observability-trends-in-2025-whats-driving-change/" rel="noopener noreferrer"&gt;The sheer volume of metrics, logs and other data can become an obstacle, rather than an asset, to effective troubleshooting and overall cluster management.&lt;/a&gt; Fragmented tools and manual troubleshooting processes introduce operational complexity leading to the inevitable security gaps and extended downtime. As the number of clusters grows it becomes more important than ever to find ways of reducing the observability noise, decluttering the monitoring stack and eliminating the bottlenecks that get in the way of keeping your clusters stable and secure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Winter 2026 release of Calico Enterprise and Calico Cloud addresses the pain points of scaling clusters with three key enhancements:&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  1. AI-Powered Intelligence
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;AI Assistant for Calico:&lt;/strong&gt; Efficiently navigate disparate data sources to quickly get answers through natural language, or proactively identify problems before they arise.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Unified Traffic Observability
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unified Ingress Gateway Dashboard:&lt;/strong&gt; Monitor gateway traffic volume, latency, and request behavior alongside east-west traffic observability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Last Evaluated Policy Metrics:&lt;/strong&gt; Identify and decommission unused security policies to maintain a lean, least-privileged posture.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3. Scalable Infrastructure and Expanded Ecosystem Support
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic NetworkSet Matching:&lt;/strong&gt; Ensure stable policy enforcement in large environments with predictable, namespace-aware lookups.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Projects Hierarchy:&lt;/strong&gt; Connect and organize an unlimited number of clusters with self-service grouping and regional data residency compliance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expanded OS Support:&lt;/strong&gt; Extend unified security policies to traditional workloads with official support for Debian and Ubuntu on VMs.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;AI-Powered Intelligence&lt;/p&gt;

&lt;h3&gt;
  
  
  AI-Powered Intelligence and Enhanced Observability
&lt;/h3&gt;

&lt;h4&gt;
  
  
  AI Assistant for Calico: Natural Language Insights for Faster Troubleshooting
&lt;/h4&gt;

&lt;p&gt;Understanding what is going on in a Kubernetes cluster is a challenge for most, if not all, platform and DevOps teams. &lt;a href="https://docs.tigera.io/calico/latest/about/calico-product-editions" rel="noopener noreferrer"&gt;Calico Cloud&lt;/a&gt; provides an abundance of networking and security telemetry from flow logs, metrics, service connectivity, and policy evaluation events across workloads, namespaces, and clusters. However, making good use of this data to properly secure a cluster and efficiently troubleshoot issues becomes next to impossible when it involves manually searching across multiple sources to find that connecting thread. Debugging and resolving an issue can take hours and sometimes days causing frustration not only for platform and DevOps engineers but for customers too, ultimately costing the organization revenue.&lt;/p&gt;

&lt;p&gt;To accelerate troubleshooting and reduce operational complexity, &lt;strong&gt;the Winter 2026 release of Calico Cloud introduces AI Assistant.&lt;/strong&gt; This AI powered context-aware intelligence layer replaces cumbersome queries and time consuming log analysis with the ability to resolve issues through natural language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it Works:&lt;/strong&gt; Instead of creating complex filters to sift through pages of log entries, teams will simply ask questions such as “Why is traffic between service A and service B blocked?” or “What are the policies applied to the production-frontend namespace?”&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Benefits of AI Assistant for Calico:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accelerated Troubleshooting:&lt;/strong&gt; Reduce MTTR (Mean Time To Resolution) by asking concise and pertinent questions instead of manually creating queries and filters to retrieve the troubleshooting data you need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Natural Language Interaction:&lt;/strong&gt; Interact with cluster data using plain English, without needing the specialized expertise required for complex debugging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proactive Security Insights:&lt;/strong&gt; Identify security gaps, egress exposure risks, and misconfigurations that might otherwise go unnoticed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy Optimization:&lt;/strong&gt; Use AI Assistant’s recommendations to clean up unused objects and improve overall cluster stability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/AI-Assisstant-for-Calico-.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2glgplvwnukldlj56qh2.png" width="800" height="476"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;AI Assistant for Calico can quickly get you the information you need.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Scenario: Rapidly Resolving a Blocked Service Connection
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;The Situation:&lt;/strong&gt; Imagine a platform engineer receiving an urgent alert that a critical production service is unable to communicate with its database. Traditionally, the engineer would spend 30-60 minutes checking network policies, flow logs, and namespace labels across multiple clusters to find the culprit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI Assistant for Calico Solution:&lt;/strong&gt; Instead of manual investigation, the engineer asks the AI Assistant: “Why is the frontend-service in the production namespace unable to reach the db-service?” The AI Assistant instantly analyzes the environment and identifies that a recent policy update lacks the necessary egress rule for the specific database port. It provides a summary of the issue and a recommended policy snippet to fix it, reducing the resolution time from an hour to minutes.&lt;/p&gt;




&lt;p&gt;Unified Traffic Observability&lt;/p&gt;

&lt;h3&gt;
  
  
  Dashboard for the Calico Ingress Gateway
&lt;/h3&gt;

&lt;p&gt;The recent release of Calico Ingress Gateway created a need for observability into this new component. Users need to be able to access metric and troubleshooting insight in the same Calico in-product dashboards they use to view the rest of their cluster traffic. Not being able to easily troubleshoot their gateways could slow adoption and make it difficult to migrate to Gateway API. It adds unnecessary administrative overhead and makes a critical component of cluster security opaque.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To bridge this visibility gap and simplify cluster management, the Calico Winter 2026 release adds the Calico Ingress Gateway dashboard to Calico UI.&lt;/strong&gt; Users now have out-of-the box access to traffic volume, latency, and request data across all gateways and routes in the same place they see their east-west traffic.&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Benefits of Ingress Gateway Dashboards:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unified Observability:&lt;/strong&gt; Easily view ingress, egress, and east-west traffic data using the same in-product UI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Performance Tracking:&lt;/strong&gt; Track live metrics such as requests per minute, duration, and latency at the namespace, service, and route levels.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gateway Health Monitoring:&lt;/strong&gt; Get a clear view of Gateway Classes, hosts, instances, and listener status to verify and maintain your cluster’s stability and availability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No extra tools or collectors are required:&lt;/strong&gt; Get access to gateway metrics without having to install additional components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid Error Detection:&lt;/strong&gt; Drill down into individual requests for detailed troubleshooting of gateway-managed APIs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/03/image2.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl6qbioyor39h837iyuji.png" width="800" height="1120"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;See metrics across all gateways, namespaces and routes with the Ingress Gateway Dashboard.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Scenario: Isolating Latency in a High-Traffic Application
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;The Situation:&lt;/strong&gt; A DevOps engineer notices a spike in user reports regarding slow response times for a specific web application. Using traditional tools, they would have to check the external load balancer, then the ingress controller logs, and finally the backend application metrics to find the bottleneck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Calico Solution:&lt;/strong&gt; The engineer opens the Calico Ingress Gateway dashboard and immediately sees a “Request Latency per Minute” chart. They filter by route and notice that while the gateway itself is healthy, one specific route is showing high latency samples. By looking at the “Traffic Performance” list, they confirm the delay is occurring at the backend service destination rather than the gateway layer, allowing them to escalate the issue to the correct application team in seconds.&lt;/p&gt;




&lt;p&gt;Unified Traffic Observability&lt;/p&gt;

&lt;h3&gt;
  
  
  Identifying and Cleaning Up Unused Policies with “Last Evaluated” Metrics
&lt;/h3&gt;

&lt;p&gt;As Kubernetes environments grow, clusters can accumulate hundreds of network policies. Over time, changes in application architecture or service decommissions leave many of these policies active but no longer utilized. Maintaining a “least-privileged” security posture becomes nearly impossible when the environment is cluttered with stale rules. These unused policies not only create operational noise but can also lead to accidental security gaps and performance overhead as the CNI continues to process redundant logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To eliminate this operational noise and strengthen security posture, the Winter 2026 release introduces visibility into policy evaluation.&lt;/strong&gt; The ‘Last evaluated’ metric has been added to policy data to provide visibility into which policies and rules have not seen traffic in a while. Platform engineers can investigate unused policies and confidently decommission them, ensuring the cluster remains lean and secure. By identifying and removing “dead” rules, teams improve the overall performance of the policy engine and strictly adhere to micro-segmentation best practices.&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Benefits of Last Evaluated Metrics:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Confident Policy Decommissioning:&lt;/strong&gt; Clearly identify policies that have not seen traffic for a specific number of days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintain Least Privilege:&lt;/strong&gt; Ensure your micro-segmentation strategy remains effective by removing obsolete permissions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved UI Visibility:&lt;/strong&gt; See the “Last Evaluated” date and time displayed directly on your Policy and View Boards.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Scenario: Automating a “Zero-Trust” Monthly Audit
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;The Situation:&lt;/strong&gt; A security engineer at a healthcare company is tasked with a monthly audit to ensure no unnecessary network paths are open. Previously, this meant manually comparing flow logs against the entire policy set—a process that took days and was prone to human error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Calico Solution:&lt;/strong&gt; Using the new “Last Evaluated” metric, the engineer creates a report for all policies that haven’t been evaluated in the last 30 days. He quickly identifies five policies belonging to a decommissioned billing service. After discussion with his team he is able to decommission the policies before they can become vulnerabilities.&lt;/p&gt;




&lt;p&gt;Scalable Infrastructure&lt;/p&gt;

&lt;h3&gt;
  
  
  Deterministic Matching for Overlapping NetworkSets
&lt;/h3&gt;

&lt;p&gt;In large-scale enterprise environments, organizations often manage a high volume of &lt;a href="https://docs.tigera.io/calico-cloud/network-policy/networksets" rel="noopener noreferrer"&gt;NetworkSets&lt;/a&gt;. As these environments grow, it is common for different teams to define overlapping CIDR ranges across multiple NetworkSet objects. When CIDRs overlap, it becomes difficult for platform engineers to identify exactly which NetworkSet is being applied to a specific traffic flow. This ambiguity can lead to unpredictable policy enforcement, making it harder to troubleshoot connectivity issues or ensure that security rules are hitting the intended targets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To resolve these policy conflicts and ensure predictable enforcement, Calico now introduces namespace awareness and a deterministic tie-breaker for NetworkSet lookups.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The lookup process follows a strict priority: first, it checks for a NetworkSet in the workload’s own namespace; second, it evaluates GlobalNetworkSets; and finally, it considers NetworkSets in other namespaces. If an overlap still exists, a lexicographic ordering tie-breaker is used to ensure the result is always consistently reproducible removing the “guesswork” from policy matching in complex environments. By providing a predictable, hierarchical lookup, Calico ensures that the most relevant security context is applied to every flow. This results in more stable policy enforcement and significantly simplifies auditing and troubleshooting for large organizations.&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Benefits of Improved NetworkSet Matching:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Namespace-First Priority:&lt;/strong&gt; Preference is now given to NetworkSets in the same namespace as the connection initiating workload.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Results:&lt;/strong&gt; Get the same results each time with lexicographic ordering acting as a tie-breaker.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalable Policy Management:&lt;/strong&gt; Allow multiple teams to define NetworkSets without worrying about unpredictable global side effects.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Scalable Infrastructure&lt;/p&gt;

&lt;h3&gt;
  
  
  Streamlining Multi-Cluster Management with Projects Hierarchy
&lt;/h3&gt;

&lt;p&gt;As organizations grow, they need to manage an increasing number of clusters across different teams and geographical regions. Previously, Calico Cloud users were limited to a set number of clusters per tenant and had to rely on manual support requests to create projects and organize their environments into logical groupings. A hard limit on cluster count and the lack of self-service organization tools created operational bottlenecks for large-scale deployments. Furthermore, without the ability to strictly assign clusters to specific regions, meeting stringent data residency and compliance requirements was a complex, manual task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To remove these scaling bottlenecks and simplify global infrastructure management, Calico Cloud now introduces Projects.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the Calico Winter 2026 release Calico Cloud now introduces “Projects,” a grouping mechanism that allows users to organize an unlimited number of managed clusters into meaningful logical structures. This feature is entirely self-service, enabling platform teams to create projects, group clusters by department or environment, and assign projects to specific geographic regions. It significantly improves operational efficiency by allowing platform engineers to manage vast, global infrastructures with ease. By enabling regional assignments for projects, organizations can more easily meet compliance and data residency requirements. Additionally, the removal of cluster limits ensures that Calico Cloud can scale alongside your business without friction.&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Benefits of Projects Hierarchy:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Self-Service Organization:&lt;/strong&gt; Empower teams to manage their own groupings without external support.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unlimited Scalability:&lt;/strong&gt; Connect an unlimited number of clusters to Calico Cloud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplified Compliance:&lt;/strong&gt; Assign projects to specific regions to ensure data residency requirements are met.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Management:&lt;/strong&gt; Organize clusters by environment (e.g., Prod, Staging, Dev) or business unit.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Expanded Ecosystem Support&lt;/p&gt;

&lt;h3&gt;
  
  
  Expanding Hybrid Cloud Reach with New OS Support for VMs
&lt;/h3&gt;

&lt;p&gt;Many enterprises operate in hybrid environments where critical workloads run on a mix of Kubernetes clusters and traditional virtual machines (VMs). To maintain a unified security posture, these organizations need to run the Calico agent directly on their VM hosts. Previously, Calico’s support for non-Kubernetes hosts was limited primarily to RHEL 8 and 9. This restricted customers who preferred or already standardized on other popular Linux distributions, forcing them to either maintain inconsistent security stacks or manage multiple OS versions just to support Calico.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To extend consistent security policies across the hybrid cloud and support broader infrastructure requirements, the Winter 2026 release adds official support for Debian and Ubuntu.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This allows customers to extend Calico’s unified networking and security policies to these popular distributions, ensuring consistent protection across their entire infrastructure. By supporting a broader range of operating systems, Calico provides customers with the flexibility to choose the VM host OS that best fits their operational needs. This expansion simplifies management by allowing a single, unified security and networking platform to govern both modern Kubernetes clusters and traditional VM-based applications.&lt;/p&gt;




&lt;h2&gt;
  
  
  Get Started with Calico
&lt;/h2&gt;

&lt;p&gt;The Winter 2026 release of Calico Enterprise and Calico Cloud introduces powerful new capabilities designed to simplify, secure, and scale your infrastructure. By integrating AI Assistant into Calico Cloud, we are helping platform teams cut through the noise with natural language troubleshooting and proactive insights that reduce MTTR and identify security gaps before they become incidents. Together, these enhancements give platform engineers the confidence to manage complex, high-performance environments with greater efficiency and less manual intervention.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Environment&lt;/th&gt;
&lt;th&gt;Action Required&lt;/th&gt;
&lt;th&gt;Documentation Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Calico Enterprise&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Upgrade to the latest Enterprise version.&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.tigera.io/calico-enterprise/latest/getting-started/upgrading/upgrading-enterprise/" rel="noopener noreferrer"&gt;Upgrade Calico Enterprise documentation&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Calico Cloud&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Follow instructions to update your connected clusters.&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.tigera.io/calico-cloud/get-started/upgrade-cluster" rel="noopener noreferrer"&gt;Upgrade Calico Cloud instructions&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ready to see the Winter 2026 release in action? Reach out for a&lt;a href="https://www.tigera.io/demo/" rel="noopener noreferrer"&gt;live demo&lt;/a&gt; or &lt;a href="https://www.calicocloud.io/home" rel="noopener noreferrer"&gt;Sign up for a Calico Cloud trial&lt;/a&gt; to experience the new AI Assistant firsthand.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/whats-new-in-calico-winter-2026-release/" rel="noopener noreferrer"&gt;What’s New in Calico: Winter 2026 Release&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>companyblog</category>
      <category>technicalblog</category>
      <category>calicoai</category>
      <category>release</category>
    </item>
    <item>
      <title>Join Calico at KubeCon Europe 2026: AI Agents, Silent Discos, and Dutch Delights!</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Wed, 25 Feb 2026 21:57:29 +0000</pubDate>
      <link>https://dev.to/tigeraio/join-calico-at-kubecon-europe-2026-ai-agents-silent-discos-and-dutch-delights-36pn</link>
      <guid>https://dev.to/tigeraio/join-calico-at-kubecon-europe-2026-ai-agents-silent-discos-and-dutch-delights-36pn</guid>
      <description>&lt;p&gt;The cloud-native community is heading to the historic canals and vibrant tech scene of &lt;strong&gt;Amsterdam&lt;/strong&gt; for &lt;strong&gt;KubeCon + CloudNativeCon Europe 2026!&lt;/strong&gt; From March 23–26, Amsterdam will be buzzing with the latest in Kubernetes, platform engineering, and, of course, all things Calico.&lt;/p&gt;

&lt;p&gt;Whether you’re a long-time Calico user or just starting your cloud-native security journey, Tigera has a packed schedule to make your KubeCon experience both educational and unforgettable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faftm4ojeowy8v9tljg45.png" alt="🌍" width="72" height="72"&gt; Meet Our International Team
&lt;/h3&gt;

&lt;p&gt;Our international team, hailing from &lt;strong&gt;Vancouver, Toronto, San Francisco, Cork, London, and Cambridge&lt;/strong&gt; , is converging on Amsterdam to welcome you! Whether you’re a first-time attendee or a KubeCon veteran, our crew has been through the trenches and is ready to share tips on everything from eBPF security to the best bitterballen in the city.&lt;/p&gt;

&lt;h2&gt;
  
  
  Securing the Future: AI Agent Workshop
&lt;/h2&gt;

&lt;p&gt;The biggest shift in the ecosystem this year? &lt;strong&gt;Autonomous AI Agents.&lt;/strong&gt; But as we move these agents into production, how do we ensure they are secure, compliant, and observed?&lt;/p&gt;

&lt;p&gt;Join us for our featured workshop: &lt;strong&gt;&lt;a href="https://www.tigera.io/lp/securing-autonomous-ai-agents-in-production" rel="noopener noreferrer"&gt;Securing Autonomous AI Agents in Production&lt;/a&gt;&lt;/strong&gt;. We’ll dive deep into how to implement zero-trust security for AI workloads and protect the underlying infrastructure that powers them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6yzeryqgmt4plctdyhh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6yzeryqgmt4plctdyhh.jpeg" alt="Shane Walsh" width="314" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shane Walsh, Corporate Account Executive (Cork, Ireland)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;_ &lt;strong&gt;Thoughts on KubeCon:&lt;/strong&gt; “This is my 5th KubeCon. My 1st KubeCon was in Valencia in 2022. It’s a great event, so it’s always worth coming back for.”_&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; &lt;em&gt;“Take your time and talk to all vendors. Wear comfy shoes!”&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  JOIN US FOR HAPPY HOUR
&lt;/h2&gt;

&lt;p&gt;After a deep dive into AI security, you’ll need a place to decompress and network with your peers. We’re hosting an exclusive Happy Hour at one of Amsterdam’s most iconic spots. Join us for relaxed vibes, great views, and even better conversations with the creators of Calico.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2m902pgqgnzrjghahs3o.png" alt="📅" width="72" height="72"&gt; Monday, March 23, 2026
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AI Agent Workshop&lt;/strong&gt; 2:00 PM – 5:00 PM&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Hour&lt;/strong&gt; 5:00 PM – 7:00 PM&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/lp/securing-autonomous-ai-agents-in-production/" rel="noopener noreferrer"&gt;LEARN MORE AND REGISTER HERE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ramon Slingerland, Sales Manager (Cork, Ireland)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are you looking forward to in Amsterdam:&lt;/strong&gt; &lt;em&gt;“Proper Dutch fries with mayonnaise and a particular fried item called ‘&lt;a href="https://en.wikipedia.org/wiki/Bitterballen" rel="noopener noreferrer"&gt;bitterballen&lt;/a&gt;‘. (goes really well with a cold beer!)”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh019erqke7abec4lxf9t.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh019erqke7abec4lxf9t.jpeg" alt="Ramon Slingerland" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfiiwc4dodfu30ds5ekf.png" alt="🎧" width="72" height="72"&gt; The “Silent Disco” Demo Stage
&lt;/h2&gt;

&lt;p&gt;Tired of shouting over the expo hall floor to hear a presentation? We’re bringing back our &lt;strong&gt;Silent Disco Demos!&lt;/strong&gt; Grab a pair of high-fidelity wireless headphones at the Tigera booth and tune into live, deep-dive sessions hosted by our engineers. It’s the best way to get a front-row seat to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EBPF-based security&lt;/strong&gt; and observability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Micro-segmentation&lt;/strong&gt; for high-scale clusters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time threat detection&lt;/strong&gt; in action.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fav0ncnn11g73brpe6ixe.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fav0ncnn11g73brpe6ixe.webp" alt="Nell Jerram" width="230" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nell Jerram, Principal Software Engineer (Cambridge, England)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amsterdam activity she’s looking forward to:&lt;/strong&gt; &lt;em&gt;“Visiting the Van Gogh museum and Anne Frank house.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Expert Advice:&lt;/strong&gt; &lt;em&gt;“There is a lot going on and it can be intense. So plan your time accordingly. Be sure to make time to chat with people in an adhoc basis.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reza Ramezanpour, Senior Developer Advocate (Vancouver, Canada)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Amsterdam activity he’s looking forward to:&lt;/strong&gt; &lt;em&gt;“Visiting Vondel park.”&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Pro Tip:&lt;/strong&gt; &lt;em&gt;“Buy compression socks!”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1zfmred35cu6v1fuo8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1zfmred35cu6v1fuo8y.png" alt="Reza Ramezanpour" width="768" height="771"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tigera Booth Experience: Fun is Mandatory
&lt;/h2&gt;

&lt;p&gt;Visit us at &lt;strong&gt;Booth #400&lt;/strong&gt;! This year, our booth is designed to be a hub for both technical deep-dives and high-energy networking. We believe KubeCon should be as fun as it is informative. Stop by for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Daily Silent Disco:&lt;/strong&gt; Grab a pair of headphones and tune into live demos of Kubernetes topics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quizzes &amp;amp; Prizes:&lt;/strong&gt; Think you know Calico? Take our daily technical quizzes to win fantastic prizes and exclusive swag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The SWAG:&lt;/strong&gt; Our legendary Calico-themed t-shirts, stickers, and a few “Amsterdam-exclusive” surprises are waiting for you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Shaun Crampton, Distinguished Engineer (London, England)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veteran Tip:&lt;/strong&gt; &lt;em&gt;“The din of 10 thousand people talking can be overwhelming, consider getting some attenuators.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6inw44icybhazhvd7u6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6inw44icybhazhvd7u6.jpeg" alt="Shaun Crampton" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmri0vgnv6fetfhv15n3.png" alt="🎁" width="72" height="72"&gt; Quizzes, Swag, and Prizes
&lt;/h2&gt;

&lt;p&gt;No KubeCon is complete without the loot. Stop by the Tigera booth to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test Your Skills:&lt;/strong&gt; Take our daily technical quizzes for a chance to win premium prizes (did someone say Lego?).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collect the Classics:&lt;/strong&gt; We’ll have our legendary Calico t-shirts and brand new stickers, plus some Amsterdam-themed surprises.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frby44f0gfl507z7h7kc5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frby44f0gfl507z7h7kc5.jpeg" alt="Eunice Cao" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Eunice Cao, Events &amp;amp; Marketing Manager (Vancouver, Canada)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;“I quickly learned that the currency of the cloud native world is stickers and LEGO sets.”&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Travel Tip:&lt;/strong&gt; &lt;em&gt;“Leave some space in your suitcase for all the cool swag you can pick up!”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Karl Power, Corporate Account Executive (Cork, Ireland)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
_ &lt;strong&gt;KubeCon Must Do:&lt;/strong&gt; “Make sure you come to Tigera’s booth, our T-Shirts are the best at Kubecon!”_&lt;br&gt;&lt;br&gt;
_ &lt;strong&gt;Pro Tip:&lt;/strong&gt; “Enjoy it. Speak to people and enjoy the interactions.”_&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcs93lrur5peeenclry3d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcs93lrur5peeenclry3d.png" alt="Karl Power" width="504" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fls2xn5wkpkrzue8kzj8u.png" alt="📍" width="72" height="72"&gt; Plan Your Visit
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Booth Location:&lt;/strong&gt; #400&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workshop:&lt;/strong&gt; Monday, March 23 | 2:00 PM – 5:00 PM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Happy Hour:&lt;/strong&gt; Monday, March 23 | 5:00 PM – 7:00 PM at The Harbour Club&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Want to skip the lines?&lt;/strong&gt; &lt;a href="https://www.tigera.io/demo/" rel="noopener noreferrer"&gt;Book a 1:1 Meeting with a Calico Expert&lt;/a&gt;to discuss your specific security and observability challenges.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvutdxjonh3wm13oymdk3.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvutdxjonh3wm13oymdk3.webp" alt="Aadhil A. Majeed" width="230" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aadhil A. Majeed, Senior Solutions Architect (Toronto, Canada)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
_ &lt;strong&gt;Thoughts on KubeCon&lt;/strong&gt; “What brings me back is the opportunity meet with the Calico community, engage with partners, make new connections and get a sense for where the industry is headed.”_&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Amsterdam Goal:&lt;/strong&gt; &lt;em&gt;“Hoping to get a taste of European hospitality.”&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  We can’t wait to see you in Amsterdam. Let’s make KubeCon 2026 the best one yet! &lt;strong&gt;Proost! &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zw38rymg37x3s20s9g3.png" alt="🍻" width="72" height="72"&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/calico-at-kubecon-cloudnativecon-europe2026/" rel="noopener noreferrer"&gt;Join Calico at KubeCon Europe 2026: AI Agents, Silent Discos, and Dutch Delights!&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>companyblog</category>
      <category>event</category>
      <category>opensource</category>
      <category>projectcalico</category>
    </item>
    <item>
      <title>Project Calico 3.30+ Hackathon: Show Us What You Can Build!</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Tue, 17 Feb 2026 22:45:34 +0000</pubDate>
      <link>https://dev.to/tigeraio/project-calico-330-hackathon-show-us-what-you-can-build-1439</link>
      <guid>https://dev.to/tigeraio/project-calico-330-hackathon-show-us-what-you-can-build-1439</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7n2cjs0yqpzptbcuumqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7n2cjs0yqpzptbcuumqj.png" alt="Calico Hackathon Logo" width="150" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Build the Future of Cloud-Native Networking! &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dp36elgeuxvuiact13r.png" alt="🚀" width="72" height="72"&gt;
&lt;/h2&gt;

&lt;p&gt;The Calico community moves fast. With the releases of &lt;strong&gt;Calico 3.30 and 3.31&lt;/strong&gt; , brings improvements in scalability, network security, and visibility. Now, we want to see what &lt;strong&gt;YOU&lt;/strong&gt; can do with them!&lt;/p&gt;

&lt;p&gt;We’re excited to officially invite you to the &lt;strong&gt;Project Calico 3.30+ Community Hackathon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Whether you’re a seasoned eBPF expert or a newcomer to the Gateway API, we welcome your innovation and  your ideas!&lt;/p&gt;

&lt;p&gt;Table of Contents&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;What’s in the Toolkit?&lt;/li&gt;
&lt;li&gt;Hackathon Starter Kit (GitHub)&lt;/li&gt;
&lt;li&gt;Inspiration: What Can You Build?&lt;/li&gt;
&lt;li&gt;Prizes &amp;amp; Swag&lt;/li&gt;
&lt;li&gt;Hackathon Timeline&lt;/li&gt;
&lt;li&gt;Judging Criteria: How to Win&lt;/li&gt;
&lt;li&gt;Register Now&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwf85o1nm0rncgiua2gal.png" alt="🔥" width="72" height="72"&gt; What’s in the Toolkit?
&lt;/h3&gt;

&lt;p&gt;We’ve packed Calico 3.30+ with powerful features ready for you to hack on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fl10p61p667mgkprvaz.png" alt="🔹" width="72" height="72"&gt; &lt;strong&gt;Goldmane &amp;amp; Whisker:&lt;/strong&gt; High-performance flow insights meets a sleek, operator-friendly UI.&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fl10p61p667mgkprvaz.png" alt="🔹" width="72" height="72"&gt; &lt;strong&gt;Staged Policies:&lt;/strong&gt; The “Safety First” way to test Zero Trust before enforcing it.&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fl10p61p667mgkprvaz.png" alt="🔹" width="72" height="72"&gt; &lt;strong&gt;Calico Ingress Gateway:&lt;/strong&gt; Modern, Envoy-powered traffic management via the Gateway API.&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fl10p61p667mgkprvaz.png" alt="🔹" width="72" height="72"&gt; &lt;strong&gt;Calico Cloud Ready:&lt;/strong&gt; Connect open-source clusters to a free-forever, read-only tier for instant visualization and troubleshooting.&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fl10p61p667mgkprvaz.png" alt="🔹" width="72" height="72"&gt; &lt;strong&gt;IPAM for Load Balancers:&lt;/strong&gt; Consistent IP strategies for MetalLB and beyond.&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fl10p61p667mgkprvaz.png" alt="🔹" width="72" height="72"&gt; &lt;strong&gt;Advanced QoS:&lt;/strong&gt; Fine-grained bandwidth and packet rate controls.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focazxgxda4ps43kkzgz0.png" alt="🛠" width="72" height="72"&gt; Hackathon Starter Kit
&lt;/h3&gt;

&lt;p&gt;No need to start from a blank screen. Use these progressive GitHub guides to stand up your environment and verify your features in minutes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Level 1: Bootstrap
&lt;/h4&gt;

&lt;p&gt;Set up a 3-node Kind cluster and install Calico in under 5 minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/frozenprocess/calico/blob/hackathon-hello/hackathon-step1.md" rel="noopener noreferrer"&gt;View GitHub Guide →&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Level 2: Verification
&lt;/h4&gt;

&lt;p&gt;Ensure your environment is correctly configured for Goldmane, Whisker, and Staged Policies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/frozenprocess/calico/blob/hackathon-version/hackathon-step2.md" rel="noopener noreferrer"&gt;View GitHub Guide →&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Level 3: Expert
&lt;/h4&gt;

&lt;p&gt;Deep-dive into component status and health for advanced observability and automation hacks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/frozenprocess/calico/blob/hackathon-status/hackathon_step3.md" rel="noopener noreferrer"&gt;View GitHub Guide →&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvs7fddjqg8063ot203d.png" alt="💡" width="72" height="72"&gt; Inspiration: What Can You Build?
&lt;/h3&gt;

&lt;p&gt;Whether you’re a networking guru or an automation enthusiast, Calico 3.30+ provides a massive playground for innovation. Here are three major tracks to spark your imagination:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdht6gu9a9lhi9eeh1ia2.png" alt="🔍" width="72" height="72"&gt; Observability &amp;amp; Visibility
&lt;/h4&gt;

&lt;p&gt;Leverage Goldmane and Whisker to make the invisible, visible.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flow Insight Dashboards:&lt;/strong&gt; Create a specialized Grafana dashboard that visualizes the high-performance flow data collected by Goldmane.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Traffic Analysis:&lt;/strong&gt; Use an LLM to analyze Whisker flow logs to identify and explain unusual traffic patterns in plain English.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual Troubleshooting:&lt;/strong&gt; Build a workflow that uses the Calico Cloud free tier to pinpoint exactly where a packet is being dropped in a complex microservice architecture.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo706txii58jf8q34f5x1.png" alt="🛡" width="72" height="72"&gt; Zero Trust Security
&lt;/h4&gt;

&lt;p&gt;Use Staged Policies to modernize security without the fear of outages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Safe Policy CI/CD:&lt;/strong&gt; Create a GitHub Action that automatically deploys a policy in “Staged” mode and only promotes it to “Enforced” after 24 hours of zero blocked traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy Migration Tool:&lt;/strong&gt; A script that converts legacy Kubernetes NetworkPolicies into advanced Calico Staged Policies for better auditability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Quarantine:&lt;/strong&gt; A tool that detects threats and automatically stages a restrictive policy for an affected namespace.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9a4u86l5j2os8cmrvdne.png" alt="🌐" width="72" height="72"&gt; Traffic &amp;amp; Infrastructure
&lt;/h4&gt;

&lt;p&gt;Integrate Ingress Gateway and IPAM for rock-solid connectivity.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gateway API Demo:&lt;/strong&gt; Build a multi-tenant app that uses the Calico Ingress Gateway to handle traffic routing and security at the edge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MetalLB + IPAM Automation:&lt;/strong&gt; Showcase a self-healing infrastructure where Calico IPAM dynamically manages LoadBalancer IPs for bare-metal clusters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QoS Optimizer:&lt;/strong&gt; Build a performance-testing tool that demonstrates how Calico’s Advanced QoS controls prevent “noisy neighbors” from slowing down critical workloads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  $1,750 in Total Cash Prizes!
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiejusykvj4gkik2bw0hp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiejusykvj4gkik2bw0hp.png" alt="🥇" width="72" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1st Place&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
$1,000&lt;/p&gt;

&lt;p&gt;USD&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3b9d4v3xcthheuquhdy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3b9d4v3xcthheuquhdy.png" alt="🥈" width="72" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2nd Place&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
$500&lt;/p&gt;

&lt;p&gt;USD&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0u57xyk1h8xuht5hiwkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0u57xyk1h8xuht5hiwkt.png" alt="🥉" width="72" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3rd Place&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
$250&lt;/p&gt;

&lt;p&gt;USD&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Plus: Exclusive Calico Hackathon &lt;strong&gt;Swag Packs&lt;/strong&gt; for all winners!&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2uq5r9cw020g8tvmlll8.png" alt="🗓" width="72" height="72"&gt; Mark Your Calendars
&lt;/h3&gt;

&lt;p&gt;All times in &lt;strong&gt;Pacific Time (PT)&lt;/strong&gt;. Don’t let the clock run out!&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimt5wysuj9svy31inlgy.png" alt="📢" width="72" height="72"&gt; &lt;strong&gt;Hackathon Announced: Save the date&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Feb 17, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dp36elgeuxvuiact13r.png" alt="🚀" width="72" height="72"&gt; &lt;strong&gt;Hackathon Officially Opens&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Feb 24, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flvf1bgjxdghpbjj0atti.png" alt="⏳" width="72" height="72"&gt; &lt;strong&gt;Submission Deadline&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Mar 31, 2026 @ 11:59 PM PT&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzo4nxhmwn4uttecssb1u.png" alt="🎊" width="72" height="72"&gt; &lt;strong&gt;Showcase &amp;amp; Winners Announced&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;April 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoyeay0goxjbfrl4wso7.png" alt="⚖" width="72" height="72"&gt; Judging Criteria: How to Win
&lt;/h3&gt;

&lt;p&gt;Our panel of Calico maintainers and community leaders will be scoring projects based on five key pillars. To take home the top prize, aim for a balance of technical execution and real-world impact.&lt;/p&gt;

&lt;p&gt;1&lt;/p&gt;

&lt;h4&gt;
  
  
  Technical Depth
&lt;/h4&gt;

&lt;p&gt;Does the project meaningfully implement &lt;strong&gt;Calico 3.30+ features&lt;/strong&gt;? We’re looking for high-quality code and a deep understanding of how Goldmane, Whisker, or Staged Policies function.&lt;/p&gt;

&lt;p&gt;2&lt;/p&gt;

&lt;h4&gt;
  
  
  Creativity &amp;amp; Innovation
&lt;/h4&gt;

&lt;p&gt;Is the idea unique? We love “outside-the-box” thinking—whether it’s a new use case for the Gateway API or a clever integration we haven’t seen before.&lt;/p&gt;

&lt;p&gt;3&lt;/p&gt;

&lt;h4&gt;
  
  
  Practical Value
&lt;/h4&gt;

&lt;p&gt;Could a real-world Calico user deploy this tomorrow? We value projects that solve actual pain points in networking, security, or cluster operations.&lt;/p&gt;

&lt;p&gt;4&lt;/p&gt;

&lt;h4&gt;
  
  
  Clarity of Demo
&lt;/h4&gt;

&lt;p&gt;Is your video walkthrough easy to follow? A great project needs a great story—explain the &lt;em&gt;Why&lt;/em&gt;, the &lt;em&gt;How&lt;/em&gt;, and show us the &lt;em&gt;Result&lt;/em&gt; clearly.&lt;/p&gt;

&lt;p&gt;5&lt;/p&gt;

&lt;h4&gt;
  
  
  Community Impact
&lt;/h4&gt;

&lt;p&gt;Does this benefit the wider open-source ecosystem? Projects that provide educational value, helpful tutorials, or reusable templates will score high here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note to Participants:&lt;/strong&gt; Our judges aren’t just looking for complex code; they’re looking for &lt;strong&gt;clarity and usefulness&lt;/strong&gt;. A simple, well-documented tool that solves a specific problem is often more valuable than a massive, unfinished dashboard!&lt;/p&gt;

&lt;p&gt;Ready to show the world what you can build?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/lp/project-calico-hackathon/#register" rel="noopener noreferrer"&gt;SIGN UP FOR UPDATES &amp;amp; ALERTS&lt;br&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/app/uploads/2026/02/Terms-and-Conditions-Calico-Hackathon.pdf" rel="noopener noreferrer"&gt;&lt;small&gt;View Official Terms &amp;amp; Conditions&lt;/small&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/project-calico-3-30-hackathon-show-us-what-you-can-build/" rel="noopener noreferrer"&gt;Project Calico 3.30+ Hackathon: Show Us What You Can Build!&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>companyblog</category>
      <category>opensource</category>
      <category>projectcalico</category>
      <category>announcements</category>
    </item>
    <item>
      <title>Kubernetes Network Observability: Comparing Calico, Cilium, Retina, and Netobserv</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Wed, 11 Feb 2026 21:10:35 +0000</pubDate>
      <link>https://dev.to/tigeraio/kubernetes-network-observability-comparing-calico-cilium-retina-and-netobserv-g4d</link>
      <guid>https://dev.to/tigeraio/kubernetes-network-observability-comparing-calico-cilium-retina-and-netobserv-g4d</guid>
      <description>&lt;p&gt;Calico, Cilium, Retina, and Netobserv: Which Observability Tool is Right for Your Kubernetes Cluster? Network observability is a tale as old as the OSI model itself and anyone who has managed a network or even a Kubernetes cluster knows the feeling: a service suddenly can’t reach its dependency, a pod is mysteriously offline, and the Slack alerts start rolling in. Investigating network connectivity issues in these complex, distributed environments can be incredibly time consuming. Without the right tools, the debugging process often involves manually connecting to each node, running &lt;code&gt;tcpdump&lt;/code&gt; on multiple machines, and piecing together logs to find the root cause. A path that often leads to frustration and extended downtime.&lt;/p&gt;

&lt;p&gt;This is the problem that Kubernetes Network Observability was built to solve. By deploying distributed observers, these cloud-native solutions take the traditional flow entries and enrich them with Kubernetes flags and labels to allow Kubernetes users to get insight into the inner workings of their clusters.&lt;/p&gt;

&lt;p&gt;This blog post aims to give you a rundown of the leading solutions in the CNCF ecosystem, and compare how they track a packet’s journey across your cluster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature Comparison Matrix
&lt;/h2&gt;

&lt;p&gt;Before diving into the specifics, let’s look at how these four major players (&lt;a href="https://docs.tigera.io" rel="noopener noreferrer"&gt;Calico&lt;/a&gt;, &lt;a href="https://docs.cilium.io" rel="noopener noreferrer"&gt;Cilium&lt;/a&gt;, &lt;a href="https://retina.sh/docs/Introduction/intro" rel="noopener noreferrer"&gt;Microsoft Retina&lt;/a&gt;, and &lt;a href="https://netobserv.io/start/" rel="noopener noreferrer"&gt;Netobserv)&lt;/a&gt; stack up against one another.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Calico Observability&lt;/th&gt;
&lt;th&gt;Cilium Observability&lt;/th&gt;
&lt;th&gt;Microsoft Retina&lt;/th&gt;
&lt;th&gt;Netobserv (Red Hat)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CNI Agnostic&lt;/td&gt;
&lt;td&gt;No (Requires Calico)&lt;/td&gt;
&lt;td&gt;No (Requires Cilium)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI Experience&lt;/td&gt;
&lt;td&gt;Calico Whisker / Grafana&lt;/td&gt;
&lt;td&gt;Hubble UI / Grafana&lt;/td&gt;
&lt;td&gt;Grafana / Azure Monitor / Hubble UI*&lt;/td&gt;
&lt;td&gt;OpenShift Plugin / Grafana&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Installation&lt;/td&gt;
&lt;td&gt;Easy (Helm/Operator)&lt;/td&gt;
&lt;td&gt;Easy (CLI/Helm)&lt;/td&gt;
&lt;td&gt;Easy (Helm)&lt;/td&gt;
&lt;td&gt;Moderate (Operator)**&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Monitoring Backend&lt;/td&gt;
&lt;td&gt;eBPF (Linux) / HNS (Win)&lt;/td&gt;
&lt;td&gt;eBPF (Linux)&lt;/td&gt;
&lt;td&gt;eBPF (Linux) / HNS (Win)&lt;/td&gt;
&lt;td&gt;eBPF (Linux)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flow Type&lt;/td&gt;
&lt;td&gt;Flow Aggregation&lt;/td&gt;
&lt;td&gt;Individual Flows&lt;/td&gt;
&lt;td&gt;Individual Flows + Metrics&lt;/td&gt;
&lt;td&gt;Flow Aggregation (IPFIX)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enrichment&lt;/td&gt;
&lt;td&gt;K8s Metadata (Pod/NS)&lt;/td&gt;
&lt;td&gt;K8s Metadata + Identity ***&lt;/td&gt;
&lt;td&gt;K8s Metadata&lt;/td&gt;
&lt;td&gt;K8s Metadata + Owner Ref&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Observability Domain&lt;/td&gt;
&lt;td&gt;Cluster and Host&lt;/td&gt;
&lt;td&gt;Cluster based&lt;/td&gt;
&lt;td&gt;Cluster and Host&lt;/td&gt;
&lt;td&gt;Cluster and Host&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus Export&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Policy Insights&lt;/td&gt;
&lt;td&gt;Full Policy Hierarchy&lt;/td&gt;
&lt;td&gt;Verdict (Allow/Deny)&lt;/td&gt;
&lt;td&gt;Verdict + Drop Reason&lt;/td&gt;
&lt;td&gt;Verdict + Policy Name&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;* Microsoft Retina has a couple of modes, one of these modes offers a smaller set of features but allows you to use Hubble as its UI.&lt;br&gt;&lt;br&gt;
** Netobserv installation experience can differ depending on your cluster, in a non OpenShift cluster you might hit some bumps while installing.&lt;br&gt;&lt;br&gt;
*** Identity is an internal Cilium value that is assigned to cluster resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Flow Types
&lt;/h2&gt;

&lt;p&gt;Before focusing on specific observability solutions, let’s take a look at flow types. Any network observability application is made up of two parts. A collector that gathers information related to networking activities in that environment and an exporter that emits this information via pulling or pushing.&lt;/p&gt;

&lt;p&gt;These flows can be stored in two different formats, individual or aggregated.&lt;/p&gt;

&lt;h3&gt;
  
  
  Aggregated Flows
&lt;/h3&gt;

&lt;p&gt;Aggregated Flows group similar packets together over a window of time (e.g., “50 packets went from Pod A to Pod B in the last 10 seconds”).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pros&lt;/strong&gt; : Significantly lower storage costs; better for long-term trend analysis and capacity planning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cons&lt;/strong&gt; : You lose the precise timestamp of a single packet drop; smooths out “micro-bursts.”&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Individual Flows
&lt;/h3&gt;

&lt;p&gt;Individual Flows treat every connection attempt or significant network event as a discrete log entry.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pros:&lt;/strong&gt; You can see exactly which specific request failed at what time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cons:&lt;/strong&gt; Can generate massive amounts of data in high-traffic clusters; usually requires a short retention period (e.g., rolling buffer).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that we have established the foundational flow types and data collection methods, let’s see how the leading tools in the ecosystem apply these concepts to real-world cluster monitoring.&lt;/p&gt;




&lt;h2&gt;
  
  
  Calico Observability Stack
&lt;/h2&gt;

&lt;p&gt;Calico is a modern unified security platform designed not just for Kubernetes, but also for Virtual Machines, OpenStack and bare metal systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it works
&lt;/h3&gt;

&lt;p&gt;Observability in Calico is deeply integrated into its core components. In Linux Calico eBPF programs hook into the inner workings of the kernel, allowing it to extract deep network telemetry directly from the kernel. Calico observability also works on Windows, where it relies on its Windows data plane based on the HNS technology to gather all the information related to each flow. All this information is accessible via a gRPC channel to Calico Whisker for visualization.&lt;/p&gt;

&lt;p&gt;To see how this context-driven approach differs from legacy monitoring, check out our deep dive on &lt;a href="https://www.tigera.io/blog/calico-whisker-vs-traditional-observability-why-context-matters-in-kubernetes-networking/" rel="noopener noreferrer"&gt;why context matters in Kubernetes networking&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Data Types
&lt;/h3&gt;

&lt;p&gt;Calico provides deep visibility into the decision-making process of the network:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Direction Aware:&lt;/strong&gt; Calico intelligently categorizes each flow as reported by the sender or a receiver. This is a problem solver in troubleshooting or writing policy scenarios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enriched Logs:&lt;/strong&gt; Each flow provides a list of aggregate information enriched with Kubernetes metadata (Namespace, Owner, Resource).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy Evaluation:&lt;/strong&gt; On top of highlighting the final verdict and policy name, by default, Calico also outputs all the policies that matched against a flow allowing for policy performance tuning and easier troubleshooting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;L7 Visibility:&lt;/strong&gt; Optionally, Calico Ingress Gateway can report application-layer data (like HTTP methods and URLs) for deeper debugging.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Cilium Observability Stack
&lt;/h2&gt;

&lt;p&gt;Cilium is an open-source, cloud-native solution for providing, securing, and observing network connectivity between workloads, Cilium networking is established via eBPF programs and its observability components are funneled to Hubble via a gRPC channel.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it Works
&lt;/h3&gt;

&lt;p&gt;Cilium leverages eBPF programs to tap into the system. It captures network events directly from the kernel as they happen and streams them in real-time via a gRPC channel. (For a broader look at how these architectures compare, see our guide on the &lt;a href="https://www.tigera.io/learn/guides/cilium-vs-calico/" rel="noopener noreferrer"&gt;key differences between Calico and Cilium&lt;/a&gt;). Hubble taps into the Cilium gRPC channel and visualizes each flow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Data Types
&lt;/h3&gt;

&lt;p&gt;Cilium uses an internal concept called identities to distinguish resources within clusters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flow Verdicts:&lt;/strong&gt; It tracks the state of every packet: forwarded, dropped, or audited, mapped directly to the Cilium Network Policies enforcing them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enriched Logs:&lt;/strong&gt; Each flow provides a list of information enriched with Kubernetes metadata (Namespace, Owner, Resource).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;L7 Visibility:&lt;/strong&gt; Optionally, Hubble has integrations that can be enabled to provide L7 Visibility. However, since it requires traffic to be redirected to an embedded user-space Envoy proxy for parsing, it introduces an additional latency.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Microsoft Retina
&lt;/h2&gt;

&lt;p&gt;Microsoft Retina is a cloud-agnostic observability platform that leverages the power of eBPF to provide deep, actionable insights into network traffic. Since its open-source debut on &lt;a href="https://github.com/microsoft/retina" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, it was specifically designed to address the challenges of monitoring modern Kubernetes environments, which often span multiple clouds and hybrid deployments.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it Works
&lt;/h3&gt;

&lt;p&gt;The defining feature of Retina is its CNI Agnostic design. Whether you are running Flannel, Calico, Cilium, or Azure CNI, Retina can be used to start collecting data from your environment. By using eBPF programs, Retina offers a transparent, low-overhead window into the kernel’s networking stack without requiring any modifications to your applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Data Types
&lt;/h3&gt;

&lt;p&gt;Retina focuses heavily on actionable metrics for Site Reliability Engineers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enriched Logs:&lt;/strong&gt; Correlates raw IPs with Kubernetes metadata (Namespace, Owner, Resource).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drop Reasons:&lt;/strong&gt; Insights into why a packet was dropped (e.g., IPTABLES_DROP, CONN_TRACK_ERR). Not detailed as others due to policy limitations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNS Latency:&lt;/strong&gt; Specialized metrics to track DNS resolution times and timeout occurrences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TCP State:&lt;/strong&gt; Metrics regarding TCP retransmissions and connection resets, which are vital for debugging latency issues.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Netobserv (Red Hat)
&lt;/h2&gt;

&lt;p&gt;Netobserv (Network Observability Operator) is an OpenShift-native (but Kubernetes compatible) solution that brings flow-based observability to the cluster. It leverages an eBPF agent to generate flows and a flow collector pipeline (often using Loki) to store and query them.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it Works
&lt;/h3&gt;

&lt;p&gt;Netobserv is designed to be a “plug-and-play” flow collection system. It deploys an eBPF agent (Flow Logs Pipeline) to all nodes to sample traffic and export it in the IPFIX standard or JSON. It integrates tightly with the OpenShift console but can be visualized via standard Grafana dashboards in vanilla Kubernetes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Data Types
&lt;/h3&gt;

&lt;p&gt;Netobserv provides a “NetFlow-like” experience for Kubernetes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enriched Logs:&lt;/strong&gt; Correlates raw IPs with Kubernetes metadata (Namespace , Pod, Labels, Resource).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connection Tracking:&lt;/strong&gt; It visualizes traffic as conversations, calculating Round Trip Time (RTT) to help identify network latency versus application processing latency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interface Metrics:&lt;/strong&gt; Visibility into the specific network interfaces (veth pairs, physical nics) where traffic is ingressing or egressing.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While we highlighted multiple choices when it comes to network observability for Kubernetes, &lt;a href="https://www.tigera.io/blog/calico-whisker-in-action-reading-and-understanding-policy-traces/" rel="noopener noreferrer"&gt;Calico Whisker&lt;/a&gt; with its unique design is our recommendation. All you need to consider is the 3 Rules of Kubernetes Network Observability.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 3 Rules of Kubernetes Network Observability
&lt;/h3&gt;

&lt;h3&gt;
  
  
  1. The Native Stack Rule
&lt;/h3&gt;

&lt;p&gt;If you want to be in control of your cluster (on-premises/self-managed), make sure to use a custom CNI which allows you the most control. For example, Calico in such a scenario gives you the most control over your cluster networking and security capabilities. Simply by using Tigera Operator to deploy Calico Whisker observability is achieved and you can go even further using other Calico capabilities to get rid of all other third-party projects and use Calico as your unified network and security platform. This allows you to move beyond flat networks and implement a robust security hierarchy across your entire infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The Cloud Pragmatist Rule
&lt;/h3&gt;

&lt;p&gt;If you are using a cloud-provider setup (managed cluster) with the default CNI (AWS VPC CNI, Azure CNI, etc.), you can still take advantage of other CNI features. In such a setup the default cloud provider CNI will provide the networking foundation and Calico provides the more advanced features such as Observability, Gateway API, WireGuard, and mTLS, allowing you to have the best of both worlds.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The Red Hat Rule
&lt;/h3&gt;

&lt;p&gt;In an OpenShift environment you could choose any of the previous rules depending on your networking choices at the time of cluster creation.&lt;/p&gt;

&lt;p&gt;Keep in mind that NetObserv, and Microsoft Retina can be installed on any cluster and are not locked to any CNIs.&lt;/p&gt;

&lt;p&gt;Regardless of the tool you pick, moving away from individually running &lt;code&gt;tcpdump&lt;/code&gt; on workloads and nodes, toward continuous observability is the only way to maintain a secure and reliable distributed environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Take the Next Step
&lt;/h3&gt;

&lt;p&gt;Ready to master your cluster visibility? Explore these resources to learn more about modern network observability.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/blog/calico-whisker-in-action-reading-and-understanding-policy-traces/" rel="noopener noreferrer"&gt;See it in Action: Try Calico Whisker&lt;br&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/blog/calico-whisker-vs-traditional-observability-why-context-matters-in-kubernetes-networking/" rel="noopener noreferrer"&gt;Deep Dive: Read ‘Why Context Matters in Kubernetes Networking’&lt;br&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/learn/guides/cilium-vs-calico/" rel="noopener noreferrer"&gt;Compare More: Calico vs. Cilium&lt;br&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/kubernetes-network-observability-comparing-calico-cilium-retina-and-netobserv/" rel="noopener noreferrer"&gt;Kubernetes Network Observability: Comparing Calico, Cilium, Retina, and Netobserv&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>observability</category>
      <category>howto</category>
    </item>
    <item>
      <title>Migrating from Ingress NGINX to Calico Ingress Gateway: A Step-by-Step Guide</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Thu, 05 Feb 2026 21:00:48 +0000</pubDate>
      <link>https://dev.to/tigeraio/migrating-from-ingress-nginx-to-calico-ingress-gateway-a-step-by-step-guide-64c</link>
      <guid>https://dev.to/tigeraio/migrating-from-ingress-nginx-to-calico-ingress-gateway-a-step-by-step-guide-64c</guid>
      <description>&lt;h4&gt;
  
  
  From Ingress NGINX to Calico Ingress Gateway
&lt;/h4&gt;

&lt;p&gt;In our previous post, we addressed the &lt;a href="https://www.tigera.io/blog/calico-ingress-gateway-key-faqs-before-migrating-from-nginx-ingress-controller/" rel="noopener noreferrer"&gt;most common questions platform teams are asking as they prepare for the retirement of the NGINX Ingress Controller.&lt;/a&gt; With the March 2026 deadline fast approaching, this guide provides a hands-on, step-by-step walkthrough for migrating to the Kubernetes Gateway API using Calico Ingress Gateway. You will learn how to translate NGINX annotations into HTTPRoute rules, run both models side by side, and safely cut over live traffic.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Brief History
&lt;/h3&gt;

&lt;p&gt;The announced retirement of the NGINX Ingress Controller has created a forced migration path for the many teams that relied on it as the industry standard. While the Ingress API is not yet officially deprecated, the Kubernetes SIG Network has designated the Gateway API as its official successor. Legacy Ingress will no longer receive enhancements and exists primarily for backward compatibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why the Industry is Standardizing on Gateway API
&lt;/h3&gt;

&lt;p&gt;While the Ingress API served the community for years, it reached a functional ceiling. Calico Ingress Gateway implements the Gateway API to provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Role-Oriented Design:&lt;/strong&gt; Clear separation between the infrastructure (managed by SREs) and routing logic (managed by Developers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native Expressiveness:&lt;/strong&gt; Features like URL rewrites and header manipulation are first-class citizens in the spec, not vendor-specific annotations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified Security:&lt;/strong&gt; Ingress traffic is finally governed by the same Calico Network Policies that secure your east-west traffic.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature Comparison&lt;/th&gt;
&lt;th&gt;Calico Ingress Gateway&lt;/th&gt;
&lt;th&gt;Ingress NGINX&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Foundation&lt;/td&gt;
&lt;td&gt;100% based on K8s Gateway API (Vendor-agnostic)&lt;/td&gt;
&lt;td&gt;Built on the legacy Kubernetes Ingress API specification (no longer being enhanced)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lifecycle&lt;/td&gt;
&lt;td&gt;Enterprise support / CVE protection&lt;/td&gt;
&lt;td&gt;No support/updates after March 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Traffic Control&lt;/td&gt;
&lt;td&gt;Wide range of native features&lt;/td&gt;
&lt;td&gt;Less features; reliant on custom annotations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RBAC&lt;/td&gt;
&lt;td&gt;Extremely granular / flexible&lt;/td&gt;
&lt;td&gt;Less flexible / granular&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Installation&lt;/td&gt;
&lt;td&gt;Tigera Operator&lt;/td&gt;
&lt;td&gt;More difficult to install/maintain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unified Platform&lt;/td&gt;
&lt;td&gt;Part of a single solution for networking and security&lt;/td&gt;
&lt;td&gt;A separate product; not part of a unified platform&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Prerequisites &amp;amp; Preparation
&lt;/h2&gt;

&lt;p&gt;Before you begin the migration, ensure your environment meets these requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Calico version&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Calico Open Source 3.30+&lt;/li&gt;
&lt;li&gt;Calico Cloud&lt;/li&gt;
&lt;li&gt;Calico Enterprise 3.21+&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Gateway API CRDs&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Installed automatically by the Tigera Operator&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Ingress inventory&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Audit existing Ingress resources and annotations (timeouts, rewrites, headers)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;TLS&lt;/strong&gt;  &lt;strong&gt;certificates&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;TLS secrets must exist in each gateway namespace&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Create TLS Secrets (Required for HTTPS)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl create secret tls gateway-tls-secret &lt;span class="nt"&gt;-n&lt;/span&gt; your-gateway-namespace &lt;span class="nt"&gt;--cert&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;path/to/tls.crt &lt;span class="nt"&gt;--key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;path/to/tls.key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Migration Guide: Table of Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
Phase 1: Environment Setup &amp;amp; Gateway Deployment

&lt;ul&gt;
&lt;li&gt;• Step 1.1: Enable the Gateway API Resource&lt;/li&gt;
&lt;li&gt;• Step 1.2: Verify Resource Availability&lt;/li&gt;
&lt;li&gt;• Step 1.3: Deploy and Configure the Gateway&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

Phase 2: Transitioning Ingress to HTTPRoute

&lt;ul&gt;
&lt;li&gt;• Translation: NGINX Annotations to HTTPRoute Filters&lt;/li&gt;
&lt;li&gt;• Technical Examples: Path-Based, Rewrites, and HTTPS Redirects&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

Phase 3: Verification &amp;amp; Final Cutover

&lt;ul&gt;
&lt;li&gt;• Parallel Testing and Traffic Weight Shifting&lt;/li&gt;
&lt;li&gt;• Post-Migration Monitoring and Decommissioning&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Migration Walkthrough: NGINX to Gateway API&lt;/p&gt;

&lt;h2&gt;
  
  
  Phase 1: Enabling Calico Ingress Gateway
&lt;/h2&gt;

&lt;p&gt;Setting up the Calico Ingress Gateway involves two main steps: creating the Gateway configuration and deploying the actual Gateway instance.&lt;/p&gt;

&lt;h4&gt;
  
  
  1.1. Enable the Gateway API Resource
&lt;/h4&gt;

&lt;p&gt;First, you need to enable Calico Ingress Gateway capabilities. Calico implements Gateway API by integrating with a hardened Envoy Gateway image that is based in Envoy Gateway 1.3.2.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;kubectl create -f - &amp;lt;&amp;lt;EOF&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;operator.tigera.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;GatewayAPI&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
 &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;default&lt;/span&gt;
&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  1.2. Verify Gateway API Resource Availability
&lt;/h4&gt;

&lt;p&gt;Verify that the Gateway API resources and an Envoy Gateway implementation are available.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Make sure Gateway API resources have been installed&lt;/span&gt;
kubectl api-resources | &lt;span class="nb"&gt;grep &lt;/span&gt;gateway.networking.k8s.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;backendtlspolicies btlspolicy gateway.networking.k8s.io/v1alpha3 true BackendTLSPolicy
gatewayclasses gc gateway.networking.k8s.io/v1 false GatewayClass
gateways gtw gateway.networking.k8s.io/v1 true Gateway
grpcroutes gateway.networking.k8s.io/v1 true GRPCRoute
httproutes gateway.networking.k8s.io/v1 true HTTPRoute
referencegrants refgrant gateway.networking.k8s.io/v1beta1 true ReferenceGrant
tcproutes gateway.networking.k8s.io/v1alpha2 true TCPRoute
tlsroutes gateway.networking.k8s.io/v1alpha2 true TLSRoute
udproutes gateway.networking.k8s.io/v1alpha2. true UDPRoute
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see a list of resources including &lt;code&gt;gatewayclasses&lt;/code&gt;, &lt;code&gt;gateways&lt;/code&gt;, and &lt;code&gt;httproutes&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Next, confirm the Envoy Gateway controller is active:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# There should be an Envoy Gateway implementation&lt;/span&gt;
kubectl get gatewayclass &lt;span class="nt"&gt;-o&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;jsonpath&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'{.items[0].spec}'&lt;/span&gt; | jq
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"controllerName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gateway.envoyproxy.io/gatewayclass-controller"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"parametersRef"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"group"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gateway.envoyproxy.io"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"kind"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"EnvoyProxy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tigera-gateway-class"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"namespace"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tigera-gateway"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  1.3. Deploy and Configure the Gateway
&lt;/h4&gt;

&lt;p&gt;Now, create the Gateway resource. Calico will automatically provision the underlying pods and a LoadBalancer service to handle incoming traffic. In this example we will deploy the Gateway with an HTTPS listener included because security should not be optional. Ideally you will want to automate certificate management.&lt;/p&gt;

&lt;p&gt;In this example we will deploy the Gateway with an HTTPS listener included because security should not be optional. Ideally you will want to automate certificate management. An example of how to do this with Let’s Encrypt can be found at the end of this document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;kubectl create -f - &amp;lt;&amp;lt;EOF&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway.networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Gateway&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
 &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-calico-ingress-gateway&lt;/span&gt;
 &lt;span class="na"&gt;Namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-gateway-namespace&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
 &lt;span class="na"&gt;gatewayClassName&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;tigera-gateway-class&lt;/span&gt;
 &lt;span class="na"&gt;listeners&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
   &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;http&lt;/span&gt;
     &lt;span class="na"&gt;protocol&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;HTTP&lt;/span&gt;
     &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;
   &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https&lt;/span&gt;
     &lt;span class="na"&gt;protocol&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;HTTPS&lt;/span&gt;
     &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;443&lt;/span&gt;
     &lt;span class="na"&gt;hostname&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-domain.com&lt;/span&gt;
     &lt;span class="na"&gt;tls&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
       &lt;span class="na"&gt;mode&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Terminate&lt;/span&gt;
       &lt;span class="na"&gt;certificateRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
       &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Secret&lt;/span&gt;
         &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway-tls-secret&lt;/span&gt;
&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  &lt;strong&gt;Optional: Cross-Namespace Routing with &lt;code&gt;ReferenceGrant&lt;/code&gt;&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;If you plan to have your gateway in one namespace and the services it routes traffic to in another you will need to create a ReferenceGrant. This is a very flexible and secure way to do &lt;a href="https://gateway-api.sigs.k8s.io/api-types/referencegrant/" rel="noopener noreferrer"&gt;cross-namespace routing.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Optional but recommended for cross-namespace routing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;kubectl apply -f - &amp;lt;&amp;lt;EOF&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway.networking.k8s.io/v1beta1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ReferenceGrant&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-reference-grant&lt;/span&gt;
  &lt;span class="na"&gt;namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-workload-namespace&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;from&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;group&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway.networking.k8s.io&lt;/span&gt;
    &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;HTTPRoute&lt;/span&gt;
    &lt;span class="na"&gt;namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-gateway-namespace&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;group&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
    &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Service&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  1.4. Verify the Setup
&lt;/h4&gt;

&lt;p&gt;Check that the Gateway has been assigned a public IP address (or hostname if you are on a cloud provider like AWS/Azure)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl get svc &lt;span class="nt"&gt;-n&lt;/span&gt; tigera-gateway
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
envoy-default-eg-e41e7b31 LoadBalancer 10.108.183.215 192.168.10.120 80:30161/TCP 4d20h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Phase 2: Converting Ingress Resources to Gateway API
&lt;/h3&gt;

&lt;p&gt;The next step is to convert any Ingress resources to the new HTTPRoute resources that are a part of Kubernetes Gateway API.&lt;/p&gt;

&lt;p&gt;When moving from Ingress NGINX Controller to Calico Ingress Gateway, the biggest challenge is moving away from annotations and converting them to &lt;code&gt;HTTPRoute&lt;/code&gt; rules. In the old Ingress model, you had to “hint” at what you wanted using metadata. In the Gateway API, these functions are built directly into the &lt;code&gt;HTTPRoute&lt;/code&gt; spec.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Common Ingress NGINX Controller Annotation Mapping&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Feature&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Path Rewrite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Redirects&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Request Headers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Response Headers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;App Root&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;See the full list of &lt;a href="https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md" rel="noopener noreferrer"&gt;Ingress NGINX Controller annotations&lt;/a&gt; for description of each annotation to help you find the best replacement &lt;a href="https://gateway-api.sigs.k8s.io/guides/http-routing/" rel="noopener noreferrer"&gt;HTTPRoute&lt;/a&gt; rule.&lt;/p&gt;




&lt;h3&gt;
  
  
  Examples of Ingress to HTTPRoute conversion
&lt;/h3&gt;




&lt;h4&gt;
  
  
  Example 1: Basic Path-Based Routing
&lt;/h4&gt;

&lt;p&gt;In this scenario, we are routing traffic to a “backend” service based on the URL path.&lt;/p&gt;

&lt;p&gt;Before: NGINX Ingress (Legacy Configuration)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Ingress&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;basic-ingress&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;http&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/your-api&lt;/span&gt;
        &lt;span class="na"&gt;pathType&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Prefix&lt;/span&gt;
        &lt;span class="na"&gt;backend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;service&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;api-service&lt;/span&gt;
            &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
              &lt;span class="na"&gt;number&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After: Calico HTTPRoute (Gateway API)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway.networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;HTTPRoute&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;api-route&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;parentRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;your-calico-ingress-gateway&lt;/span&gt; &lt;span class="c1"&gt;# References the Gateway we created in Section 3&lt;/span&gt;
  &lt;span class="na"&gt;rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;matches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;PathPrefix&lt;/span&gt;
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/your-api&lt;/span&gt;
    &lt;span class="na"&gt;backendRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;api-service&lt;/span&gt;
      &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Example 2: URL Rewriting &amp;amp; Header Manipulation
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Strip a path prefix and inject a request header.&lt;/p&gt;

&lt;p&gt;This is a more complex example where we need to strip a prefix before the request hits the application and add a custom header. In the NGINX model, this required specific annotations and snippets; in Gateway API, these are handled by native filters.&lt;/p&gt;

&lt;p&gt;Before: NGINX Ingress (Legacy Configuration)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Ingress&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;rewrite-ingress&lt;/span&gt;
  &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;nginx.ingress.kubernetes.io/rewrite-target&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/$2&lt;/span&gt;
    &lt;span class="na"&gt;nginx.ingress.kubernetes.io/configuration-snippet&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
      &lt;span class="s"&gt;more_set_headers "X-Source: Calico-Migration";&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;http&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/old-path(/|$)(.*)&lt;/span&gt;
        &lt;span class="na"&gt;pathType&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ImplementationSpecific&lt;/span&gt;
        &lt;span class="na"&gt;backend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;service&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;app-service&lt;/span&gt;
            &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
              &lt;span class="na"&gt;number&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After: Calico HTTPRoute (Gateway API)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway.networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;HTTPRoute&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;rewrite-route&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;parentRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;calico-ingress&lt;/span&gt;
  &lt;span class="na"&gt;rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;matches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;PathPrefix&lt;/span&gt;
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/old-path&lt;/span&gt;
    &lt;span class="na"&gt;filters&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;URLRewrite&lt;/span&gt;
      &lt;span class="na"&gt;urlRewrite&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ReplacePrefixMatch&lt;/span&gt;
          &lt;span class="na"&gt;replacePrefixMatch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;RequestHeaderModifier&lt;/span&gt;
      &lt;span class="na"&gt;requestHeaderModifier&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;X-Source&lt;/span&gt;
          &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Calico-Migration&lt;/span&gt;
    &lt;span class="na"&gt;backendRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;app-service&lt;/span&gt;
      &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Example 3: Redirect to HTTPS
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Redirect HTTP traffic to HTTPS using a 301.&lt;/p&gt;

&lt;p&gt;Enforcing HTTPS is a production requirement for modern applications. In the legacy NGINX model, this was typically handled via a global or per-Ingress annotation. With Calico Ingress Gateway, since we configured an HTTPS listener in Step 2, we simply add a &lt;code&gt;RequestRedirect&lt;/code&gt; filter to our &lt;code&gt;HTTPRoute&lt;/code&gt; to enforce a permanent 301 redirect.&lt;/p&gt;

&lt;p&gt;Before: NGINX Ingress (Legacy Configuration)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Ingress&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;test-ingress&lt;/span&gt;
  &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;kubernetes.io/ingress.class&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nginx"&lt;/span&gt;
    &lt;span class="na"&gt;nginx.ingress.kubernetes.io/ssl-redirect&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;true"&lt;/span&gt; 
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;foo.example.com&lt;/span&gt;
      &lt;span class="na"&gt;http&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/your-api&lt;/span&gt;
            &lt;span class="na"&gt;pathType&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Prefix&lt;/span&gt;
            &lt;span class="na"&gt;backend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
              &lt;span class="na"&gt;service&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
                &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;api-service&lt;/span&gt;
                &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
                  &lt;span class="na"&gt;number&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After: Calico HTTPRoute (Gateway API)&lt;/p&gt;

&lt;p&gt;Since we configured an HTTPS listener in step 2 we just need to create a filter to redirect everything to HTTPS with a 301 response code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gateway.networking.k8s.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;HTTPRoute&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https-redirect&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;parentRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-gateway&lt;/span&gt;
  &lt;span class="na"&gt;hostnames&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-domain.com"&lt;/span&gt;
  &lt;span class="na"&gt;rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;filters&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;RequestRedirect&lt;/span&gt;
      &lt;span class="na"&gt;requestRedirect&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;scheme&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https&lt;/span&gt;
        &lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;301&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Phase 3: Verification &amp;amp; Cutover Strategies
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Running NGINX and Gateway API Side-by-Side
&lt;/h4&gt;

&lt;p&gt;The final phase of the migration is moving your live traffic from NGINX to the Calico Ingress Gateway.&lt;/p&gt;

&lt;p&gt;Since the two controllers can run simultaneously in the same cluster, you can perform a “canary” style cutover to minimize risk.&lt;/p&gt;

&lt;p&gt;There are two ways to do this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cutover Option 1: Load Balancer Canary Traffic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Configure your load balancer to send a certain percentage of your traffic to the new gateway if there is support for it.  For example:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;AWS Application Load Balancer (ALB):&lt;/strong&gt; Supports canary releases using weighted target groups, allowing you to send a small percentage (e.g., 10%) of traffic to a new version while the rest goes to the old.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Cloud Load Balancing:&lt;/strong&gt; Offers capabilities for percentage-based canaries, often with Cloud Run or GKE, for fine-grained traffic control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Azure Load Balancer/Application Gateway:&lt;/strong&gt; Can be orchestrated with tools for canary strategies, working with services like App Mesh.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cutover Option 2: Parallel Load Balancer Testing&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy&lt;/strong&gt; a second load balancer to send traffic to the gateway&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test&lt;/strong&gt; using the external IP or DNS record&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validate routing with curl:&lt;/strong&gt; Use curl to test the Calico Gateway’s external IP directly to ensure the application responds correctly
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# include the host header if you have hostnames configured in your HTTPRoutes&lt;/span&gt;
curl &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Host: your-domain.com"&lt;/span&gt; http://&amp;lt;CALICO_GATEWAY_LOAD_BALANCER_IP&amp;gt;/your-api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Final Traffic Cutover
&lt;/h2&gt;

&lt;p&gt;Once you have verified that the Calico Ingress Gateway is routing traffic correctly, you can begin transitioning live traffic. In a production environment, your gateway will reside behind a load balancer to which your DNS will route requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Redirect Traffic to the New Gateway
&lt;/h3&gt;

&lt;p&gt;Choose the cutover strategy that best fits your infrastructure:&lt;/p&gt;

&lt;h4&gt;
  
  
  Option 1: DNS-Based Cutover (Parallel Load Balancers)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reduce TTL:&lt;/strong&gt; Lower the Time to Live (TTL) on your DNS records to 5 minutes or less before the move.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update DNS:&lt;/strong&gt; Change your DNS A-records or CNAMEs to point to the new Calico load balancer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintain Fallback:&lt;/strong&gt; Keep the legacy NGINX Controller and its load balancer active for 24–48 hours to allow for an immediate rollback if needed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;— OR —&lt;/p&gt;

&lt;h4&gt;
  
  
  Option 2: Load Balancer Canary Cutover
&lt;/h4&gt;

&lt;p&gt;If you are using a cloud load balancer (e.g., AWS ALB, Azure App Gateway) that supports weighted target groups, incrementally adjust the weights to send 100% of traffic to the Calico Ingress Gateway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this matters:&lt;/strong&gt; Canary-based cutovers allow platform teams to validate real production traffic against the new gateway with minimal risk, making it easier to detect regressions before the final migration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Monitor the Cutover
&lt;/h3&gt;

&lt;p&gt;Watch your Calico logs and metrics to ensure traffic is flowing correctly through the new gateway:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flow Logs:&lt;/strong&gt; Check Calico Enterprise/Cloud flow logs for successful 2xx/3xx response codes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Envoy Metrics:&lt;/strong&gt; Monitor upstream/downstream latency to ensure performance parity with the legacy setup.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 3: Decommissioning NGINX
&lt;/h3&gt;

&lt;p&gt;After the DNS change has propagated and you have confirmed there is no more traffic hitting the old NGINX controller:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delete the legacy Ingress resources: &lt;code&gt;kubectl delete ingress &amp;lt;name&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Uninstall the NGINX Ingress Controller.&lt;/li&gt;
&lt;li&gt;Clean up any remaining NGINX-specific ConfigMaps or Secrets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Only proceed after zero traffic is confirmed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting &amp;amp; FAQ
&lt;/h2&gt;

&lt;p&gt;Migrating infrastructure components can sometimes lead to unexpected behavior. Here are the most common questions and issues platform engineers encounter when moving to Calico Ingress Gateway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question: Can I run both NGINX Ingress and Calico Ingress Gateway at the same time?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; Yes. Since they use different API resources (&lt;code&gt;Ingress&lt;/code&gt; vs. &lt;code&gt;HTTPRoute&lt;/code&gt;) and different controller implementations, they can run side-by-side. This is the recommended way to test your migration before cutting over.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What happens if I have an existing Calico Network Policy?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; Calico Ingress Gateway integrates natively with Calico Network Policies. You can apply policies directly to the Gateway pods to restrict which namespaces or services the Gateway is allowed to talk to, providing much tighter security than a standard NGINX deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: I applied my HTTPRoute, but I’m getting a 404 error. What’s wrong?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; Check the following configuration points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ParentRef:&lt;/strong&gt; Ensure the &lt;code&gt;parentRefs&lt;/code&gt; name in your &lt;code&gt;HTTPRoute&lt;/code&gt; matches the name of your &lt;code&gt;Gateway&lt;/code&gt; resource exactly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Namespace:&lt;/strong&gt; By default, a Gateway only listens to routes in its own namespace. Confirm that the &lt;code&gt;allowedRoutes&lt;/code&gt; field is configured to allow &lt;code&gt;From: All&lt;/code&gt; or that a &lt;code&gt;ReferenceGrant&lt;/code&gt; has been created for cross-namespace routing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hostname:&lt;/strong&gt; If you defined a &lt;code&gt;hostnames&lt;/code&gt; field in the &lt;code&gt;HTTPRoute&lt;/code&gt;, ensure your &lt;code&gt;curl&lt;/code&gt; request or browser is using that exact header.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Q: How do I view logs for the new Gateway?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; Since the Gateway is powered by Envoy, you can view the traffic logs by checking the logs of the pods created in the &lt;code&gt;tigera-gateway&lt;/code&gt; namespace&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# get a list of gateway pods&lt;/span&gt;
kubectl get pods &lt;span class="nt"&gt;-n&lt;/span&gt; tigera-gateway
&lt;span class="c"&gt;# check the logs&lt;/span&gt;
kubectl logs &lt;span class="o"&gt;[&lt;/span&gt;your envoy gateway pod] &lt;span class="nt"&gt;-n&lt;/span&gt; tigera-gateway
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Appendix: Automating Certificate Management (TLS) with Cert-Manager
&lt;/h2&gt;

&lt;p&gt;Manually requesting, applying, and rotating certificates creates significant administrative overhead. If at all possible, this process should be automated. In this example, we will use &lt;strong&gt;cert-manager&lt;/strong&gt; and &lt;strong&gt;Let’s Encrypt&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Install cert-manager
&lt;/h3&gt;

&lt;p&gt;Deploy the latest version of cert-manager to your cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl create &lt;span class="nt"&gt;-f&lt;/span&gt; https://github.com/cert-manager/cert-manager/releases/download/v1.17.2/cert-manager.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Enable Gateway API Support
&lt;/h3&gt;

&lt;p&gt;Patch the cert-manager deployment to enable Gateway API integration. This allows cert-manager to monitor Gateway resources and issue certificates automatically as needed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl patch deployment &lt;span class="nt"&gt;-n&lt;/span&gt; cert-manager cert-manager &lt;span class="nt"&gt;--type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'json'&lt;/span&gt; &lt;span class="nt"&gt;--patch&lt;/span&gt; &lt;span class="s1"&gt;'
[
  {
    "op": "add",
    "path": "/spec/template/spec/containers/0/args/-",
    "value": "--enable-gateway-api"
  }
]'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Configure Let’s Encrypt ClusterIssuer
&lt;/h3&gt;

&lt;p&gt;Deploy a cluster-scoped &lt;code&gt;ClusterIssuer&lt;/code&gt; to configure Let’s Encrypt as your Certificate Authority. This is configured to verify domain ownership via the HTTP-01 challenge by routing validation traffic directly through the Calico Ingress Gateway.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;kubectl create -f -&amp;lt;&amp;lt;EOF&lt;/span&gt;
&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;cert-manager.io/v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ClusterIssuer&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;letsencrypt&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;acme&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;server&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://acme-v02.api.letsencrypt.org/directory&lt;/span&gt;
    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;lt;USER-YOUR-EMAIL-HERE&amp;gt;&lt;/span&gt;
    &lt;span class="na"&gt;privateKeySecretRef&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;letsencrypt-account-key&lt;/span&gt;
    &lt;span class="na"&gt;solvers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;http01&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;gatewayHTTPRoute&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;parentRefs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Gateway&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;calico-demo-gw&lt;/span&gt;
            &lt;span class="na"&gt;namespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;default&lt;/span&gt;
&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Annotate Gateways for Certificate Management
&lt;/h3&gt;

&lt;p&gt;Annotate each gateway that needs to handle HTTPS to link it with the ClusterIssuer&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl annotate &lt;span class="nt"&gt;--overwrite&lt;/span&gt; gateway/your-calico-ingress-gateway &lt;span class="nt"&gt;-n&lt;/span&gt; your-gateway-namespace cert-manager.io/cluster-issuer&lt;span class="o"&gt;=&lt;/span&gt;letsencrypt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;—&lt;/p&gt;

&lt;h2&gt;
  
  
  Migration Summary
&lt;/h2&gt;

&lt;p&gt;Migrating from the NGINX Ingress Controller to the Kubernetes Gateway API modernizes how ingress traffic is defined and managed in Kubernetes. While the Ingress API remains for backward compatibility, it has reached its limits and relies heavily on controller-specific annotations.&lt;/p&gt;

&lt;p&gt;Using Gateway API with Calico Ingress Gateway gives platform teams a clear separation between infrastructure and application routing, with features like rewrites, redirects, header manipulation, and TLS expressed directly in the API. Ingress traffic is also governed by the same Calico Network Policies used for east-west traffic, creating a consistent and auditable security model.&lt;/p&gt;

&lt;p&gt;This migration can be performed incrementally, with NGINX Ingress and Gateway API running side by side until the new configuration is fully validated. For teams responding to the retirement of NGINX Ingress, Calico Ingress Gateway provides a production-ready, low-risk path to align with the Kubernetes ecosystem’s direction.&lt;/p&gt;

&lt;p&gt;—&lt;/p&gt;

&lt;h2&gt;
  
  
  Start Your Gateway API Migration with Calico
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Convert existing NGINX Ingress resources automatically&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Use the Ingress-to-Gateway API migration tool to generate HTTPRoute resources from your current NGINX Ingress configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kubernetes-sigs/ingress2gateway/blob/main/pkg/i2gw/providers/ingressnginx/README.md" rel="noopener noreferrer"&gt;→ Ingress to Gateway API migration tool&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See the migration in action&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Follow along with a live, step-by-step walkthrough of migrating from NGINX Ingress to Calico Ingress Gateway.&lt;/p&gt;

&lt;p&gt;→ Launch Arcade Demo&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get expert guidance from Tigera&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Talk to the Tigera team about your ingress architecture and see Calico Ingress Gateway in action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tigera.io/demo/" rel="noopener noreferrer"&gt;Request a Demo →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/migrating-from-nginx-ingress-to-calico-ingress-gateway-a-step-by-step-guide/" rel="noopener noreferrer"&gt;Migrating from Ingress NGINX to Calico Ingress Gateway: A Step-by-Step Guide&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>calicoingressgateway</category>
      <category>nginxingresscontroll</category>
    </item>
    <item>
      <title>Calico Ingress Gateway: Key FAQs Before Migrating from NGINX Ingress Controller</title>
      <dc:creator>Alister Baroi</dc:creator>
      <pubDate>Tue, 03 Feb 2026 23:39:01 +0000</pubDate>
      <link>https://dev.to/tigeraio/calico-ingress-gateway-key-faqs-before-migrating-from-nginx-ingress-controller-e5g</link>
      <guid>https://dev.to/tigeraio/calico-ingress-gateway-key-faqs-before-migrating-from-nginx-ingress-controller-e5g</guid>
      <description>&lt;h3&gt;
  
  
  What Platform Teams Need to Know Before Moving to Gateway API
&lt;/h3&gt;

&lt;p&gt;We recently sat down with representatives from 42 companies to discuss a pivotal moment in Kubernetes networking: &lt;strong&gt;the NGINX Ingress retirement.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the March 2026 retirement of the NGINX Ingress Controller fast approaching, platform teams are now facing a hard deadline to modernize their ingress strategy. This urgency was reflected in our recent workshop, “&lt;a href="https://www.tigera.io/event/calico-demo-switching-from-nginx-ingress-controller-to-calico-ingress-gateway/" rel="noopener noreferrer"&gt;Switching from NGINX Ingress Controller to Calico Ingress Gateway&lt;/a&gt;” which saw an overwhelming turnout, with engineers representing a cross-section of the industry, from financial services to high-growth tech startups.&lt;/p&gt;

&lt;p&gt;During the session, the Tigera team highlighted a hard truth for platform teams: &lt;strong&gt;the original Ingress API was designed for a simpler era.&lt;/strong&gt; Today, teams are struggling to manage production traffic through “annotation sprawl”—a web of brittle, implementation-specific hacks that make multi-tenancy and consistent security an operational nightmare.&lt;/p&gt;

&lt;p&gt;The move to the &lt;a href="https://www.tigera.io/blog/is-it-time-to-migrate-a-practical-look-at-kubernetes-ingress-vs-gateway-api/" rel="noopener noreferrer"&gt;Kubernetes Gateway API&lt;/a&gt; isn’t just a mandatory update; it’s a graduation to a role-oriented, expressive networking model. We’ve previously explored this shift in our blogs on &lt;a href="https://www.tigera.io/blog/nginx-is-retiring-your-step-by-step-guide-to-replacing-ingress-nginx/" rel="noopener noreferrer"&gt;Understanding the NGINX Retirement&lt;/a&gt; and &lt;a href="https://www.tigera.io/blog/ingress-nginx-controller-is-dead-should-you-move-to-gateway-api/" rel="noopener noreferrer"&gt;Why the Ingress NGINX Controller is Dead.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq9zen5rzajj2epgyqhv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq9zen5rzajj2epgyqhv.png" width="800" height="354"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Bridging the Role Gap: Transitioning from the flat, annotation-heavy Ingress model to the role-oriented Kubernetes Gateway API.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After the workshop, we narrowed down the top questions keeping platform engineers up at night. Here is a detailed breakdown of those key concerns and our answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Question 1: Can I use the upstream Envoy Gateway as a PoC before moving to Calico Ingress?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; Yes. Calico Ingress Gateway is built on a &lt;strong&gt;100% upstream distribution of Envoy Gateway.&lt;/strong&gt; Because we maintain strict compatibility with the &lt;a href="https://gateway-api.sigs.k8s.io/" rel="noopener noreferrer"&gt;Kubernetes Gateway API standard&lt;/a&gt;, you can confidently start a Proof of Concept (PoC) using standard Envoy Ingress Gateway.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5plhr45ulv5mtaa22fb6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5plhr45ulv5mtaa22fb6.png" width="800" height="411"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;High-Performance Architecture: How the Calico Ingress Gateway control plane translates your intent into actionable configuration for the Envoy Proxy data plane.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you are ready to transition to production, the upgrade to Calico is seamless. You gain access to enterprise-grade security hardening and full lifecycle management via the Tigera Operator, which handles the complex deployment and maintenance tasks for you. This allows you to “start standard” and “scale for the enterprise” without rewriting your configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Question 2: What is the difference between Calico Open Source and Calico Enterprise in terms of Gateway API features?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; Both versions provide a solid foundation by supporting the core Gateway API spec. However, &lt;a href="https://www.tigera.io/tigera-products/calico-enterprise/" rel="noopener noreferrer"&gt;Calico Enterprise&lt;/a&gt; is designed for mission-critical environments where visibility and security are paramount.&lt;/p&gt;

&lt;p&gt;Key additions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Advanced Security:&lt;/strong&gt; Out-of-the-box integration for a Web Application Firewall (WAF) and IDS/IPS directly at the cluster edge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deep Observability:&lt;/strong&gt; While open source provides basic metrics, Enterprise delivers detailed flow logs and real-time visualization via the &lt;a href="https://www.tigera.io/features/dynamic-service-graph/" rel="noopener noreferrer"&gt;Dynamic Service Graph&lt;/a&gt;, allowing you to see exactly how traffic traverses your ingress layer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lifecycle Support:&lt;/strong&gt; Access to 24/7 technical support and CVE-scanned, “hardened” images.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foujg5l4ezjwfeanhxxg8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foujg5l4ezjwfeanhxxg8.png" width="800" height="180"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Calico Ingress Gateway integrates seamlessly with the broader Calico Cloud framework to provide unified security, from WAF and IDS/IPS to deep network observability.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Question 3: What exactly does a “hardened” image mean? Are they modified, security-validated, or aligned with compliance requirements?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; In the Tigera ecosystem, “hardening” is a multi-layered security process. We don’t just pull images from public registries; we rebuild our Envoy images using secure, minimal base images to reduce the attack surface.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Security Validation:&lt;/strong&gt; Every image undergoes continuous CVE scanning and vulnerability patching.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance Alignment:&lt;/strong&gt; Our build process is designed to meet rigorous standards like FIPS 140-2, ensuring that the traffic entry point for your cluster meets the same compliance requirements (such as PCI DSS or SOC 2) as your internal workloads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Question 4: Do I need to install the Calico CNI to use Calico Ingress Gateway?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; No. You do not need the Calico CNI to run the Gateway. While there are “better together” security benefits when using Calico Networking and the Gateway together, the solution is designed to be highly compatible with standard environments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Broad Compatibility:&lt;/strong&gt; You can deploy it as a standalone Gateway API implementation on clusters using Flannel, AWS VPC CNI, Azure VNET CNI, or other standard cloud-native providers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed Service Support:&lt;/strong&gt; It is fully supported on EKS, AKS, and GKE.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a full list of supported platforms and installation steps, check out the &lt;a href="https://docs.tigera.io/calico/latest/networking/ingress-gateway/about-calico-ingress-gateway" rel="noopener noreferrer"&gt;Calico Ingress Gateway documentation.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Question 5: Can I migrate incrementally, or is it an “all-or-nothing” big bang?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A: Incremental migration is highly recommended&lt;/strong&gt;. One of the greatest strengths of the Gateway API is that it can run side-by-side with your existing NGINX Controller.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deploy the New Gateway:&lt;/strong&gt; Set up Calico Ingress Gateway without touching your existing traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Migrate by Route:&lt;/strong&gt; Use the &lt;a href="https://www.tigera.io/blog/securing-kubernetes-traffic-with-calico-ingress-gateway/" rel="noopener noreferrer"&gt;HTTPRoute resource&lt;/a&gt; to move low-risk applications one at a time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weighted Shift:&lt;/strong&gt; Leverage weighted load balancing at the DNS or cloud load balancer level to shift a small percentage (e.g., 5-10%) of traffic to the new gateway, validating performance before the final cutover.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff61n4zp3i4x4vnqzia1s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff61n4zp3i4x4vnqzia1s.png" width="800" height="314"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Risk-Reduced Rollouts: Using native Gateway API traffic splitting to shift traffic gradually from NGINX to Calico without a “big bang” cutover.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Question 6: Are there any recommendations or best practices for capturing and evaluating performance with Gateway API?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; Evaluation should be data-driven. We recommend establishing a baseline using Envoy’s native telemetry before and after the move. Key metrics to track include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Upstream/Downstream Latency:&lt;/strong&gt; Measured end-to-end to ensure your data plane meets SLAs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Plane Apply Time:&lt;/strong&gt; Monitor how long it takes for new routing rules to propagate (Calico metrics provide high visibility here).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Rates (4xx/5xx):&lt;/strong&gt; Use Calico’s observability tools to quickly identify if an error is due to a misconfigured &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec/" rel="noopener noreferrer"&gt;ReferenceGrant&lt;/a&gt; or a TLS handshake failure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Migrating from Ingress API to Gateway API
&lt;/h2&gt;

&lt;p&gt;In our recent workshop, we introduced the Ingress-to-Gateway Migration Tool, an open-source utility designed to automate the heavy lifting of manifest conversion. During the live demo, we successfully migrated NGINX-based setups, highlighting a few key operational realities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automation is the Foundation:&lt;/strong&gt; The tool automatically translates standard NGINX annotations (like weighted traffic and canary rules) into standardized Gateway API resources like &lt;code&gt;HTTPRoute&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The “Manual” Edge:&lt;/strong&gt; For sophisticated configurations such as complex OIDC flows or custom Lua snippets human review is still necessary. As Meysam Kamali noted during the session: “Automated tools are an incredible accelerator, but ensure you verify complex rules manually to ensure production-grade security.”&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Your Roadmap to Modern Ingress
&lt;/h2&gt;

&lt;p&gt;The questions we received from over 40 companies confirm that the community is ready for a more robust and role-oriented way to handle traffic. The retirement of Ingress NGINX is not just a challenge to overcome. It is an opportunity to build a more secure and scalable platform for the future.&lt;/p&gt;

&lt;p&gt;Many of you asked whether migration can be incremental. The answer is a resounding yes. In our upcoming migration guide, we will walk through the exact steps, manifests, and traffic-shifting strategies needed to move safely and confidently from NGINX Ingress to Gateway API using Calico Ingress Gateway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming next: A step-by-step NGINX controller migration guide
&lt;/h2&gt;

&lt;p&gt;In the guide, learn how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enable&lt;/strong&gt; Calico Ingress Gateway and Gateway API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Map&lt;/strong&gt; NGINX annotations to HTTPRoute resources&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run&lt;/strong&gt; NGINX Ingress and Gateway API side by side&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configure&lt;/strong&gt; TLS, redirects, rewrites, and header manipulation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Perform&lt;/strong&gt; canary traffic shifts, validation, and safe cutover&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Troubleshoot&lt;/strong&gt; common migration issues&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  See the Migration in Action
&lt;/h3&gt;

&lt;p&gt;With the March 2026 NGINX retirement deadline approaching, don’t wait to modernize your stack. Watch our on-demand workshop to see a step-by-step demonstration of migrating traffic from Ingress NGINX to Calico Ingress Gateway in a production environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://admin.goldcast.io/shared/clip/a0c78716-d254-41af-b954-c28b19418770" rel="noopener noreferrer"&gt;Watch the Workshop →&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.tigera.io/demo/" rel="noopener noreferrer"&gt;Request a Demo →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Prefer the technical docs? Get a sneak peek of the upcoming &lt;a href="https://www.tigera.io/blog/securing-kubernetes-traffic-with-calico-ingress-gateway" rel="noopener noreferrer"&gt;migration guide here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.tigera.io/blog/calico-ingress-gateway-key-faqs-before-migrating-from-nginx-ingress-controller/" rel="noopener noreferrer"&gt;Calico Ingress Gateway: Key FAQs Before Migrating from NGINX Ingress Controller&lt;/a&gt; appeared first on &lt;a href="https://www.tigera.io" rel="noopener noreferrer"&gt;Tigera - Creator of Calico&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technicalblog</category>
      <category>nginxingresscontroll</category>
    </item>
  </channel>
</rss>
