Skip to main content
Calico Open Source 3.29 (latest) documentation

Networking

The Calico network plugins provide a range of networking options to fit your implementation and maximize performance.

Getting started

Determine best networking option

Learn about the different networking options Calico supports so you can choose the best option for your needs.

About Networking

Learn about networking!

About Kubernetes Networking

Learn about Kubernetes networking!

Configuring networking

Configure BGP peering

Configure BGP peering with full mesh, node-specific peering, ToR, and/or Calico route reflectors.

Overlay networking

Configure Calico to use IP in IP or VXLAN overlay networking so the underlying network doesn’t need to understand pod addresses.

Advertise Kubernetes service IP addresses

Configure Calico to advertise Kubernetes service cluster IPs and external IPs outside the cluster using BGP.

Configure MTU to maximize network performance

Optimize network performance for workloads by configuring the MTU in Calico to best suit your underlying network.

Configure outgoing NAT

Configure networking to perform outbound NAT for connections from pods to outside of the cluster.

Use IPVS kube-proxy

Use IPVS kube-proxy for performance improvements.

Accelerate Istio network performance

Use Calico to accelerate network performance of traffic through the Istio Envoy sidecar using eBPF.

Use a specific MAC address for a pod

Specify the MAC address for a pod instead of allowing the operating system to assign one

IP address management

Get started with IP address management

Configure Calico to use Calico IPAM or host-local IPAM, and when to use one or the other.

Create multiple IP pools

Create multiple IP pools

Configure IP autodetection

Calico IP autodetection ensures the correct IP address is used for routing. Learn how to customize it.

Configure dual stack or IPv6 only

Configure dual stack or IPv6 only for workloads.

Configure Kubernetes control plane to operate over IPv6

Configure the Kubernetes control plane to operate over IPv6 for dual stack or IPv6 only.

Add a floating IP to a pod

Configure one or more floating IPs to use as additional IP addresses for reaching a Kubernetes pod.

Use a specific IP address with a pod

Specify the IP address for a pod instead of allowing Calico to automatically choose one.

Assign IP addresses based on topology

Configure Calico to use specific IP pools for different topologies including zone, rack, or region.

Migrate from one IP pool to another

Migrate pods from one IP pool to another on a running cluster without network disruption.

Change IP pool block size

Expand or shrink the IP pool block size to efficiently manage IP pool addresses.

Restrict a pod to use an IP address in a specific range

Restrict the IP address chosen for a pod to a specific range of IP addresses.

Networking for OpenStack

Set up a development machine

Configure Calico networking for OpenStack VMs.

Prepare a VM guest OS for IPv6

Prepare a VM guest OS for IPv6.

IP addressing and connectivity

Configure OpenStack networking for Calico.

Endpoint labels and operator policy

Use Calico labels to define policy for OpenStack VMs.

Configure systems for use with Calico

Configure OpenStack components for Calico.

Detailed semantics

Calico provides connectivity that is different from traditional Neutron API semantics.

Floating IPs

Configure floating IPs in Calico for OpenStack.

Service IPs

Use a floating or fixed IP for a Calico-networked VM.

Host routes

Options for host routing with Calico.

Multiple regions

Install a multi-region OpenStack deployment with Calico.

Kuryr

Use Kuryr with Calico networking.

Calico's interpretation of Neutron API calls

Effects of the Neutron API calls on the network.

Networking options with Calico Cloud

Egress gateways

Configure specific application traffic to exit the cluster through an egress gateway.