自动joinRancher环境的VM模板

我想创build一个虚拟机模板(vSphere专门),当用来创build一个新的实例,将自动join现有的牧场环境。 我尝试从Rancher添加自定义主机页面运行命令来创build代理,然后将该VM作为模板冻结。 但是,当我使用该模板创build新实例时,代理无法从Rancher服务器下载代理,因为服务器返回了未经授权的错误状态。 我猜这意味着添加自定义主机页面的命令有一个内置的时间戳。

是否有另一种方法来设置一个虚拟机模板,将自动join一个牧场环境?

Rancher添加自定义主机命令实际上只针对Rancher环境,所以它可以被重新用于添加多个主机到Rancher。 我遇到的实际问题是双重的:

  1. 如果你在虚拟机中启动Docker,然后将该虚拟机作为模板进行快照,则每个从该模板创build的新虚拟机将具有相同的Docker引擎的唯一ID,该引擎在首次启动时将被分配。 这可能会导致各种问题。 在创build虚拟机模板时,确保/etc/docker/key.json文件不存在。
  2. Rancher Agent发生类似的问题,它不能在模板VM中创build,因为它在第一次运行时也会生成自己的唯一ID。 我通过向虚拟机模板添加一个脚本来解决这个问题,当从模板创build一个新的虚拟机时执行该脚本,该脚本使用正确的注册URL启动一个新的Rancher Agent。