首页 > 解决方案 > 如何使用 Pulumi 管理 Openstack 上的 DNS 记录?

问题描述

上个月我开始使用 Pulumi 来管理使用 Openstack 的 OVH 上的基础设施。一切都很好,直到我需要将我新创建的实例的 IP 添加到 DNS 区域的 RecordSet 中。

首先,我按照文件的建议设置了所有这些 Openstack 环境变量,该open-rc.sh文件是从 OVH 中具有管理员角色的用户生成的:

OS_REGION_NAME
OS_PROJECT_DOMAIN_ID
OS_INTERFACE
OS_AUTH_URL
OS_USERNAME
OS_PROJECT_ID
OS_USER_DOMAIN_NAME
OS_PROJECT_NAME
OS_PASSWORD
OS_IDENTITY_API_VERSION

然后,我尝试了这里https://www.pulumi.com/docs/reference/pkg/openstack/dns/recordset/的文档示例:

import pulumi
import pulumi_openstack as openstack

example_zone = openstack.dns.Zone("exampleZone",
    description="a zone",
    email="email2@example.com",
    ttl=6000,
    type="PRIMARY")
rs_example_com = openstack.dns.RecordSet("rsExampleCom",
    description="An example record set",
    records=["10.0.0.1"],
    ttl=3000,
    type="A",
    zone_id=example_zone.id)

但后来我收到以下错误:

Updating (dev_stack_s3_linux):
     Type                   Name                                  Status                  Info
     pulumi:pulumi:Stack    test_pulumi_linux-dev_stack_s3_linux  **failed**              1 error
 +   └─ openstack:dns:Zone  exampleZone                           **creating failed**     1 error

Diagnostics:
  pulumi:pulumi:Stack (test_pulumi_linux-dev_stack_s3_linux):
    error: update failed

  openstack:dns:Zone (exampleZone):
    error: Error creating OpenStack DNS client: No suitable endpoint could be found in the service catalog.

Resources:
    1 unchanged

Duration: 7s

我环顾四周,发现 Openstack 有自己的客户端 Designate 来管理 DNS 记录。此外,当我这样做时,openstack catalog list那里没有 DNS 服务。

这可以从 Pulumi 管理 DNS 记录吗?它在官方文档中,似乎没有人遇到过这个问题,所以我想我在那里遗漏了一些东西。

标签: dnsopenstackpulumi

解决方案


推荐阅读