我有几个远程环境,只能从外部连接,而不能从内部连接到外部。对于我的部署/配置需求,我使用了 fabric 和 capistrano,它们工作正常,但我有压力要使用完整的配置系统作为 puppet 或 chef。
有没有办法通过 puppet 或 chef 推送特定命令?(请记住,远程主机无法连接到我的网站,而我的网站有 puppet/chef 服务器)
谢谢
答案1
您可以使用集体运行远程命令。不过,您必须在每个 puppet 客户端上安装一个客户端。
请注意,mcollective 还需要一个 activemq 服务器。
答案2
冒着重新讨论旧话题的风险,请查看Ansible用于在一组主机上运行任意命令。设置一个带有名为“all”的组的 hosts 文件,然后键入ansible all -a "/bin/echo hello"
以查看结果。
答案3
Chef 有一个“部署”资源,可用于执行 fabric/capistrano 风格的部署。此处有示例文档:
http://wiki.opscode.com/display/chef/Deploy+Resource
在 Opscode 知识库中可以找到更复杂的全自动设置和部署指南。
http://help.opscode.com/kb/otherhelp
使用了 Django 和 Rails 应用程序部署示例。