Nastartovat základní image v Azure, přidat si tam co potřebuji a následně z toho udělat můj vlastní custom image a používat při tvorbě dalších VM - to je něco, co je samozřejmě v PowerShell a CLI možné od cloudové nepaměti. Všimli jste si ale, že tento proces můžete také kompletně dělat v GUI? Podívejme se jak.
Nejprve jsem si udělal resource group s názvem images a v té jsem klasickým postupem spustil dvě VM ze základního Azure image - jedno s Windows, jednu s Linuxem. Jak už určitě víte základní image neobsahuje žádné natvrdo nastavené přihlašovací údaje - při vytváření VM specifikujete jméno a heslo (případně SSH klíč u Linuxu), takže cloud nám uživatele založí, udělá mu home adresář apod. To je důležitá vlastnost, protože z bezpečnostního hlediska není dobré mít v image nějaké existující credentials. Tuto funkci budeme chtít zachovat, ale o tom později.
Moje resource group aktuálně vypadá takhle:
Ve svém Linux stroji udělám co potřebuji ve svém vlastním image mít. V mé ukázce to bude jednoduché založení nějakého souboru.
tomas@mujlinux:~$ sudo touch /opt/byl-jsem-tu tomas@mujlinux:~$ ls /opt/ byl-jsem-tu
Něco podobného udělám ve Windows.
Pokud bychom teď zachytili image tak jak ho máme, zůstanou v něm například naše přihlašovací údaje a některé další nastavení (například cache DHCP adresy). To nechci (a navíc nenastartuje). Rád bych, aby se image choval stejně jako ty základní, tedy nic takového ať tam není a při deploymentu si určíme jiné jméno a heslo. Potřebujeme tedy image tzv. generalizovat.
V Linuxu zadejte tento příkaz:
tomas@mujlinux:~$ sudo waagent -deprovision+tomas WARNING! The waagent service will be stopped. WARNING! Cached DHCP leases will be deleted. WARNING! root password will be disabled. You will not be able to login as root. WARNING! /etc/resolvconf/resolv.conf.d/tail and /etc/resolvconf/resolv.conf.d/original will be deleted. Do you want to proceed (y/n)y
Teď už se strojem nic nedělejte a v GUI ho vypněte.
Stejný postup použijeme v případě Windows. V cmd použijte spusťte tuto malou aplikaci.
cd %windir%\system32\sysprep sysprep.exe
Vyplňte tak jak to mám já.
Stejně jako u Linuxu proveďte zastavení (dealokaci) v GUI.
Přistupme k zachycení našeho diskového obrazu.
Pojmenujte si tento image a uložíme si ho do nové resource group, kde si budeme naše vlastní image schovávat. VM nechte zničit - protože je generalizovaná, už ji stejně nemůžeme používat.
Opakujte postup i pro druhou mašinu a následně můžeme vymazat celou resource group images se zbytky našich strojů (síť a tak).
Naše vlastní diskové obrazy najdeme v resource group.
Na image můžeme kliknout a dát Create VM.
To nás hodí do průvodce, kterého už jistě dobře znáte.
To s čím jsme v tomto článku pracovali je tzv. managed image. Nemusíme starat o nějakou storage, ve které je uložen, nevidíme konkrétní VHD soubor. Existuje samozřejmě možnost unmanaged image, kdy jde o VHD soubor v Azure storage. To použijete například v okamžiku, kdy si image připravíte ve svém vlastním prostředí, nainstalujete do něj potřebného agenta (například waagent v Linuxu) a uploadnete do Azure Storage. Pokud ale chcete, aby ho uživatelé mohli pohodlně používat bez PowerShellu, CLI či ARM šablon, udělejme z něj managed image.
Najděte objekt Image v marketplace.
Najdeme si VHD v naší storage a managed image jednoduše vytvoříme.
Po chvilce ho najdeme v našem katalogu.
Práce s vlastními image v Azure před pár lety byla pro ty, kteří vládli své klávesnici v prostředí PowerShell, CLI či ARM šablon. Dnes ale můžete vlastní image vytvářet a používat jednoduše přímo z GUI. Je to snadné.