我有一个厨师服务器运行在我们的本地networking和testing与同一networking上的其他机器,一切正常。 我启动了一个ec2实例,并尝试引导,它会一直工作,直到它尝试连接到厨师服务器。 我的问题是,是否有任何方式公布厨师服务器? 还是有没有办法,我可以绕过节点要求从服务器?
当您应用最常见的模型与Chef Server一起使用Chef Client时,客户端需要到达服务器。 您可以将VPN中的任何networking技术应用于白名单客户端IP,但客户端(通常)会定期检查。
另一种方法是使用Chef Zero (在过去的美好日子里,人们使用Chef Solo来做这件事,你可能会发现一些关于这个的博客文章)。 这样,您可以直接从HTTP URL(即S3)从本地磁盘(EC2实例之一)或IIRC运行您的食谱。
厨师不遵循推式模式,这将允许您通过SSH连接来设置目标实例。 如果你真的需要的话,那么Ansible可能更适合你。
不过,我build议你让厨师服务器也在AWS上运行,或者直接使用他们的厨师提供AWS OpsWorks 。
我目前的设置和你一样:
当我从厨师服务器引导到AWS EC2时,它将会失败。
解决scheme ,为我工作:
在AWS EC2实例上,修改hosts文件以包含以下内容
# Chef Server Public IP Address | Chef Server Hostname 111.111.111.111 production-chef-server.mydomain.com
knife bootstrap aws-ec2-public-ip -x root