在启动时为 GCE 实例配置 FQDN

The*_*per 4 metadata hostname fqdn google-compute-engine

我正在尝试使用预配置的 FQDN 启动 google 计算引擎 (GCE) 实例。我们打算运行一个基于 /etc/hosts 内容许可的应用程序。

我正在使用 Google Cloud SDK 实用程序 - gcloud 启动实例。

我尝试使用元数据选项设置“主机名”键,如下所示:

gcloud compute instances create mynode (standard opts) --metadata hostname=mynode.example.com
Run Code Online (Sandbox Code Playgroud)

每当我登录开发人员控制台时,在计算机、实例下,我都可以在“自定义元数据”下看到主机名。这似乎是一个新的客户密钥 - 它对以下内容没有影响:

http://metadata.google.internal/computeMetadata/v1/instance/hostname
Run Code Online (Sandbox Code Playgroud)

返回。

我还尝试设置“实例/主机名”,如下所示,这会在使用 gcloud 时导致解析错误。

--metadata instance/hostname=mynode.example.com
Run Code Online (Sandbox Code Playgroud)

我已成功使用元数据服务器的启动脚本功能来运行启动脚本,该脚本解析新创建的实例的新内部 IP 地址、更新的 /etc/hosts。这似乎有效,但感觉不像“谷歌方式”。

我可以在实例创建期间使用元服务器功能配置实例的FQDN(具体来说是域名,因为实例名称始终是主机名)吗?

Jai*_*eza 6

尝试这个:

  1. 转到 GCE >> VM 实例面板。
  2. 停止你的 gce 实例。
  3. 单击实例名称。
  4. 编辑您的实例,在自定义元数据字段中添加以下值:

    • 键字段:主机名/值字段:your.server.hostname

    • 键字段:startup-script /值字段:sudo -s hostnamectl set-hostname your.server.hostname

    设置示例图像.png

最后,启动您的实例并使用 hostnamectl 命令进行测试。

问候!