Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 使用gcloud cli将子网附加到现有云NAT_Google Cloud Platform_Gcloud - Fatal编程技术网

Google cloud platform 使用gcloud cli将子网附加到现有云NAT

Google cloud platform 使用gcloud cli将子网附加到现有云NAT,google-cloud-platform,gcloud,Google Cloud Platform,Gcloud,我想使用gcloudcli添加一个新的子网,作为到google Cloud中现有云NAT的映射 gcloud计算路由器nat更新名称--路由器=路由器--nat自定义子网ip范围=子网[:范围\名称],…] 使用上面的命令,我可以用所需的子网更新NAT,但它会清除已映射的现有子网,并只保留新添加的子网。 当为NAT选择自定义映射时,我想将我的子网附加到现有的子网列表中 使用gcloud有什么方法可以实现这一点吗?此命令主要用于更改与NAT关联的子网和IP地址资源。而不是在现有配置中附加子网。我在

我想使用gcloudcli添加一个新的子网,作为到google Cloud中现有云NAT的映射

gcloud计算路由器nat更新名称--路由器=路由器--nat自定义子网ip范围=子网[:范围\名称],…]

使用上面的命令,我可以用所需的子网更新NAT,但它会清除已映射的现有子网,并只保留新添加的子网。 当为NAT选择自定义映射时,我想将我的子网附加到现有的子网列表中


使用gcloud有什么方法可以实现这一点吗?

此命令主要用于更改与NAT关联的子网和IP地址资源。而不是在现有配置中附加子网。我在我的环境中尝试了上述命令,似乎该命令正在用新的子网替换现有的子网。参考[1]

要在当前配置中追加新创建的子网,必须在命令行中明确提及现有子网和新子网,请参阅[2]。否则,您必须自定义命令行,以便拉出所有现有子网,然后添加到新创建的子网列表中进行更新

作为CLI的替代解决方案,我建议您使用云控制台

在NAT映射下,选择选项“所有子网的主要和次要范围”,以便新创建的子网也将添加到已映射的现有子网中。 请参阅提供的屏幕截图

[1]
gcloud compute routers nats update NAT-CONFIG
     --router=ROUTER    
     --auto-allocate-nat-external-ips
     --nat-custom-subnet-ip-ranges=SUBNET2
输出:将现有子网1替换为新的子网2

[2]
gcloud compute routers nats update NAT-CONFIG
     --router=ROUTER    
     --auto-allocate-nat-external-ips
     --nat-custom-subnet-ip-ranges=SUBNET1,SUBNET2
输出:保持子网1和子网2处于配置状态

[1]


使用命令指定所有子网。该命令不会将当前子网与新子网合并。实际上,我正在自动执行一个流程,需要在其中添加新创建的子网。指定所有子网将要求我首先从NAT获取所有现有子网映射。此外,当选择自定义映射并描述NAT时,它可以具有具有所有IP范围的子网,当更新gcloud时,没有这样的选项,并且必须依赖
--NAT自定义子网IP范围=子网[:范围\名称],…]