Configure calicoctl
About configuring calicoctl
Most calicoctl
commands require access to the Calico datastore. By default, calicoctl
will attempt to read from the Kubernetes API based on the default kubeconfig.
You can configure calicoctl
with alternative datastore access information using either of the following methods.
-
Configuration file: by default,
calicoctl
will look for a configuration file at/etc/calico/calicoctl.cfg
. You can override this using the--config
option with commands that require datastore access. The file can be in either YAML or JSON format. It must be valid and readable bycalicoctl
. A YAML example follows.apiVersion: projectcalico.org/v3 kind: CalicoAPIConfig metadata: spec: datastoreType: "etcdv3" etcdEndpoints: "http://etcd1:2379,http://etcd2:2379" ...
-
Environment variables: If
calicoctl
cannot locate, read, or access a configuration file, it will check a specific set of environment variables.
Refer to the section that corresponds to your datastore type for a full set of options and examples.
Note: When running
calicoctl
inside a container, any environment variables and configuration files must be passed to the container so they are available to the process inside. It can be useful to keep a running container (that sleeps) configured for your datastore, then it is possible toexec
into the container and have an already configured environment.