我应客户的要求开始使用谷歌云部署管理器,使用 YAML 配置文件,但我在任何地方都找不到如何映射https://cloud.google.com/deployment-manager/docs/configuration中显示的参考/supported-resource-types我实际使用的。
特别是,我需要在创建时将现有的外部弹性 IP 附加到实例,但我无法在任何地方找到这样做的配置文件架构(即,就像在https://eksctl.xmleksctl
找到的配置文件架构文档一样) io/用法/模式/):
resources:
- type: compute.v1.instance
name: nextcloud-vm
properties:
natIP: nextcloud-vm
# The properties of the resource depend on the type of resource. For a list
# of properties, see the API reference for the resource.
zone: us-west1-a
# Replace martin-dev-391362 with your project ID
machineType: https://www.googleapis.com/compute/v1/projects/martin-dev-391362/zones/us-west1-a/machineTypes/n2-standard-4
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
# See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
# The format of the sourceImage URL is: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME]
sourceImage: https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/family/ubuntu-2004-lts
diskSizeGb: 20
# Replace martin-dev-391362 with your project ID
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/martin-dev-391362/global/networks/default
# Access Config required to give the instance a public IP address
accessConfigs:
- name: nextcloud-vm
type: ONE_TO_ONE_NAT
上面的代码不起作用,因为它尝试使用该名称创建一个新的 IP 地址,而不是使用已经存在的弹性 IP 地址。问题是我在任何地方都找不到正确的符号:)
如果有人能指出正确的方向,我将不胜感激,因为解决这个很小的问题只是冰山一角,因为我将与 Deployment Manager 进行大量工作,因此我需要全面了解如何使用它。
您可以按照下面的 yaml 作为参考,只需替换
mystatic
为您在 VPC 网络上保留的外部 IP 的名称。但是,当您删除部署时,它也会将您的静态 IP作为部署的一部分删除。您需要查看Compute API Reference以获取可在用例中使用的属性列表。