Deploying Calico on Azure
Calico in Microsoft Azure is supported in policy-only mode. Calico IPAM needs to be configured in host-local mode and used in conjunction with Kubernetes pod CIDR assignments. Additional option would be to use Canal - Calico with flannel networking.
Azure user-defined routes (Azure UDR)
Refer to the following Kubernetes self-hosted install guide in the Canal project for details on installing Calico with flannel.
Enabling IP forwarding (only for Azure UDR)
To allow pod traffic make sure VM network interfaces have IP forwarding enabled in Azure.
Enabling Kubernetes pod CIDR assignment (only for Azure UDR)
To enable automatic pod CIDR assignment make sure Kubernetes controller manager has
allocate-node-cidrs set to
and a proper subnet in the
cluster-cidr parameter. Make sure that the selected pod’s subnet is a part of your Azure virtual network IP range.
You also must have Kubernetes Azure cloud provider configured with your routing table name in configuration file.
Why doesn’t Azure support Calico networking?
Azure does not allow BGP, IPIP traffic, and traffic with unknown source IPs.