Rancher 在每个节点上部署一个 Agent 来与节点通信。本页描述了可以传递给 Agent 的选项。要使用这些选项,您需要使用自定义节点创建集群,并在添加节点时将选项添加到生成的docker run命令中。

有关 Rancher 如何使用 Node Agent 与下游集群通信的概述,请参阅产品架构

通用选项

参数环境变量描述
—serverCATTLE_SERVER已配置的 Rancher server-url,Agent 将通过这个地址连接 Server。
—tokenCATTLE_TOKEN在 Rancher 中注册节点所需的 token。
—ca-checksumCATTLE_CA_CHECKSUM使用已配置的 Ranchercacerts进行 SHA256 校验和来验证
—node-nameCATTLE_NODE_NAME重写注册节点的主机名(默认为hostname -s)
—labelCATTLE_NODE_LABEL向节点添加节点标签。对于多个标签,请传递额外的—label选项。(—label key=value)
—taintsCATTLE_NODE_TAINTS将节点 taints 添加到节点。对于多个 taints,请传递额外的—taints选项。(—taints key=value:effect)

角色选项

参数环境变量描述
—all-rolesALL=true将所有角色(etcd,controlplane,worker)应用到节点
—etcdETCD=true将角色etcd应用到节点
—controlplaneCONTROL=true将角色controlplane应用到节点
—workerWORKER=true将角色worker应用到节点

IP 地址选项

参数环境变量描述
—addressCATTLE_ADDRESS该节点将注册的 IP 地址(默认为用来连接 8.8.8.8的 IP)
—internal-addressCATTLE_INTERNAL_ADDRESS私有网络上用于主机间通信的 IP 地址

动态获取 IP 地址

出于自动化的目的,您不能在命令中指定节点 IP 地址,因为它必须是通用的才能用于每个节点。为此,我们有动态 IP 地址选项。它们用作现有 IP 地址选项的值。支持--address--internal-address

例子描述
接口名称—address eth0将从给定的接口中检索第一个配置的 IP 地址
ipify—address ipifyhttps://api.ipify.org获取的值将被使用
awslocal—address awslocalhttp://169.254.169.254/latest/meta-data/local-ipv4获取的值将被使用
awspublic—address awspublichttp://169.254.169.254/latest/meta-data/public-ipv4获取的值将被使用
doprivate—address doprivatehttp://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address获取的值将被使用
dopublic—address dopublichttp://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address获取的值将被使用
azprivate—address azprivatehttp://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/privateIpAddress?api-version=2017-08-01&format=text获取的值将被使用
azpublic—address azpublichttp://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-08-01&format=text获取的值将被使用
gceinternal—address gceinternalhttp://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip获取的值将被使用
gceexternal—address gceexternalhttp://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip获取的值将被使用
packetlocal—address packetlocalhttps://metadata.packet.net/2009-04-04/meta-data/local-ipv4获取的值将被使用
packetpublic—address packetlocalhttps://metadata.packet.net/2009-04-04/meta-data/public-ipv4获取的值将被使用