我正在使用 ansible 在多台机器上配置和部署我的应用程序。我现在唯一的问题是,我不确定如何正确初始化/自动化与这些机器的第一次连接?
我得到的是完全空的机器,所以我必须至少将我的公钥放入 authorized_keys 中,将 git 放入 known_hosts 中,以及将 git 用户的 private_key 放入这台机器中(我使用的是 bitbucket)。目前,我为每台新机器运行小型 ansible 任务来执行所有这些操作。
但我想还有更优化的方法来做事吗?
我现在看到的唯一解决方案可能是设置单台机器然后“克隆”它(我正在使用数字海洋)。但这对无法克隆图像的环境不起作用。
答案1
我确实在运行 Ansible 的机器上创建了公钥和私钥。我有一个特殊的 init playbook,它通过密码连接到服务器并将密钥文件放到位。我还找到了一种将公钥相互添加到文件中的方法authorized_keys
。