我在Amazon EC2上有CoreOS实例。
可以从cloud-config.yml访问一些预定义的变量,例如" $ private_ipv4"或" $ public_ipv4"。
有没有办法访问"实例ID" EC2实例,例如" $ instance_id"? (我已经尝试了" $ instance_id"和" $ INSTANCE_ID"但它们都没有生效)
答案 0 :(得分:3)
该变量不是内置的,但您可以执行以下两项操作之一:
curl http://169.254.169.254/latest/meta-data/instance-id
onehot单位会将INSTANCE_ID=abc123
写入/etc/instance-id
,而您的常规单位将依赖于包含Requires=instanceid.service
的单身(After=instanceid.service
/ EnvironmentFile=/etc/instance-id
),会使$ INSTANCE_ID可用于单位。
有关以单位使用env vars的更多文档:https://coreos.com/os/docs/latest/using-environment-variables-in-systemd-units.html#environmentfile-directive