我在 CentOS 6.4 的 EC2 实例的用户数据上设置了云配置,但看起来不适用。
#cloud-config
manage_etc_hosts: true
preserve_hostname: false
hostname: myserver01.example.com
在 cloud-init 日志中我看到:
cloud-init[DEBUG]: preserve_hostname is set. not managing hostname
我如何强制它设置主机名?
答案1
我还没有在 CentOS 6 AMI 上尝试过这个,但这适用于 CentOS 7:
NEWHOSTNAME="myserver01.example.com"
CLOUDTMP=`mktemp $TMPDIR/$(basename $0).XXXXXX 2>/dev/null` || exit 1
cat <<EOF > $CLOUDTMP
#!/bin/bash
hostnamectl set-hostname $NEWHOSTNAME
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
EOF
aws ec2 run-instances --user-data file://$CLOUDTMP --cli-input-json file://path/to/file.json