Итак, я создаю Azure изображение с помощью Packer.
{
"builders": [{
"type": "azure-arm",
"client_id" : "{{user `client_id`}}",
"client_secret" : "{{user `client_secret`}}",
"subscription_id": "{{user `subscription_id`}}",
"tenant_id" : "{{user `tenant_id`}}",
"managed_image_resource_group_name": "{{user `resource_group`}}",
"managed_image_name": "CentOS7_w_GitlabCE_{{timestamp}}",
"os_type" : "Linux",
"image_publisher": "OpenLogic",
"image_offer" : "CentOS",
"image_sku" : "7.3",
"image_version" : "latest",
"location": "{{user `location`}}",
"vm_size" : "Standard_DS2_v2"
}],
"provisioners": [
{
"type": "ansible",
"playbook_file": "./gitlab/ansible/install-gitlab.yml",
"extra_arguments": [
"-vvvv"
]
}
]
}
Изображение создано красиво и живет в моей группе ресурсов в Azure.
Затем я передать его данные в Terraform для создания набора масштабов.
data "azurerm_image" "image" {
count = "${var.create_gitlab ? 1 : 0}"
//notice: the image must have been created beforehand by Packer (inside the specific resource group)
name = "${var.vm_img_built_via_packer}"
resource_group_name = "${var.resource_group}"
}
resource "azurerm_virtual_machine_scale_set" "vmss" {
...other stuff....
storage_profile_image_reference {
// reference the id of the custom image created with Packer
id = "${data.azurerm_image.image.id}"
}
os_profile {
computer_name_prefix = "${var.prefix}-vm"
admin_username = "someuser"
}
os_profile_linux_config {
disable_password_authentication = true
ssh_keys {
path = "/home/someuser/.ssh/authorized_keys"
key_data = "${file(var.someuser_ssh_pubkey)}"
}
}
...other stuff...
}
Когда я запускаю VMSS, я получаю Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
, когда пытаюсь S SH в ВМ.
Однако, если я использую тот же образ Centos, но непосредственно из Azure, я могу S SH в виртуальной машине.
Кроме того, меня бесит то, что когда я создаю образ Centos через Packer, не предоставляя его с Ansible (на самом деле это просто изображение Centos) и использую его с установленным масштабом ... Я также НЕ МОГУ в нем S SH.
Чувствуется, что Пакер делает что-то неприятное.