使用 azurerm 配置 Terraform 子网时出错

2024-01-04

最近我发现我的 AKS 集群拥有一个太小的子网。因此,我尝试添加第二个子网和节点池(现在可以通过 Azure CNI 实现),然后创建一个适当的子网并将其迁移回来。

During terraform plan有效响应一切顺利,但是在应用时会抛出错误。

Error: Error Creating/Updating Subnet "me-test-k8s-subnet2" (Virtual Network "me-test-k8s-vnet" / Resource Group "me-test-k8s-rg"): network.SubnetsClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="NetcfgInvalidSubnet" Message="Subnet 'me-test-k8s-subnet2' is not valid in virtual network 'me-test-k8s-vnet'." Details=[]

  on main.tf line 28, in resource "azurerm_subnet" "subnet2":
  28: resource "azurerm_subnet" "subnet2" {

我的原始集群是使用以下配置创建的Terraform:

  name     = "${var.cluster_name}-rg"
  location = "${var.location}"
}

resource "azurerm_virtual_network" "network" {
  name                = "${var.cluster_name}-vnet"
  location            = "${azurerm_resource_group.rg.location}"
  resource_group_name = "${azurerm_resource_group.rg.name}"
  address_space       = ["10.1.0.0/16"]
}

resource "azurerm_subnet" "subnet" {
  name                 = "${var.cluster_name}-subnet"
  resource_group_name  = "${azurerm_resource_group.rg.name}"
  address_prefixes     = ["10.1.0.0/24"]
  virtual_network_name = "${azurerm_virtual_network.network.name}"
}

为了让事情变得更简单,我决定首先将子网添加到没有节点池的网络中。这将带我了解这个地形计划:

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # azurerm_subnet.subnet2 will be created
  + resource "azurerm_subnet" "subnet2" {
      + address_prefix                                 = (known after apply)
      + address_prefixes                               = [
          + "10.2.0.0/22",
        ]
      + enforce_private_link_endpoint_network_policies = false
      + enforce_private_link_service_network_policies  = false
      + id                                             = (known after apply)
      + name                                           = "me-test-k8s-subnet2"
      + resource_group_name                            = "me-test-k8s-rg"
      + virtual_network_name                           = "me-test-k8s-vnet"
    }

希望有人能解释一下为什么会出现这个错误。

最好的, 皮姆


在虚拟网络中创建子网时,必须检查其是否没有跳出网络范围。

您刚刚超出了网络掩码的范围:10.1.0.0/16

First host: 10.1.0.1    
Last  host: 10.1.255.254

并且您正在尝试创建子网10.2.0.0/22.

为了不与已创建的子网重叠,10.1.4.0/22,例如可以被接受。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 azurerm 配置 Terraform 子网时出错 的相关文章

随机推荐

  • Django 错误:未配置 DjangoTemplates 后端

    我正在使用 Django 我需要从给定模板 lab html 动态生成 HTML 文件 from django template import Template Context from django conf import setting
  • Macdeployqt 不工作

    我已经安装了最新版本的 Qt 5 1 当我尝试使用 macdeployqt 工具在 Mac 上部署我的应用程序时 该应用程序仍然无法在其他 Mac 上运行 它在我的 Mac 上完全正常工作 并且没有指示任何错误 经过研究 我发现了这一点 我
  • 针对高分辨率密集像素设备的媒体查询

    我们正在尝试专门针对 Samsung Galaxy Nexus 它的分辨率为 1280 x 720 像素密度为 2 这使其能够像桌面设备一样显示页面 我们已经尝试过了 media screen and max device width 72
  • 在 C# 中使用 String.Format 格式化字符串时出现问题

    我需要以特定格式在消息框中打印一个字符串 我使用的代码类似于如下所示 string text for int i 0 i
  • 用于选择特定内容的正则表达式,前提是该内容未包含在注释中

    我正在寻找与模式 src js 匹配的正则表达式 但这不应包含在注释中 考虑以下 扩展样本输入 被 OP 描述为 正确
  • 为什么 PHP 中的 T 是意外的 T_VARIABLE

    这个 PHP 错误中的 T 是什么意思 Parse error syntax error unexpected T VARIABLE mean 我知道错误本身意味着什么 但我想知道为什么它不仅仅是 变量 T 代表 令牌 当 PHP 代码运行
  • 如何在 macOS 上的 Qt 中使用 OpenMP 进行编译?

    我试图在我的 C Qt 应用程序中引入一些 OMP 并行化 但无法在 macOS 下编译它 同事们正在使用 Windows 或 Linux 一切都工作正常 我需要在 Qt 的 pro 文件中编写什么并在我的系统中执行哪些操作 此网站或任何其
  • 当所有代码更改均由 DBA 完成时,是否有替代使用 EF 进行 Code First 迁移的方法?

    我读过有关 代码优先迁移 的内容 但似乎这并不真正适合企业 我们有一个 DBA 来完成所有数据库更改 我们不需要将这些更改放入类中 也不需要由应用程序执行数据库迁移 如果我们更改类和 Fluent API 然后让 DBA 对数据库进行更改
  • 存储过程 - 结束日期

    我正在听 Hansel 分钟播客 StackOverflow 使用 ASP NET MVC Jeff Atwood 和他的技术团队 在播客过程中 他们谈论 SQL Server 并说了类似 存储过程的时代已经结束 的话 现在我不是一名 DB
  • cookie 不起作用,apache 到 nginx

    我已将我的网站从 apache 移至 nginx 但现在我遇到的问题是 当我的用户尝试登录网站时 我的网站不想向他们发送 cookie 或启动会话 这是我的登录脚本
  • 字体非常难看

    我正在使用以下代码绘制一个字符串 public Image DrawString String lString Image lImage new Bitmap 128 128 Rectangle rec new Rectangle 0 0
  • 使用相同 glm 的 glm 预测和 geom_smooth() 之间的差异

    我正在尝试使用概率模型重现其他人的工作 不幸的是 我没有太多关于他们的方法的信息 只有他们的起始数据和模型图 当我在 ggplot 中绘制数据并使用拟合线时geom smooth method glm 我能够重现以前的工作 然而 当我尝试使
  • 如何在golang中从AWS S3获取资源URL

    我需要使用 golang 获取资源的公共永久 未签名 URL官方AWS Go SDK https github com aws aws sdk go 在Java AWS S3 SDK中有一个方法称为getResourceUrl http d
  • Internet Explorer 11 在首次加载时忽略 list-style:none

    I am using the Superfish jQuery plugin for my menu In Chrome and in mobile Opera emulator it works fine but in Internet
  • 使用 Moq 验证方法调用

    我对 C 单元测试和学习使用 Moq 相当陌生 下面是我要测试的课程 class MyClass SomeClass someClass public MyClass SomeClass someClass this someClass s
  • 在 python 中搜索字符串匹配后如何从列表中获取下一个元素

    嗨 朋友们 我有一个列表 我正在其中搜索字符串 并且随着搜索的字符串我想获取列表项的下一个元素 下面是示例代码 gt gt gt contents apple fruit vegi leafy gt gt gt info data for
  • 在 xtext 语法中定义原语

    我想使用 xtext 创建一个极其简单的 DSL 具有以下功能 它将有两种基本类型 数字和字符串 用户可以定义自己的类 类由字段声明组成 字段声明将名称与类型相关联 其中类型可以是类或基元 以下是我对 DSL 的尝试 类定义和引用工作正常
  • UWP 应用程序在启动时自动启动

    一切都在标题中 我目前正在寻找一种方法来启动我的UWP app 自动地仅使用 UWP 框架启动 Windows 时 计算机上没有文件操作 该应用程序必须能够在应用商店中共享并在 Windows 启动时打开 这是一件可行的事情吗 如果是这样怎
  • 组织导入 Eclipse 方法

    I need to know which method is called inside eclipse when I press CTRL SHIFT O Organise Imports in order to invoke it af
  • 使用 azurerm 配置 Terraform 子网时出错

    最近我发现我的 AKS 集群拥有一个太小的子网 因此 我尝试添加第二个子网和节点池 现在可以通过 Azure CNI 实现 然后创建一个适当的子网并将其迁移回来 During terraform plan有效响应一切顺利 但是在应用时会抛出