Automatyczne uaktualnianie rozszerzeń dla maszyn wirtualnych i zestawów skalowania na platformie Azure
Automatyczne uaktualnianie rozszerzenia jest dostępne dla maszyn wirtualnych platformy Azure i zestawów skalowania maszyn wirtualnych platformy Azure. Gdy automatyczne uaktualnianie rozszerzenia jest włączone na maszynie wirtualnej lub zestawie skalowania, rozszerzenie jest automatycznie uaktualniane za każdym razem, gdy wydawca rozszerzeń wyda nową wersję dla tego rozszerzenia.
Automatyczne uaktualnianie rozszerzenia ma następujące funkcje:
- Obsługiwane są maszyny wirtualne platformy Azure i zestawy skalowania maszyn wirtualnych.
- Uaktualnienia są stosowane w modelu wdrażania opartym na dostępności.
- W przypadku zestawu skalowania maszyn wirtualnych nie więcej niż 20% uaktualnień maszyn wirtualnych zestawu skalowania znajduje się w jednej partii. Minimalny rozmiar partii to jedna maszyna wirtualna.
- Wszystkie rozmiary maszyn wirtualnych oraz rozszerzenia systemu Windows i Linux są zgodne.
- Automatyczne uaktualnienia są opcjonalne w dowolnym momencie.
- Zestawy skalowania maszyn wirtualnych o dowolnym rozmiarze są włączone.
- Każde obsługiwane rozszerzenie jest rejestrowane indywidualnie. Możesz wybrać rozszerzenia do automatycznego uaktualniania.
- Obsługiwane są wszystkie regiony chmury publicznej.
Jak działa automatyczne uaktualnianie rozszerzeń?
Proces uaktualniania rozszerzenia zastępuje istniejącą wersję rozszerzenia na maszynie wirtualnej za każdym razem, gdy wydawca rozszerzenia publikuje nową wersję tego samego rozszerzenia. Kondycja maszyny wirtualnej jest monitorowana po zainstalowaniu nowego rozszerzenia. Jeśli maszyna wirtualna nie jest w dobrej kondycji w ciągu pięciu minut od ukończenia uaktualnienia, wersja rozszerzenia zostanie wycofana z poprzedniej wersji.
Uaktualnienie rozszerzenia, które zakończyło się niepowodzeniem, jest automatycznie ponawiane. Próba ponawiania jest podejmowana co kilka dni automatycznie bez interwencji użytkownika.
Aktualizacje pierwszej dostępności
Model dostępności dla uaktualnień zorganizowanych na platformie zapewnia, że konfiguracje dostępności na platformie Azure są przestrzegane na wielu poziomach dostępności.
W przypadku grupy maszyn wirtualnych objętych uaktualnieniem platforma Azure organizuje uaktualnienia między regionami, w obrębie regionu i w zestawie.
Między regionami
- Uaktualnienie przenosi się na platformę Azure globalnie w sposób etapowy, aby zapobiec niepowodzeniom wdrożeń obejmujących całą platformę Azure.
- Faza może mieć co najmniej jeden region, a uaktualnienie przechodzi między fazami tylko wtedy, gdy kwalifikujące się maszyny wirtualne w poprzedniej fazie zostały pomyślnie uaktualnione.
- Regiony sparowane geograficznie nie są uaktualniane współbieżnie i nie mogą być w tej samej fazie regionalnej.
- Powodzenie uaktualnienia jest mierzone przez śledzenie kondycji maszyny wirtualnej po uaktualnieniu. Kondycja maszyny wirtualnej jest śledzona za pomocą wskaźników kondycji platformy dla maszyny wirtualnej. W przypadku zestawów skalowania maszyn wirtualnych kondycja maszyny wirtualnej jest śledzona za pośrednictwem sond kondycji aplikacji lub rozszerzenia Application Health, jeśli jest stosowana do zestawu skalowania.
W obrębie regionu
- Maszyny wirtualne w różnych strefach dostępności nie są uaktualniane współbieżnie z tym samym uaktualnieniem.
- Pojedyncze maszyny wirtualne, które nie są częścią zestawu dostępności, są wsadowe wsadowe, aby uniknąć współbieżnych uaktualnień dla wszystkich maszyn wirtualnych w ramach subskrypcji.
W zestawie
- Wszystkie maszyny wirtualne w wspólnym zestawie dostępności lub zestawie skalowania nie są uaktualniane współbieżnie.
- Maszyny wirtualne w typowym zestawie dostępności są uaktualniane w granicach domeny aktualizacji. Maszyny wirtualne w wielu domenach aktualizacji nie są uaktualniane współbieżnie.
- Maszyny wirtualne w typowym zestawie skalowania maszyn wirtualnych są grupowane w partiach i uaktualniane w granicach domeny aktualizacji. Zasady uaktualniania zdefiniowane w zestawie skalowania są honorowane podczas uaktualniania. Każda grupa jest uaktualniana przy użyciu strategii uaktualniania stopniowego.
Proces uaktualniania zestawów skalowania maszyn wirtualnych
- Przed rozpoczęciem procesu uaktualniania koordynator gwarantuje, że nie więcej niż 20% maszyn wirtualnych w całym zestawie skalowania jest w złej kondycji (z jakiegokolwiek powodu).
- Orkiestrator uaktualniania identyfikuje partię wystąpień maszyn wirtualnych do uaktualnienia. Partia uaktualnienia może mieć maksymalnie 20% całkowitej liczby maszyn wirtualnych, z zastrzeżeniem minimalnego rozmiaru partii jednej maszyny wirtualnej. Orkiestrator uwzględnia definicję zasad uaktualniania i stref dostępności podczas identyfikowania partii.
- Po uaktualnieniu kondycja maszyny wirtualnej jest zawsze monitorowana przed przejściem do następnej partii. W przypadku zestawów skalowania ze skonfigurowanymi sondami kondycji aplikacji lub rozszerzeniem application Health kondycja aplikacji jest również monitorowana. Uaktualnienie trwa do pięciu minut (lub zdefiniowanej konfiguracji sondy kondycji) dla maszyny wirtualnej w dobrej kondycji przed uaktualnieniem następnej partii. Jeśli maszyna wirtualna nie odzyska kondycji po uaktualnieniu, domyślnie poprzednia wersja rozszerzenia na maszynie wirtualnej zostanie ponownie zainstalowana.
- Orkiestrator uaktualniania śledzi również procent maszyn wirtualnych, które stają się w złej kondycji po uaktualnieniu. Uaktualnienie zostanie zatrzymane, jeśli ponad 20% uaktualnionych wystąpień stanie się w złej kondycji podczas procesu uaktualniania.
Ten proces będzie kontynuowany do momentu uaktualnienia wszystkich wystąpień w zestawie skalowania.
Orkiestrator uaktualniania zestawu skalowania sprawdza ogólną kondycję zestawu skalowania przed uaktualnieniem każdej partii. Podczas uaktualniania wsadowego inne współbieżne planowane lub nieplanowane działania konserwacyjne mogą mieć wpływ na kondycję maszyn wirtualnych zestawu skalowania. W takich przypadkach, jeśli ponad 20% wystąpień zestawu skalowania stanie się w złej kondycji, uaktualnienie zestawu skalowania zostanie zatrzymane na końcu bieżącej partii.
Obsługiwane rozszerzenia
Aby sprawdzić, czy rozszerzenia są obsługiwane w przypadku automatycznego uaktualniania, wyświetl blok Stan automatycznego uaktualniania w witrynie Azure Portal — rozszerzenie.
Poniżej przedstawiono popularne rozszerzenia obsługiwane w przypadku automatycznych uaktualnień (a inne są okresowo dodawane):
- Rozszerzenie hybrydowego procesu roboczego usługi Azure Automation: Linux i Windows
- Agent zależności: Linux i Windows
- Rozszerzenie kondycji aplikacji: Linux i Windows
- Rozszerzenie zaświadczania gościa: Linux i Windows
- Rozszerzenie konfiguracji gościa: Linux i Windows
- Azure Key Vault: Linux i Windows
- Agent usługi Azure Monitor
- Agent usługi Log Analytics dla systemu Linux
- rozszerzenie Diagnostyka Azure dla systemu Linux
- Azure Service Fabric: Linux
Włączanie automatycznego uaktualniania rozszerzenia
Aby włączyć automatyczne uaktualnianie rozszerzenia dla rozszerzenia, należy upewnić się, że właściwość enableAutomaticUpgrade
jest ustawiona true
na i dodana do każdej definicji rozszerzenia osobno.
Korzystanie z witryny Azure Portal
W witrynie Azure Portal użyj okienka Rozszerzenia , aby włączyć automatyczne uaktualnianie rozszerzeń na istniejących maszynach wirtualnych i zestawach skalowania maszyn wirtualnych.
Przejdź do okienka Maszyny wirtualne lub Zestawy skalowania maszyn wirtualnych i wybierz nazwę zasobu.
W obszarze Ustawienia przejdź do okienka Rozszerzenia i aplikacje , w którym są wyświetlane wszystkie rozszerzenia zainstalowane w zasobie. Kolumna Stan automatycznego uaktualniania pokazuje, czy automatyczne uaktualnianie rozszerzenia jest włączone, wyłączone lub nieobsługiwane.
Wybierz nazwę rozszerzenia, aby otworzyć okienko Szczegóły rozszerzeń .
Wybierz pozycję Włącz automatyczne uaktualnianie, aby włączyć automatyczne uaktualnianie rozszerzenia. Użyj tego przycisku, aby wyłączyć automatyczne uaktualnianie, jeśli to konieczne.
Dla maszyn wirtualnych
Aby włączyć automatyczne uaktualnianie rozszerzenia dla rozszerzenia (w tym przykładzie rozszerzenie agenta zależności) na maszynie wirtualnej platformy Azure, użyj następującego wywołania:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{
"name": "extensionName",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "<location>",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5"
}
}
W przypadku zestawów skalowania maszyn wirtualnych
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
"location": "<location>",
"properties": {
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"name": "<extensionName>",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5"
}
}
]
}
}
}
}
Uwaga
Te operacje ustawiają enableAutomaticUpgrade
właściwość na true
wartość w zasobie zestawu skalowania maszyn wirtualnych, ale nie na bazowych maszynach wirtualnych.
Jeśli zestaw skalowania maszyn wirtualnych definiuje tryb automatycznego lub stopniowego uaktualniania w pliku upgradeProfile, zestaw skalowania maszyn wirtualnych automatycznie propaguje zmianę do każdej bazowej maszyny wirtualnej.
Jeśli zestaw skalowania maszyn wirtualnych definiuje tryb ręczny w programie upgradeProfile
, należy również ręcznie zaktualizować każde wystąpienie i rozpropagować zmianę na każdą podstawową maszynę wirtualną.
Uaktualnienia rozszerzeń z wieloma rozszerzeniami
Zestaw skalowania maszyn wirtualnych lub maszyn wirtualnych może mieć wiele rozszerzeń z włączonym automatycznym uaktualnianiem rozszerzeń. Ta sama maszyna wirtualna lub zestaw skalowania mogą również mieć inne rozszerzenia bez włączonego automatycznego uaktualniania rozszerzeń.
Jeśli dla maszyny wirtualnej jest dostępnych wiele uaktualnień rozszerzeń, uaktualnienia mogą być wsadowe razem, ale każde uaktualnienie rozszerzenia jest stosowane indywidualnie na maszynie wirtualnej. Awaria jednego rozszerzenia nie ma wpływu na inne rozszerzenia, które mogą być uaktualniane. Jeśli na przykład zaplanowano uaktualnienie dwóch rozszerzeń, a pierwsze uaktualnienie rozszerzenia zakończy się niepowodzeniem, drugie rozszerzenie jest nadal uaktualniane.
Można również zastosować automatyczne uaktualnianie rozszerzenia, gdy maszyna wirtualna lub zestaw skalowania maszyn wirtualnych ma wiele rozszerzeń skonfigurowanych z sekwencjonowaniem rozszerzeń. Sekwencjonowanie rozszerzeń jest pierwszym wdrożeniem maszyny wirtualnej. Wszelkie przyszłe uaktualnienia rozszerzeń rozszerzenia są stosowane niezależnie.
Różnica między enableAutomaticUpgrade i AutoUpgradeMinorVersion
AutoUpgradeMinorVersion
:- Ta właściwość jest używana podczas tworzenia maszyny wirtualnej i podczas uaktualniania maszyny wirtualnej przy użyciu nowej konfiguracji.
- Po ustawieniu parametru
true
na wartość zapewnia, że najnowsza wersja pomocnicza rozszerzenia zostanie automatycznie zainstalowana na maszynie wirtualnej. TypeHandlerVersion
Zastępuje element najnowszą stabilną dostępną wersją pomocniczą.- Podczas uaktualniania konfiguracji maszyny wirtualnej, jeśli jest dostępna nowa wersja pomocnicza, jest ona uznawana za zmianę konfiguracji. Rozszerzenie jest ponownie instalowane z najnowszą wersją pomocniczą.
- W ten sposób nowo utworzone maszyny wirtualne są na bieżąco z najnowszą stabilną wersją rozszerzenia pomocniczego.
- Jeśli chcesz ręcznie ustawić rozszerzenie na określoną wersję, ustaw tę właściwość na
false
wartość .
EnableAutomaticUpgrade
:- Ta właściwość ma wpływ na istniejące maszyny wirtualne.
- Nie ma to wpływu na wersję zainstalowaną podczas tworzenia maszyny wirtualnej.
- Jeśli po utworzeniu maszyny wirtualnej maszyna wirtualna nie korzysta z najnowszej wersji pomocniczej rozszerzenia, włącz tę właściwość, aby wyzwolić automatyczne uaktualnianie.
- Uaktualnienia nie powodują ponownego uruchomienia maszyny wirtualnej i są wdrażane w bezpieczny sposób. Nieudane uaktualnienia są natychmiast przywracane w celu zapewnienia wysokiej dostępności i niezawodności usługi.
- Istniejące maszyny wirtualne pozostają bezpieczne i aktualne, automatycznie aktualizując je do najnowszej wersji pomocniczej.
Zalecamy włączenie obu właściwości w celu zapewnienia bezpieczeństwa i aktualności wszystkich maszyn wirtualnych.
Uaktualnienia do głównych wersji rozszerzeń nigdy nie są wykonywane automatycznie przez jedną z właściwości, ponieważ główne wersje mogą zawierać zmiany powodujące niezgodność. Należy ręcznie ustawić TypeHandlerVersion
wersję główną i ręcznie uaktualnić każdą istniejącą maszynę wirtualną do najnowszej wersji głównej.