โหลดบาลานเซอร์ภายใน Terraform Azure AKS

ฉันปรับใช้คลัสเตอร์ Azure AKS ผ่านคำสั่ง Terraform ต่อไปนี้ใน vnet ที่มีอยู่ ได้ผล คลัสเตอร์ AKS ถูกสร้างขึ้นด้วย Azure load balancer และที่อยู่ IP สาธารณะที่กำหนดให้กับคลัสเตอร์ ฉันต้องการการตั้งค่าด้วยโหลดบาลานเซอร์ Azure ภายในเท่านั้น ฉันจะต้องเปลี่ยนโค้ด Terraform เพื่อรับเฉพาะโหลดบาลานเซอร์ Azure ภายในได้อย่างไร ขอบคุณ

resource "azurerm_kubernetes_cluster" "aks" {

  name = "${var.tags.department}-${var.tags.stage}-${var.tags.environment}_aks"

  location = var.location

  resource_group_name = azurerm_resource_group.aksrg.name

  dns_prefix = lower("${var.tags.department}-${var.tags.stage}-${var.tags.environment}-aks")

  private_link_enabled = true

  node_resource_group =     "${var.tags.department}-${var.tags.stage}-${var.tags.environment}_aks_nodes_rg"

  linux_profile {

    admin_username = "testadmin"

  ssh_key {

    key_data = file("/ssh/id_rsa.pub") #ssh-keygen

    }

  }

  default_node_pool {

    name = "default"

    vm_size = "Standard_DS1_v2"

    enable_auto_scaling = false

    enable_node_public_ip = false

    node_count = 1

    vnet_subnet_id = azurerm_subnet.akssubnet.id

  }

  network_profile {

    network_plugin = "azure"

    service_cidr = "172.100.0.0/24"

    dns_service_ip = "172.100.0.10"

    docker_bridge_cidr = "172.101.0.1/16"

    load_balancer_sku = "standard"

  }

  service_principal {

    client_id = azurerm_azuread_service_principal.aks_sp.application_id

    client_secret = azurerm_azuread_service_principal_password.aks_sp_pwd.value

  }



addon_profile {

    kube_dashboard {

      enabled = true

   }

}

  role_based_access_control {

    enabled = false

  }

}

person Christian Schroeder    schedule 22.01.2020    source แหล่งที่มา
comment
เหตุใดคุณจึงต้องการสร้างโหลดบาลานเซอร์ด้วยสีฟ้า ไม่ใช่ด้วย kubernetes   -  person 4c74356b41    schedule 22.01.2020
comment
ในขั้นตอนแรก ฉันต้องการให้ไม่มีทรัพยากร Azure ที่เปิดเผยต่อสาธารณะผ่านการปรับใช้ Terraform แต่ฉันได้รับ Azure load balancer พร้อม Public IP หลังจากการปรับใช้ Terraform (azurerm v.1.41)   -  person Christian Schroeder    schedule 23.01.2020
comment
มีคำถามเพิ่มเติมอีกไหม? มันแก้ปัญหาของคุณหรือไม่? ถ้าใช่โปรดยอมรับมัน ถ้าไม่ตอบจะแก้ปัญหายังไง? หรือคุณเพียงต้องการได้รับคำตอบและไม่ทำอะไรเลย?   -  person Charles Xu    schedule 31.01.2020


คำตอบ (1)


สำหรับปัญหาของคุณ คุณจะเห็นว่าคุณได้ตั้งค่า network_profile ของคลัสเตอร์ AKS ดังนี้:

network_profile {

    network_plugin = "azure"

    service_cidr = "172.100.0.0/24"

    dns_service_ip = "172.100.0.10"

    docker_bridge_cidr = "172.101.0.1/16"

    load_balancer_sku = "standard"

  }

และคุณตั้งค่าคุณสมบัติ load_balancer_sku มันจะสร้าง Load Balancer ประเภท standard ให้กับคุณ และคุณสมบัตินี้ใช้ได้เฉพาะค่า basic และ standard เท่านั้น ดังนั้นจึงดูเหมือนว่าเป็นไปไม่ได้ที่จะสร้างคลัสเตอร์ AKS โดยไม่มี Load Balancer และคุณสามารถดูปัญหาใน Github ตามที่กล่าวไว้ CLI ใหม่ล่าสุดไม่สามารถช่วยให้คุณบรรลุเป้าหมายดังกล่าวได้

หากคุณมีคำถามเพิ่มเติมเกี่ยวกับปัญหานี้ โปรดแจ้งให้เราทราบ ฉันดีใจที่สามารถช่วยคุณแก้ปัญหาได้

person Charles Xu    schedule 29.01.2020