如何部署没有 public IP 的计算实例
How to deploy a compute instance with no public IP
如何使用 GCP 部署管理器部署没有 public IP 的计算机实例?
查看 yaml 配置文件,如果我在 accessConfigs
中不包含任何内容,则会出现错误。 networkInterfaces
也是强制性的。目前我的资源配置文件如下所示:
- type: compute.v1.instance
name: cassandra-node-1
properties:
zone: europe-west2-c
machineType: https://www.googleapis.com/compute/v1/projects/affable-seat-213016/zones/europe-west2-c/machineTypes/n1-standard-1
disks:
- deviceName: boot
boot: true
autoDelete: true
initializeParams:
sourceImage: https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-1604-xenial-v20181204
networkInterfaces:
- accessConfigs:
我已经尝试了 accessConfigs
和 networkInterfaces
的几种组合,但到目前为止,只有那些有效的是带有下面代码片段的组合,但是它分配了一个 public IP 到实例。
networkInterfaces:
- accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
编辑
在没有 accessConfig
的情况下部署会出现错误:
ERROR: (gcloud.deployment-manager.deployments.create) Error in
Operation [operation-1545956660669-57e0a1598ea49-702a8e20-89ae5f53]:
errors: -
code: CONDITION_NOT_MET
location: /deployments/test/resources/cassandra-node-1->$.properties
message: '"/networkInterfaces": domain: validation; keyword: type;
message: instance
does not match any allowed primitive type; allowed: ["array"]; found:
"null"'
如果您完全删除 accessConfigs 成员,而不是提供空的 accessConfigs,则创建的实例没有外部 IP 地址。
如何使用 GCP 部署管理器部署没有 public IP 的计算机实例?
查看 yaml 配置文件,如果我在 accessConfigs
中不包含任何内容,则会出现错误。 networkInterfaces
也是强制性的。目前我的资源配置文件如下所示:
- type: compute.v1.instance
name: cassandra-node-1
properties:
zone: europe-west2-c
machineType: https://www.googleapis.com/compute/v1/projects/affable-seat-213016/zones/europe-west2-c/machineTypes/n1-standard-1
disks:
- deviceName: boot
boot: true
autoDelete: true
initializeParams:
sourceImage: https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-1604-xenial-v20181204
networkInterfaces:
- accessConfigs:
我已经尝试了 accessConfigs
和 networkInterfaces
的几种组合,但到目前为止,只有那些有效的是带有下面代码片段的组合,但是它分配了一个 public IP 到实例。
networkInterfaces:
- accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
编辑
在没有 accessConfig
的情况下部署会出现错误:
ERROR: (gcloud.deployment-manager.deployments.create) Error in Operation [operation-1545956660669-57e0a1598ea49-702a8e20-89ae5f53]: errors: - code: CONDITION_NOT_MET
location: /deployments/test/resources/cassandra-node-1->$.properties
message: '"/networkInterfaces": domain: validation; keyword: type; message: instance
does not match any allowed primitive type; allowed: ["array"]; found: "null"'
如果您完全删除 accessConfigs 成员,而不是提供空的 accessConfigs,则创建的实例没有外部 IP 地址。