Binary install without package manager
Download and install the binary
Use the following command to download the calico/node image.
docker pull calico/node:v3.9.3
Confirm that the image has loaded by typing
REPOSITORY TAG IMAGE ID CREATED SIZE calico/node v3.9.3 e07d59b0eb8a 2 minutes ago 42MB
Create a temporary calico/node container.
docker create --name container calico/node:v3.9.3
Copy the calico-node binary from the container to the local file system.
docker cp container:/bin/calico-node calico-node
Delete the temporary container.
docker rm container
Set the extracted binary file to be executable.
chmod +x calico-node
Create a start-up script
Felix should be started at boot by your init system and the init system must be configured to restart Felix if it stops. Felix relies on that behavior for certain configuration changes.
If your distribution uses systemd, then you could use the following unit file:
[Unit] Description=Calico Felix agent After=syslog.target network.target [Service] User=root ExecStartPre=/usr/bin/mkdir -p /var/run/calico ExecStart=/usr/local/bin/calico-node -felix KillMode=process Restart=on-failure LimitNOFILE=32000 [Install] WantedBy=multi-user.target
Or, for upstart:
description "Felix (Calico agent)" author "Project Calico Maintainers <firstname.lastname@example.org>" start on stopped rc RUNLEVEL= stop on runlevel [!2345] limit nofile 32000 32000 respawn respawn limit 5 10 chdir /var/run pre-start script mkdir -p /var/run/calico chown root:root /var/run/calico end script exec /usr/local/bin/calico-node -felix
Optionally, you can create a file at
configure Felix. The configuration file as well as other options for
configuring Felix (including environment variables) are described in
If etcd is not running on the local machine, it’s essential to configure
EtcdEndpoints setting to tell Felix how to reach
Felix tries to detect whether IPv6 is available on your platform but
the detection can fail on older (or more unusual) systems. If Felix
exits soon after startup with
iptables errors try
Ipv6Support setting to
Once you’ve configured Felix, start it up via your init system.
service calico-felix start
Running Felix manually
For debugging, it’s sometimes useful to run Felix manually and tell it to emit its logs to screen. You can do that with the following command.
ETCD_ENDPOINTS=http://<ETCD_IP>:<ETCD_PORT> FELIX_LOGSEVERITYSCREEN=INFO /usr/local/bin/calico-node -felix
Note: Add the
ETCD_ENDPOINTSEnv and replace
<ETCD_IP>:<ETCD_PORT>with your etcd configuration when etcd isn’t running locally.