我使用"@google-cloud/compute": "^2.1.0"
创建虚拟机,并设置'ONE_to_ONE_NAME',如下所示。
问题是虚拟机不是用公共IP创建的。
如果我在配置中添加http:true,则会创建公共IP,但我希望避免在配置中使用http标记。
对我来说,它看起来像一个bug,因为它应该根据文档工作。
知道为什么它不起作用吗?(除了一个错误(
const config = {
//http: true,
machineType: machineType,
disks: [
{
boot: true,
initializeParams: {
sourceImage: SOURCE_IMAGE_PREFIX + projectId + SOURCE_IMAGE_PATH,
},
},
],
networkInterfaces: [
{
network: 'global/networks/default',
accessConfigs: {
type: 'ONE_TO_ONE_NAT',
name: 'External NAT',
},
},
],
metadata: {
items: [
{
key: 'startup-script',
value: `#! /bin/bash
sudo docker run ...
},
],
}
};
这只是一个错误,花了很多时间才找到!!!
accessConfigs
是一个数组!!添加[],就像这个
accessConfigs: [{
type: 'ONE_TO_ONE_NAT',
name: 'External NAT',
}],
一个空的access_config块将为您的实例分配一个外部临时IP。
network_interface {
network = "default"
access_config {}
}