Calico Architecture Overview

Calico Architecture Overview An architecture diagram generated by Archify. kube-controllers · syncs k8s resources with Calico · Control plane kube-controllers syncs k8s resources with Calico Calico API Server · API aggregation layer · Control plane Calico API Server API aggregation layer etcd · alternative datastore · Datastore · optional etcd alternative datastore optional Kubernetes API · datastore (source of truth) · Datastore Kubernetes API datastore (source of truth) Typha · caching proxy · Architecture component · dedicated pods Typha caching proxy dedicated pods Felix · programs routes + ACLs · Every node (calico-node) Felix programs routes + ACLs confd · generates BIRD config · Every node (calico-node) confd generates BIRD config iptables / eBPF · packet data plane · Every node (calico-node) iptables / eBPF packet data plane BIRD · BGP daemon · Every node (calico-node) BIRD BGP daemon BIRD on other nodes · BGP peers · Architecture component BIRD on other nodes BGP peers watches / syncs aggregates or etcd watch fan-out fan-out programs BIRD config BGP routes Control plane Datastore Every node (calico-node) Legend Backend Database Security External

Control plane

  • • kube-controllers syncs Kubernetes resources with Calico
  • • Calico API Server exposes Calico resources via Kubernetes API aggregation
  • • Typha (dedicated pods) caches datastore state to reduce API server load

Every node

  • • Felix programs routes and ACLs on each host
  • • confd watches the datastore and generates BIRD config
  • • BIRD distributes routes to peers over BGP