Skip to main content
Calico Enterprise 3.23 (latest) documentation

Host paths used by Calico Enterprise components

Several Calico Enterprise components mount directories or files from the host node. If an admission policy, such as Kyverno or OPA Gatekeeper, limits the host paths that pods can use, it must allow these paths, or the components fail to start.

Use this page to build or check your allow-list before you install or upgrade. Each table lists the host paths for one component:

  • Volume is the volume name in the pod spec.
  • Access is read-only or read-write. "Not mounted" means the volume is declared in the pod spec but no container mounts it. Policies that inspect pod volumes still see it.
  • When present says whether the path is always there or depends on your configuration.
  • Added in shows the 3.23 patch release that added the path. It is blank for paths that were present in 3.23.0.

Host paths added in 3.23​

Host pathComponentAdded in
/sys/kernel/securitycalico-node3.23.2

For upgrade guidance, see the 3.23.2 release notes.

calico-node​

The calico-node DaemonSet runs on every Linux node, in the calico-system namespace.

Host pathVolumeAccessWhen presentAdded in
/lib/moduleslib-modulesRead-onlyAlways
/run/xtables.lockxtables-lockRead-writeAlways
/var/run/nodeagentpolicysyncRead-writeAlways
/var/run/calicovar-run-calicoRead-writeAlways
/var/lib/calicovar-lib-calicoRead-writeAlways
/var/log/calicovar-log-calicoRead-writeAlways
/sys/fssys-fsRead-writeAlways, for the init container
/sys/fs/bpfbpffsRead-writeAlways
/procnodeprocRead-onlyAlways, for the init container
/sys/kernel/securitysys-kernel-securityRead-onlyAlways3.23.2
CNI binary directorycni-bin-dirRead-writeWhen the CNI plugin is Calico
CNI configuration directorycni-net-dirRead-writeWhen the CNI plugin is Calico
/var/log/calico/cnicni-log-dirNot mountedWhen the CNI plugin is Calico
FlexVolume directory, plus nodeagent~udsflexvol-driver-hostRead-writeUnless flexVolumePath is None
/var/lib/calico/felix-pluginsfelix-pluginsRead-onlyWhen the Linux data plane is VPP

The CNI and FlexVolume directories depend on your platform. See Default CNI and FlexVolume directories.

calico-node for Windows​

The calico-node-windows DaemonSet runs on Windows nodes, in the calico-system namespace, when the Windows data plane is enabled.

Host pathVolumeAccessWhen presentAdded in
/var/run/calicovar-run-calicoRead-writeAlways
/var/lib/calicovar-lib-calicoRead-writeAlways
/var/log/calicovar-log-calicoRead-writeAlways
Windows CNI binary directorycni-bin-dirRead-writeWhen the CNI plugin is Calico
Windows CNI configuration directorycni-net-dirRead-writeWhen the CNI plugin is Calico
Windows CNI log directorycni-log-dirNot mountedWhen the CNI plugin is Calico
/lib/moduleslib-modulesNot mountedAlways
/run/xtables.lockxtables-lockNot mountedAlways
/var/run/nodeagentpolicysyncNot mountedAlways

CSI node driver​

The csi-node-driver DaemonSet runs on every Linux node, in the calico-system namespace, unless kubeletVolumePluginPath is None. The kubelet directory defaults to /var/lib/kubelet, and you can change it with kubeletVolumePluginPath in the Installation resource.

Host pathVolumeAccessWhen presentAdded in
/var/runvarrunRead-writeAlways
Kubelet directorykubelet-dirRead-writeAlways
Kubelet directory, plus /plugins/csi.tigera.iosocket-dirRead-writeAlways
Kubelet directory, plus /plugins_registryregistration-dirRead-writeAlways

Log collector​

The fluentd-node DaemonSet runs in the tigera-fluentd namespace when the LogCollector resource exists.

Host pathVolumeAccessWhen presentAdded in
/var/log/calicovar-log-calicoRead-writeAlways
c:/TigeraCalicovar-log-calicoRead-writeOn fluentd-node-windows, when the cluster has Windows nodes

L7 log collector​

The l7-log-collector DaemonSet runs in the calico-system namespace when the ApplicationLayer resource exists.

Host pathVolumeAccessWhen presentAdded in
/var/run/l7-collectorl7-collector-socksRead-writeWhen L7 log collection or sidecar injection is enabled
/var/run/dikastesdikastes-syncRead-writeWhen the web application firewall, application layer policy, or sidecar injection is enabled
/var/log/calicovar-log-calicoRead-writeWhen the web application firewall or sidecar injection is enabled

Deep packet inspection​

The tigera-dpi DaemonSet runs in the tigera-dpi namespace when at least one DeepPacketInspection resource exists.

Host pathVolumeAccessWhen presentAdded in
/var/log/calico/snort-alertslog-snort-altersRead-writeAlways

Intrusion detection​

The intrusion-detection-controller Deployment runs in the tigera-intrusion-detection namespace.

Host pathVolumeAccessWhen presentAdded in
/var/log/calicovar-log-calicoRead-writeWhen the LogCollector forwards IDS events to syslog

API server audit logs​

One of these workloads runs in the calico-system namespace, depending on how the Calico Enterprise API is served.

Host pathVolumeAccessWhen presentAdded in
/var/log/calico/auditcalico-audit-logsRead-writeOn calico-apiserver, when the API server runs as an aggregation API server
/var/log/calico/auditaudit-logsRead-writeOn calico-webhooks, when the cluster uses projectcalico.org/v3 CRDs

Compliance​

The compliance workloads run in the tigera-compliance namespace when the Compliance resource exists.

Host pathVolumeAccessWhen presentAdded in
/var/lib/etcdvar-lib-etcdRead-onlyOn compliance-benchmarker
/var/lib/kubeletvar-lib-kubeletRead-onlyOn compliance-benchmarker
/etc/systemdetc-systemdRead-onlyOn compliance-benchmarker
/etc/kubernetesetc-kubernetesRead-onlyOn compliance-benchmarker
/usr/binusr-binRead-onlyOn compliance-benchmarker
/home/kuberneteshome-kubernetesRead-onlyOn compliance-benchmarker, on GKE
/var/log/calicovar-log-calicoRead-writeOn compliance reporter pods

Default CNI and FlexVolume directories​

The operator sets these directories when the Installation resource does not. You can set the CNI directories with cni.binDir and cni.confDir, the Windows CNI directories with windowsNodes, and the FlexVolume directory with flexVolumePath. For details, see the Installation resource reference.

PlatformCNI binary directoryCNI configuration directoryFlexVolume directory
OpenShift/var/lib/cni/bin/var/run/multus/cni/net.d/etc/kubernetes/kubelet-plugins/volume/exec/
GKE/home/kubernetes/bin/etc/cni/net.d/home/kubernetes/flexvolume/
AKS/opt/cni/bin/etc/cni/net.d/etc/kubernetes/volumeplugins/
RKE2/opt/cni/bin/etc/cni/net.d/var/lib/kubelet/volumeplugins/
All others/opt/cni/bin/etc/cni/net.d/usr/libexec/kubernetes/kubelet-plugins/volume/exec/

On Windows nodes, the CNI binary and configuration directories default to /k/azurecni/bin and /k/azurecni/netconf on AKS, /Program Files/Amazon/EKS/cni and /Program Files/Amazon/EKS/cni/config on EKS, and /opt/cni/bin and /etc/cni/net.d elsewhere. The Windows CNI log directory is /var/log/calico/cni.

Additional resources​