JUJU 和 ERROR 环境没有访问密钥或密钥

JUJU 和 ERROR 环境没有访问密钥或密钥

按照官方指南:

并且考虑到我已经生成了 ssh 密钥(将其添加到 MAAS 的 UI)和 API 密钥,我的 environment.yaml 文件以如下方式呈现:

environments:
  maas:
    type: maas
    maas-server: 'http://x.x.x.x/MAAS/'
    maas-oauth: 'NDPA86PsEzS7bFynSy:vqJLkyHUJbvYzbtY5Q:sXXXXXXXXXXXXXXXXXXXXXX
    admin-secret: 'nothing'
    default-series: precise
    authorized-keys-path: ~/.ssh/id_rsa.pub # or any file you want.

当我尝试运行命令时:

juju bootstrap

收到以下错误:

ERROR environment has no access-key or secret-key

有人可以解释我哪里错了吗?

  • MAAS 和 JUJU 使用其稳定的 ppa 安装在 Ubuntu 12.04.3 服务器上
  • 我已经在 Maas 上登记了 2 台机器,它们处于调试状态
  • 在 environment.yaml 文件中,行“default”的值为“maas”

答案1

当 MaaS 中的节点处于调试状态时,Juju 无法使用它们。当节点准备好分配时,它们将在 MaaS 中显示为状态Ready

当您使用 Juju 进行引导时,它会创建一个节点,该节点将对未来的部署和关系设置命令进行排队,以便在安装各种服务期间的正确时间运行。

gomaasapi: got error back from server: 409 CONFLICT错误是一般错误,表示 Maas 在尝试满足您的请求时遇到错误。就您而言,由于您的所有机器都处于调试状态而非就绪状态,因此 MaaS 没有可供 Juju 用来设置引导机器的节点。因此,您会收到错误409 CONFLICT

当节点处于该commissioning状态时,它们应该启动,运行来自 MaaS 服务器的映像,为它们做好准备。您可能需要检查应该调试的节点是否已启动,而不是卡在某些启动提示符处或关闭。如果它们正在运行,请尝试将监视器连接到它们并查看您能看到什么。

如果它们没有运行,请检查您是否在 MaaS 中正确设置了电源设置——MaaS 可能无法向机器发出启动信号(使用 IPMI、WOL 等),因此调试映像永远不会启动和运行,并且节点会在无人干预的情况下停留在调试状态。(如果是这种情况,您可以通过手动(如果机器是物理的,则以物理方式进行,或者如果您正在使用虚拟机,则告诉 VirtualBox 启动虚拟机)打开卡在调试状态的节点来解决这个问题。)

如果您使用虚拟机来测试 MaaS,请告诉我,我会更新我的答案——使用虚拟机测试 MaaS 有一些怪癖。

答案2

根据指定的错误,我可以假设您正在使用 juju-core 并尝试以某种方式使用 EC2 提供程序。您确定您的 environment.yaml 中没有任何其他环境吗?您需要default: maas在 environment.yaml 的顶层指定,或者juju switch maas在命令行中使用。通过传递 --show-log 作为参数,发布完整的 environment.yaml 以及来自命令输出的更多上下文(您运行了哪个命令?)会很有帮助。

答案3

Richard,如果您仍在尝试在虚拟环境中测试 MAAS,我可能会帮助您。我已成功在虚拟机上运行 MAAS,该虚拟机与另外两个拥有自己虚拟机的大型 VM 服务器交互。在我的环境中,MAAS 服务器控制并启动我的 VM 服务器上的 VM。我已经能够成功在我的 VM 服务器(基于 Virt-Manager、QEMU 和 KVM)上部署 Wordpress 和许多其他小型应用程序。关键建议之一是使用 MAAS 13.10;代码非常稳定,并且与 12.04 LTS 相比有许多重要的修复和功能。我发现在我的 environment.yaml 开头使用“default:maas”会导致它失败,如果您要部署到云(例如 Azure、AWS、HP Cloud),我建议您在 bootstrap 命令中使用 -e 开关。

您需要编辑 /etc/maas/pserv.yaml 以使 PXE 启动正常工作。在 TFTP 部分中,取消注释指定“根”的行、指定“端口”的行和定义生成器的行。

“快速安装程序”不适用于我的 VM 服务器,因此如果您进行了虚拟化,可能首先会忽略该功能。

“Charms”对运行它们所需的 CPU 和内存有自己的内置定义(“约束”)。文档中没有明确说明,但我发现在尝试将 Wordpress 和 mysql 部署在 RAM 小于 2048MB 的设备上时,出现了 409 CONFLICT 通用错误,我想我还必须在虚拟机上分别安装 2 个 CPU。对你来说可能有所不同,这只是我发现的。

答案4

它会询问云服务器的凭证。如果你想在本地测试,请使用以下命令

sudo apt-get install juju-local

相关内容