Chef Recipe用于设置EC2实例AWS的主机名

时间:2014-06-26 05:19:12

标签: amazon-web-services amazon-ec2 chef hostname chef-recipe

我想写一个厨师食谱,将EC2实例的主机名设置为:

AWSRegionInstanceTyperandomNo

喜欢awsedev001

我怎么能在厨师食谱中做到这一点?我们有什么配方吗?

请帮忙

3 个答案:

答案 0 :(得分:2)

你会如何在普通的Unix土地上做到这一点?

您首先要将完整的FQDN添加到/etc/hostname以保持持久性:

file '/etc/hostname' do
  content 'hostname.example.com'
end

然后,您将为当前运行的操作系统设置主机名:

execute 'hostname hostname.example.com' do
  not_if 'hostname -eq "hostname.example.com"'
end

这是一个简单的厨师食谱示例,但它可以变得更加复杂以满足您的需求。您可能还想查看hostname cookbook on the Chef community site

答案 1 :(得分:0)

在AWS中,要更改您需要编辑的主机名

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=ip-172-16-1-23.ec2.internal
NOZEROCONF=yes

编辑第二行后,您可以重新启动并进行设置。

答案 2 :(得分:0)

您可以在社区网站上使用https://supermarket.chef.io/cookbooks/chef_hostname食谱。

在你的食谱中,metadata.rb只需声明:

depends "chef_hostname"

然后在您的食谱代码中使用主机名资源来设置主机名:

hostname "foo.example.com"

或者:

hostname node.name