Присоедините кластер AKS к существующей виртуальной сети с помощью Terraform

#azure #kubernetes #terraform #azure-aks

#azure #kubernetes #terraform #azure-aks

Вопрос:

Я новичок в домене DevOps и Terraform, и я хотел бы спросить следующее. Я уже создал виртуальную сеть (с использованием портала), которая называется «myVNET» в группе ресурсов «Сети». Я пытаюсь реализовать кластер AKS с использованием Terraform. Мой main.tf файл находится ниже

 provider "azurerm" {
  subscription_id = var.subscription_id
  client_id       = var.client_id
  client_secret   = var.client_secret
  tenant_id       = var.tenant_id
features {}
}
resource "azurerm_resource_group" "MyPlatform" {
  name     = var.resourcename
  location = var.location
}
resource "azurerm_kubernetes_cluster" "aks-cluster" {
  name                = var.clustername
  location            = azurerm_resource_group.MyPlatform.location
  resource_group_name = azurerm_resource_group.MyPlatform.name
  dns_prefix          = var.dnspreffix
default_node_pool {
    name       = "default"
    node_count = var.agentnode
    vm_size    = var.size
  }
service_principal {
    client_id     = var.client_id
    client_secret = var.client_secret
  }

network_profile {
    network_plugin     = "azure"
    load_balancer_sku  = "standard"
    network_policy     = "calico"
  }
}

 

Мой вопрос заключается в следующем: как я могу присоединить свой кластер к своей виртуальной сети?

Ответ №1:

Это делается путем присвоения идентификатора подсети пулу узлов vnet_subnet_id.

 data "azurerm_subnet" "subnet" {
  name                 = "<name of the subnet to run in>"
  virtual_network_name = "MyVNET"
  resource_group_name  = "Networks"
}
...
resource "azurerm_kubernetes_cluster" "aks-cluster" {
...
    default_node_pool {
      name             = "default"
      ...
      vnet_subnet_id   = data.azurerm_subnet.subnet.id
    }
...
 

Вы можете ссылаться на этот существующий модуль для создания собственного модуля, если не используете его напрямую.