我有一个由 3 个 RBP-3B 设备组成的小型实验室(字面意思是),连接着 SATA 和 SD 驱动器,运行 Ubuntu 16.04 LTS。我已经在它们上面安装了软件来创建一个 Ceph 集群,但它非常棘手且非常脆弱。
最终,我想与 Juju 一起管理这个“世界上最小的云存储集群”概念,并使其成为我在 Openstack 峰会上的 OSIC 竞赛中获胜的英特尔 NUC vBlock 的存储后端。不幸的是,我找不到 PXE 启动 Raspberry Pi 3B 的方法,并且对该功能的芯片支持即将推出,但目前尚不存在。
我想使用MaaS来引导操作系统并将这些小家伙提供给Juju部署,因为从那里管理一切都很容易,但我很难找到可行的解决方案。我知道 Juju 可以在安装操作系统后添加机器,但也不清楚如何做到这一点,如果我将 Juju 设置为使用现有机器,我不知道我是否仍然可以将其指向 MaaS 控制的系统以及在不破坏功能的情况下创建不同的齿轮组合。
有什么想法吗?
我需要生成配置为主/从类型的流浪图像。slaves需要有ssh访问master节点,会有上万个slave实例。
Vagrant 提供 Puppet 和 Chef 配置器,所以我使用了 Puppet,因为它已经在基础设施中四处游荡,所以在这里维护应该更容易。
我正在执行以下操作以在节点上生成 SSH 密钥,该节点生成将成为我的图像的实例,如下所示:
ssh-keygen -t rsa -N "" -f keys/id_rsa_medusa
不幸的是,这似乎生成了仍然需要密码的 SSH 密钥。我还在 Ubuntu 主机上生成这些密钥并使用 puppet 将它们拉入 vagrant 实例,这似乎不起作用。
什么是我可以使用的 1 行代码或脚本,它实际上会生成一个带有空密码的 ssh 密钥?
笔记:
这不起作用,
echo -e '\n \n' | ssh-keygen -t rsa -f keys/id_rsa_medusa
奖金:
ssh-keygen 正在使用基本主机的身份创建密钥。通常,您会从您尝试通过 ssh 连接的主机生成这些信息,并将它们 ssh-copy-id 复制到您尝试连接的主机。在这种情况下,生成密钥的机器的主机 ID 既不是主机。如何生成允许任何主机访问服务器主机的通用密钥?
由于这是流浪者(无头傀儡),我无法在实例之间复制密钥,因为不知何故,当我登录它们时,它们都具有相同的 IP 地址。我试图在基本主机上生成密钥,然后使用以下内容转换为 PEM 格式,但它也不起作用:
ssh-keygen -f keys/id_rsa_medusa -e -m pem > keys/id_rsa_medusa.pem
谢谢。