расширение azure Linux vmss

Я использовал новый модуль terraform для Linux vmss, чтобы включить агентов мониторинга в качестве настраиваемого расширения, однако у экземпляра нет «последней модели», когда все сделано, и вручную перезапустите vmss, чтобы получить более новую модель, которая работает, но я не Не хочу ручного вмешательства. Предыдущий модуль не нуждается в ручном изменении образа, чтобы получить новейший. я что-нибудь пропустил?

код расширения

 "azurerm_virtual_machine_scale_set_extension" "oms" {
 name                         = "OmsAgentForLinux"
 depends_on                   = [azurerm_linux_virtual_machine_scale_set.vmss]
 virtual_machine_scale_set_id = azurerm_linux_virtual_machine_scale_set.vmss.id
 publisher                    = "Microsoft.EnterpriseCloud.Monitoring"
 type                         = "OmsAgentForLinux"
 type_handler_version         = "1.11"
  settings = <<-BASE_SETTINGS
 {
  "workspaceId" : "xxxx"
 }
 BASE_SETTINGS

 protected_settings = <<-PROTECTED_SETTINGS
 {
 "workspaceKey" : "xxxxx"
  }
 PROTECTED_SETTINGS
 }

Модуль для создания azure vmss

  resource "azurerm_linux_virtual_machine_scale_set" "example" {
  name                = "example-vmss"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  sku                 = "Standard_F2"
  instances           = 1
  admin_username      = "administer"

 admin_ssh_key {
 username   = "administer"
 public_key = file("~/.ssh/id_rsa.pub")
  }

 source_image_reference {
 publisher = "Canonical"
 offer     = "UbuntuServer"
 version   = "latest"
  }

 os_disk {
  storage_account_type = "Standard_LRS"
 caching              = "ReadWrite"
  }

  network_interface {
  name    = "example"
  primary = true

    ip_configuration {
    name      = "internal"
    primary   = true
    subnet_id = azurerm_subnet.internal.id
     }
     }
    }

в старом модуле не указана ОС

 "azurerm_virtual_machine" "demovm"

person Eli Paul    schedule 02.04.2020    source источник


Ответы (1)


Это ожидаемое поведение, так как по умолчанию политика обновления установлена ​​на вручную. В этом режиме при обновлении модели масштабируемого набора с существующими виртуальными машинами ничего не происходит.

Из как добавить расширение ко всем виртуальным машинам в моем масштабируемом наборе виртуальных машин,

Если для политики обновления задано значение автоматически, при повторном развертывании шаблона с новыми свойствами расширения обновляются все виртуальные машины.

Если для политики обновления задано значение вручную, сначала обновите расширение, а затем вручную обновите все экземпляры на своих виртуальных машинах.

В этом случае, если вы не хотите вмешиваться вручную, вы можете попробовать использовать политику автоматического обновления.

Использованная литература:

person Nancy Xiong    schedule 03.04.2020
comment
спасибо за ваше время, просто к сведению, что модуль azurerm_virtual_machine_scale_set не указывает upgradeed_policy. Я много лет работал нормально, но новый azurerm_linux_virtual_machine_scale_set, который он делает, плюс запрашивает идентификатор ресурса зонда здоровья lb. так что лучше пока используйте старую. - person Eli Paul; 03.04.2020