Provisi Azure VM dari VHD kustom menggunakan saltstack

Saya menggunakan profil cloud garam untuk menyediakan vm di Azure dari vhd khusus tetapi memerlukan waktu sekitar 40 menit kemudian gagal mengatakan "

Penyediaan gagal. Penyediaan OS untuk VM 'customtestpsvm' tidak selesai dalam waktu yang ditentukan. VM mungkin masih berhasil menyelesaikan provisi. Silakan periksa status penyediaan nanti.. OSProvisioningTimedOut

"

Langkah-langkah yang saya lakukan adalah sebagai berikut: -

  1. Buat vm biru di portal.
  2. RDP ke dalam vm itu dan lakukan modifikasi yang diperlukan (buka port dan semua) dan sysprep.
  3. Salin VHD OSDisk VM ke penyimpanan blob menggunakan perintah powershell Start-AzureStorageBlobCopy.
  4. Tunggu hingga penyalinan selesai.
  5. Kemudian menggunakan uri vhd (dalam penyimpanan gumpalan) sebagai Gambar di profil awan garam.

Profil garam yang saya gunakan adalah sebagai berikut: -

azure-win:
  cleanup_data_disks: True
  cleanup_disks: True
  cleanup_interfaces: True
  cleanup_vhds: True
  deploy: False
  expire_group_cache: 86400
  expire_interface_cache: 3600
  expire_network_cache: 3600
  expire_offer_cache: 604800
  expire_publisher_cache: 604800
  expire_sku_cache: 604800
  expire_subnet_cache: 3600
  expire_version_cache: 604800
  image: https://crimasterdisks791.blob.core.windows.net/vhds/custompsimage.vhd
  location: EastUS
  network: AzureARM-SanRamon-New
  network_resource_group: AzureARM-SanRamon-New-ResGrp
  os_disk_size_gb: 140
  provider: P_Azure
  resource_group: AzureARM-SanRamon-New-ResGrp
  security_group: cri-azure
  size: Basic_A1
  win_password: Spam99$$
  win_username: azureuser
  storage_account: crimasterdisks791
  subnet: ARM-Subnet1

person Narinder Verma    schedule 08.02.2018    source sumber


Jawaban (2)


Lihat saran yang disebutkan di tautan di bawah ini. https://github.com/saltstack/salt/issues/38907 https://github.com/saltstack/salt/issues/41315

Eksekusi Salt khusus, status, dan modul lainnya dapat didistribusikan ke minion Salt menggunakan server file Salt. Di bawah root lingkungan apa pun yang ditentukan melalui opsi file_roots pada direktori server master yang sesuai dengan jenis modul dapat digunakan. Direktori diawali dengan garis bawah: https://docs.saltstack.com/en/latest/ref/file_server/dynamic-modules.html

Azure adalah layanan cloud dari Microsoft yang menyediakan mesin virtual, layanan SQL, layanan media, dan banyak lagi. Dokumen ini menjelaskan cara menggunakan Salt Cloud untuk membuat mesin virtual di Azure, dengan Salt terinstal. https://docs.saltstack.com/en/latest/topics/cloud/azure.html

Operasi penyediaan. Itulah alasan Anda mengalami masalah ini dan ini mungkin karena beberapa alasan (tergantung pada konfigurasi VM, lokasi, Ukuran)

Bisakah Anda mencoba mengimpor yang berikut ini: https://github.com/saltstack/salt/blob/develop/salt/cloud/clouds/azurearm.py#L77-L112 Itu semua adalah dependensi yang diperlukan untuk azurearm. Jadi ini akan membantu mempersempit jika Anda memiliki dependensi yang benar. Anda dapat menguji impor ini dengan menjalankan python -c 'import azure.storage' untuk impor tersebut di kotak salt-cloud Anda. Dan jika Anda mendapatkan kesalahan impor pada salah satu dari itu maka Anda kehilangan ketergantungan itu.

person SumanthMarigowda-MSFT    schedule 08.02.2018
comment
Penyediaan berjalan dengan baik ketika saya menggunakan gambar Marketplace. - person Narinder Verma; 09.02.2018

Masalah ini dapat diatasi dengan mengikuti langkah-langkah dari https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sa-copy-generalized?toc=%2Fazure%2Fvirtual-machines%2Fwindows%2Ftoc.json Namun untuk membuatnya berfungsi, diperlukan satu perubahan lagi pada kode garam,

Untuk gambar khusus, parmaeter os_type bergantung pada parameter win_installer,

if vm_['image'].startswith('http'):
# https://{storage_account}.blob.core.windows.net/{path}/{vhd}
source_image = VirtualHardDisk(vm_['image'])
img_ref = None
if win_installer:
os_type = 'Windows'
else:
os_type = 'Linux'

Tetapi jika kami menjadikan penerapan sebagai False, kami tidak memberikan win_installer dan dalam kasus gambar kustom windows juga os_type akan disetel ke Linux dan itulah sebabnya ia gagal.

Saya membuat beberapa perubahan pada kode dan memberikan os_type langsung di profil agar berfungsi

person Narinder Verma    schedule 09.03.2018