我已经在我的本地环境中通过JUJU部署了一项服务但由于我的魅力中的一个错误而失败了。现在我想从环境中删除此失败的服务。我在以下层次结构中执行了三个命令:
juju destroy-service servicename
juju destroy-unit servicename/0
juju destroy-machine machinename
执行的前两个命令没有任何错误,但是第三个命令给了我一个错误(错误并不准确,因为我丢失了控制台):
Failed to remove machine "machinename". It is associated with unit "servicename/0".
现在我无法通过JUJU删除此机器。此外,相关服务仍显示在JUJU UI和状态命令输出上。
上述层次结构是否良好? 是否有任何工作要通过JUJU删除此服务+相关机器。如果我通过lxc-destroy命令删除这台机器,它会使juju处于不一致状态。
请以您宝贵的知识提供建议。
答案 0 :(得分:2)
您无法正常销毁机器,直到删除与该机器关联的服务和单元。运行juju destroy-service serviceName
最终将销毁所有关联的单元,但将保留机器(默认情况下)。然后,您可以使用juju destroy-machine machineName
跟进,这将破坏机器。
如果您无法使用destroy-machine
销毁机器,则可以将--force
附加到末尾以强制它销毁。这基本上只是将terminate命令发送给提供者,因此只能作为最后的手段使用:juju destroy-machine machineName --force
。
要查找单元仍然与机器关联,您可以在控制台中运行juju status
,它应该只列出空机器。
注意:如果您在https://askubuntu.com/上提出问题,您可能会更好地获得juju相关问题的答案