我们在 GCP 上运行了一个 openstack 环境,其 arch 为 1control_1compute_2ceph。在 openstack 上创建虚拟机时,虚拟机无法初始化 cloud-init,因为 wit 到达的是 GCP 的元数据,而不是私有 openstack。openstack 是 tripleo 的最新版本。它使用 OVN 网络。有没有办法重新访问 openstack 169.254.169.254 而不是 GCP。
谢谢
答案1
发现这个希望可以有所帮助实例直接连接到提供商外部网络,并将外部路由器配置为其默认网关。没有使用 OpenStack Networking (neutron) 路由器。这意味着不能使用 neutron 路由器将元数据请求从实例代理到 nova-metadata 服务器,这可能会导致在运行 cloud-init 时出现故障。但是,可以通过将 dhcp 代理配置为代理元数据请求来解决此问题。您可以在 /etc/neutron/dhcp_agent.ini 中启用此功能。例如:
enable_isolated_metadata = True
答案2
虽然 GCP 上的 OpenStack 不是 cloud-init 目前考虑的用例,但您始终可以使用内核命令行参数(ds=openstack
)或手动设置数据源列表来强制 cloud-init 使用哪个数据源:datasource_list: [openstack]
。