Aprowizowanie maszyn wirtualnych z systemem Linux na platformie Azure
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️
Podczas tworzenia maszyny wirtualnej na podstawie uogólnionego obrazu (galerii obliczeniowej platformy Azure lub obrazu zarządzanego) płaszczyzna sterowania umożliwia utworzenie maszyny wirtualnej oraz przekazanie parametrów i ustawień do maszyny wirtualnej. Jest to nazywane aprowizowaniem maszyn wirtualnych. Podczas aprowizacji platforma udostępnia maszynie wirtualnej wymagane wartości parametrów Tworzenia maszyny wirtualnej (nazwa hosta, nazwa użytkownika, hasło, klucze SSH, customData) dostępne dla maszyny wirtualnej podczas rozruchu.
Agent aprowizacji upieczony wewnątrz obrazu będzie łączyć się z platformą, łącząc się z wieloma niezależnymi interfejsami aprowizacji), ustawiać właściwości i sygnał na platformę, która została ukończona.
Agentami aprowizacji może być agent systemu Linux platformy Azure lub cloud-init. Są to wymagania wstępne dotyczące tworzenia uogólnionych obrazów.
Agenci aprowizacji, zapewniają obsługę wszystkich zatwierdzonych dystrybucji systemu Linux platformy Azure i w wielu przypadkach znajdziesz zatwierdzone obrazy dystrybucji, które będą dostarczane zarówno przy użyciu pakietu cloud-init, jak i agenta systemu Linux. Zapewnia to możliwość obsługi aprowizacji przez klienta cloud-init, a następnie agent systemu Linux zapewni obsługę obsługi rozszerzeń platformy Azure. Zapewnienie obsługi rozszerzeń oznacza, że maszyna wirtualna będzie wówczas kwalifikować się do obsługi dodatkowych usług platformy Azure, takich jak resetowanie hasła maszyny wirtualnej, monitorowanie platformy Azure, usługa Azure Backup, szyfrowanie dysków platformy Azure itp.
Po zakończeniu aprowizacji w każdym rozruchu zostanie uruchomiony skrypt cloud-init. Narzędzie Cloud-init będzie monitorować zmiany maszyny wirtualnej, takie jak zmiany w sieci, instalowanie i formatowanie dysku efemerycznego oraz uruchamianie agenta systemu Linux. Agent systemu Linux stale działa na serwerze, szukając "stanu celu" (nowej konfiguracji) z platformy Azure, więc za każdym razem, gdy zainstalujesz rozszerzenia, agent będzie mógł je przetworzyć.
Chociaż obecnie istnieją dwa agenty aprowizacji, pakiet cloud-init powinien być wybranym agentem aprowizacji, a agent systemu Linux powinien być zainstalowany na potrzeby obsługi rozszerzeń. Dzięki temu można korzystać z optymalizacji platformy i można wyłączyć/usunąć agenta systemu Linux, aby uzyskać więcej informacji na temat tworzenia obrazów bez agenta i sposobu jego usuwania, zapoznaj się z tą dokumentacją.
Jeśli masz jądro systemu Linux, które nie może obsługiwać uruchamiania jednego z agentów, ale chcesz ustawić niektóre właściwości tworzenia maszyny wirtualnej, takie jak nazwa hosta, customData, userName, hasło, klucze SSH, w tym dokumencie omówiono sposób tworzenia uogólnionych obrazów bez agenta i spełnienia wymagań platformy.
Obowiązki agenta aprowizacji
Aprowizowanie obrazów
- Tworzenie konta użytkownika
- Konfigurowanie typów uwierzytelniania SSH
- Wdrażanie kluczy publicznych i par kluczy SSH
- Ustawianie nazwy hosta
- Publikowanie nazwy hosta w usłudze DNS platformy
- Raportowanie odcisku palca klucza hosta SSH do platformy
- Zarządzanie dyskami zasobów
- Formatowanie i instalowanie dysku zasobu
- Korzystanie z i przetwarzanie
customData
Sieć
- Zarządza trasami w celu poprawy zgodności z serwerami DHCP platformy
- Zapewnia stabilność nazwy interfejsu sieciowego
Jądro
- Konfiguruje wirtualną architekturę NUMA (wyłącz dla jądra <
2.6.37
) - Używa entropii funkcji Hyper-V dla
/dev/random
- Konfiguruje limity czasu SCSI dla urządzenia głównego (które mogą być zdalne)
Diagnostyka
- Przekierowywanie konsoli do portu szeregowego
Komunikacja
Przepływ informacji z platformy do agenta odbywa się za pośrednictwem dwóch kanałów:
- Dołączony do rozruchu dysk DVD dla wdrożeń IaaS. Dysk DVD zawiera plik konfiguracji zgodny ze standardem OVF, który zawiera wszystkie informacje dotyczące aprowizacji, inne niż rzeczywiste pary kluczy SSH.
- Punkt końcowy TCP uwidacznia interfejs API REST używany do uzyskiwania wdrożenia i konfiguracji topologii.
Wymagania dotyczące agenta aprowizacji platformy Azure
Agent systemu Linux i pakiet cloud-init zależą od niektórych pakietów systemowych w celu prawidłowego działania:
- Python 2.6 lub nowsza wersja
- OpenSSL 1.0 lub nowsza wersja
- OpenSSH 5.3 lub nowsza wersja
- Narzędzia systemu plików:
sfdisk
,fdisk
,mkfs
,parted
- Narzędzia haseł: chpasswd, sudo
- Narzędzia do przetwarzania tekstu: sed, grep
- Narzędzia sieciowe: ip-route
- Obsługa jądra na potrzeby instalowania systemów plików UDF.
Następne kroki
Jeśli chcesz, możesz wyłączyć aprowizowanie i usunąć agenta systemu Linux.