Virtual Machine Scale Set czyli o tym, jak „uPaaSowić” maszyny wirtualne w Azure. cz. 1

Virtual Machine Scale Set długo nie były obiektem mojego zainteresowania. Jako fan wszystkiego co PaaS, VMSS wydawały się niczym innym jak prostym zestawem maszyn. Jednak po dłuższej chwili zabawy i przy wykorzystaniu Visual Studio Team Systems udało się z nich wycisnąć więcej. Zobacz sam!

Jaki postawiłem sobie cel:

  1. Powołać z skryptu zestaw maszyn opartych o Ubuntu
  2. Zautomatyzować proces instalacji aplikacji na VMSS
  3. Zautomatyzować proces aktualizacji aplikacji na zestawie maszyn poprzez załadowanie nowego „build’a” i uruchomienie nowej wersji
  4. Zautomatyzować proces skalowania „w górę” i „w dół”

Efekt, jaki chciałem osiągnąć opisał PM grupy produktowej od VMSS, chciałem wszystko jednak sprawdzić sam, wykorzystują kod aplikacji pokazanej na tej stronie.

A więc jak powołać zestaw maszyn ze skryptu?

Wystarczy Ci polecenie az vmss create ale… Jeśli chcesz zrealizować punkt 2 i 3, nie możesz do tego celu wykorzystać obrazu systemu wprost z Azure, musi to być tzw. Custom Image czyli Twój własny obraz. Ale jak to???

W czasie kroków 2 i 3 będziemy potrzebowali dostać się do tego obrazu i go zmodyfikować. Gdyby to był obraz wprost z Azure, nie miałbyś takiej możliwości. I dlatego tak to:)

Przejdźmy do konkretów. Zaloguj się na portal i odtwórz konsolę CLI.

  1. Stwórz prostą maszynę wirtualną z system, z którego później będziesz korzystał. Ja korzystam z Ubuntu 16.04 LTS. Po stworzeniu zaloguj się do maszyny. Celowo korzystam z dysków nie zarządzanych, przy tych zarządzanych nie odniosłem sukcesu ale wrócę i do tego. Dyski zarządzane przy VMSS dają dużo więcej możliwości.
     
    az vm create -n imageVM03 -l westeurope -g imageRG --size Standard_D1 --use-unmanaged-disk --admin-username mifurm --admin-password <twoje hasło> --image UbuntuLTS --storage-sku Standard_LRS 
    ssh mifurm@52.166.63.169
    

  2. Aby z takiej maszyny stworzyć obraz, musimy ją pozbawić kilku informacji i profilu użytkownika. Wystarczy jedno polecenie jak niżej. Kiedy proces się skończy, wyjdź z maszyny i „połóż” ją.
     
    sudo waagent -deprovision+user -force
    az vm deallocate -g imageRG -n imageVM03
    

  3. Połowa drogi za Tobą. Teraz musisz powiedzieć „chmurce”, że dysk maszyny ma być „zgeneralizowany” i znowu tylko jedno polecenie przed Tobą.
     
    az vm generalize -g imageRG -n imageVM03
    

  4. Właśnie tyle trzeba, by mieć swój „Custom Image”. Ponieważ tutaj z premedytacją korzystam z dysków niezarządzanych („unmanaged disks”), musisz znaleźć konto składowania danych, gdzie leży dysk Twojej maszyny i zapisać sobie jego adres URL.
  5. Już czas na to, by stworzyć swój VMSS z własnego obrazu. Polecenie nie jest specjalnie skomplikowane. Sam zobacz.
     
    az vmss create -n chat-vmss-dev -l westeurope -g chat-vmss-dev-rg --use-unmanaged-disk --instance-count 1 --image <url do Twojego obrazu dysku> --os-type linux --authentication-type password --admin-username mifurm --admin-password <Twoje hasło>
    

  6. I już. Masz swój VMSS utworzony z Twojego obrazu, który ma dostępną opcję CI/CD. Jeśli stworzysz VMSS z obrazu dostępnego wprost z Azure ta opcja nie będzie dostępna.

Proste? Proste. Jeśli masz ochotę, może wybrać opcję Configure i skonfigurować automat. W kolejnych wpisach, pokażę jak to zrobić krok po kroku!

Ten wpis został opublikowany w kategorii Krok po kroku i oznaczony tagami , , , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.