如何部署没有 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: 

我已经尝试了 accessConfigsnetworkInterfaces 的几种组合,但到目前为止,只有那些有效的是带有下面代码片段的组合,但是它分配了一个 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 地址。