使用 Landscape 时,juju 节点中没有 sudo 权限

使用 Landscape 时,juju 节点中没有 sudo 权限

我正在开发一个自定义 charm,我想将其部署在我的 Landscape 设置中。我已经通过 MAAS 和 openstack-install 启动并运行了一个功能云(可以启动实例等)。为了访问 Landscape 使用的 juju 设置,我在 MAAS 节点上执行以下操作:

*导出 JUJU_HOME=~/.cloud-install/juju

符咒状态

juju ssh 景观服务器/0 sudo'JUJU_HOME=/var/lib/landscape/juju-homes/sudo ls -rt /var/lib/landscape/juju-homes/| tail -1 sudo -u 景观-E bash'

魔力状态*

(按照Openstack Autopilot 成功完成后,如何查看哪些 Openstack 服务已部署到哪些服务器?

现在我可以通过 SSH 进入景观节点。但是,一旦我通过 SSH 进入,我想通过 scp 跨我的自定义 charm 文件进行 scp,以便可以在本地部署,但我收到了“权限被拒绝”错误。

我甚至无法以普通用户身份创建新目录。landscape@juju-machine-0-lxc-1:~$ mkdir ola mkdir: 无法创建目录“ola”:权限被拒绝

Sudo 要求输入横向密码,但我没有。我该如何解决这个问题?

答案1

您无需使用长 sudo 行即可通过 juju ssh 进入 Landscape-server/0,这样您就可以以“ubuntu”的身份进入该节点,并且可以在不使用密码的情况下对任何其他用户(包括 Landscape)进行 sudo。

将文件放在 Landscape-server/0 中您想要的位置,确保 Landscape 用户可以访问它们,然后成为 Landscape 用户并设置 JUJU_HOME。然后,您可以将它们 juju scp 到内部云环境中的任何节点中。

景观用户默认没有 shell,这就是为什么您发现的那行长 sudo 最终会运行 bash 命令。

答案2

如果你正在使用 conjure-up,我使用过:

$:juju ssh landscape-server/0 sudo 'JUJU_DATA=/var/lib/landscape/juju-homes/`sudo ls -rt /var/lib/landscape/juju-homes/ | tail -1` sudo -u root -E bash'

然后切换到非默认控制器,这里它被称为控制器:

$: juju switch controller
$: juju status

相关内容