Rancher deploys an agent on each node to communicate with the node. This pages describes the options that can be passed to the agent. To use these options, you will need to create a cluster with custom nodes and add the options to the generated docker run command when adding a node.
For an overview of how Rancher communicates with downstream clusters using node agents, refer to the architecture section.
General options
Parameter
Environment variable
Description
--server
CATTLE_SERVER
The configured Rancher server-url setting which the agent connects to
--token
CATTLE_TOKEN
Token that is needed to register the node in Rancher
--ca-checksum
CATTLE_CA_CHECKSUM
The SHA256 checksum of the configured Rancher cacerts setting to validate
--node-name
CATTLE_NODE_NAME
Override the hostname that is used to register the node (defaults to hostname -s)
--label
CATTLE_NODE_LABEL
Add node labels to the node. For multiple labels, pass additional --label options. (--label key=value)
--taints
CATTLE_NODE_TAINTS
Add node taints to the node. For multiple taints, pass additional --taints options. (--taints key=value:effect)
Role options
Parameter
Environment variable
Description
--all-roles
ALL=true
Apply all roles (etcd,controlplane,worker) to the node
--etcd
ETCD=true
Apply the role etcd to the node
--controlplane
CONTROL=true
Apply the role controlplane to the node
--worker
WORKER=true
Apply the role worker to the node
IP address options
Parameter
Environment variable
Description
--address
CATTLE_ADDRESS
The IP address the node will be registered with (defaults to the IP used to reach 8.8.8.8)
--internal-address
CATTLE_INTERNAL_ADDRESS
The IP address used for inter-host communication on a private network
Dynamic IP address options
For automation purposes, you can't have a specific IP address in a command as it has to be generic to be used for every node. For this, we have dynamic IP address options. They are used as a value to the existing IP address options. This is supported for --address and --internal-address.
Value
Example
Description
Interface name
--address eth0
The first configured IP address will be retrieved from the given interface
ipify
--address ipify
Value retrieved from https://api.ipify.org will be used
awslocal
--address awslocal
Value retrieved from http://169.254.169.254/latest/meta-data/local-ipv4 will be used
awspublic
--address awspublic
Value retrieved from http://169.254.169.254/latest/meta-data/public-ipv4 will be used
doprivate
--address doprivate
Value retrieved from http://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address will be used
dopublic
--address dopublic
Value retrieved from http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address will be used
azprivate
--address azprivate
Value retrieved from http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/privateIpAddress?api-version=2017-08-01&format=text will be used
azpublic
--address azpublic
Value retrieved from http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-08-01&format=text will be used
gceinternal
--address gceinternal
Value retrieved from http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip will be used
gceexternal
--address gceexternal
Value retrieved from http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip will be used
packetlocal
--address packetlocal
Value retrieved from https://metadata.packet.net/2009-04-04/meta-data/local-ipv4 will be used
packetpublic
--address packetlocal
Value retrieved from https://metadata.packet.net/2009-04-04/meta-data/public-ipv4 will be used