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.