如何在环境中部署多个堆栈?

如何在环境中部署多个堆栈?

我已经使用 juju 部署了 haproxy->lamp->mysql 堆栈。这看起来非常简单,而且根据我的测试,它运行良好。我还发现,扩展层并向 lamp 服务器添加额外单元非常容易。服务器上的其余配置由 puppet 完成。

但是在这种情况下,在同一个环境“ec2”(在我的 environment.yaml 中指定)中,我希望使用相同的公式 haproxy->lamp->mysql 部署另一组服务器。

但是这似乎是不可能的,因为您会收到以下错误:

ERROR Service name 'mysql' is already in use

有没有办法做到这一点?

我曾想过在 yaml 文件中使用相同的 EC2 凭证创建单独的环境,但这似乎会为每个环境启动一个额外的 juju 配置服务器。由于我们在这种类型的堆栈中运行超过 250 个网站,这意味着我们的 AWS 账单上会有额外的 250 台服务器,这远非理想。

理想情况下,我的目标是部署多个 haproxy->lamp->mysql 堆栈,而不必为每个网站创建新的魅力。

欢迎提出任何建议,如果做不到,我就需要重新考虑。

答案1

Yuu 可以在 juju 中明确命名服务。例如,而不是:

juju deploy haproxy
juju deploy mysql

你可以随意命名它们:

juju deploy haproxy mynewproxy
juju deploy mysql dbserver2

或任何适合您的模型的内容。您只需记住add-relation根据名称进行操作,因此:juju add-relation mynewproxy dbserver2

你使用 juju 来做这件事真是太棒了,如果你想给我们一些反馈,告诉我们它对你的作用如何,请发送帖子到juju 邮件列表

相关内容