繁体   English   中英

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

[英]Chef Recipe to set hostname of an EC2 instance AWS

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

AWSRegionInstanceTyperandomNo

awsedev001

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

请帮忙

在常规的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

这是一个简单的Chef食谱示例,但可以使其更复杂以满足您的需求。 您可能还需要查看Chef社区网站上的主机名食谱

在AWS中以更改主机名需要编辑

/etc/sysconfig/network

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

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

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

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

depends "chef_hostname"

然后在您的配方代码中,使用主机名资源设置主机名:

hostname "foo.example.com"

要么:

hostname node.name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM