Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️
Funkcja Uruchom polecenie używa agenta maszyny wirtualnej do uruchamiania skryptów powłoki na maszynie wirtualnej z systemem Linux platformy Azure. Tych skryptów można użyć do ogólnego zarządzania maszynami lub aplikacjami. Mogą one ułatwić szybkie diagnozowanie i korygowanie problemów z dostępem do maszyny wirtualnej i siecią oraz powrót maszyny wirtualnej do dobrego stanu.
Korzyści
Dostęp do maszyn wirtualnych można uzyskać na wiele sposobów. Uruchom polecenie umożliwia zdalne uruchamianie skryptów na maszynach wirtualnych przy użyciu agenta maszyny wirtualnej. Użyj polecenia Uruchom za pośrednictwem witryny Azure Portal, interfejsu API REST lub interfejsu wiersza polecenia platformy Azure dla maszyn wirtualnych z systemem Linux.
Ta funkcja jest przydatna we wszystkich scenariuszach, w których chcesz uruchomić skrypt na maszynie wirtualnej. Jest to jeden z jedynych sposobów rozwiązywania problemów i korygowania maszyny wirtualnej, która nie ma otwartego portu RDP lub SSH z powodu konfiguracji sieci lub użytkownika administracyjnego.
Wymagania wstępne
Obsługiwane dystrybucje systemu Linux
| Publisher | Dystrybucja | x64 | ARM64 |
|---|---|---|---|
| Społeczność Alma Linux | Alma Linux | 8.x+, 9.x+ | 8.x+, 9.x+ |
| Credativ | Debian | Ponad 10 | 11.x+ |
| Kinvolk | Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
| Microsoft | Azure Linux | 2.x | 2.x |
| openSUSE Project | openSUSE | 12.3+ | nieobsługiwane. |
| Oracle | Oracle Linux | 6.4+, 7.x+, 8.x+ | nieobsługiwane. |
| Red Hat | Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+, 10.x+ | 8.6+, 9.0+, 10.x+ |
| CIQ | Rocky Linux | 9.x+ | 9.x+ |
| SUSE | SLES | 12.x+, 15.x+ | 15.x SP4+ |
| Canonical | Ubuntu (wersje LTS) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Restrictions
Podczas korzystania z polecenia Uruchom obowiązują następujące ograniczenia:
- Dane wyjściowe są ograniczone do ostatnich 4096 bajtów.
- Minimalny czas uruchamiania skryptu wynosi około 20 sekund.
- Skrypty są uruchamiane domyślnie jako użytkownik z podwyższonym poziomem uprawnień w systemie Linux.
- Można uruchomić jeden skrypt naraz.
- Skrypty monitujące o informacje (tryb interaktywny) nie są obsługiwane.
- Nie można anulować uruchomionego skryptu.
- Maksymalny czas uruchomienia skryptu wynosi 90 minut. Następnie upłynął limit czasu skryptu.
- Aby zwrócić wyniki skryptu, wymagana jest łączność wychodząca z maszyny wirtualnej.
Uwaga / Notatka
Aby działać poprawnie, uruchom polecenie wymaga łączności (port 443) z publicznymi adresami IP platformy Azure. Jeśli rozszerzenie nie ma dostępu do tych punktów końcowych, skrypty mogą działać pomyślnie, ale nie zwracają wyników. Jeśli blokujesz ruch na maszynie wirtualnej, możesz użyć tagów usługi , aby zezwolić na ruch do publicznych adresów IP platformy Azure przy użyciu tagu AzureCloud .
Dostępne polecenia
W tej tabeli przedstawiono listę poleceń dostępnych dla maszyn wirtualnych z systemem Linux. Możesz użyć polecenia RunShellScript , aby uruchomić dowolny skrypt niestandardowy. Jeśli używasz interfejsu wiersza polecenia platformy Azure lub programu PowerShell do uruchomienia polecenia, wartość podana dla parametru --command-id or -CommandId musi być jedną z następujących wartości. Po określeniu wartości, która nie jest dostępnym poleceniem, zostanie wyświetlony następujący błąd:
The entity was not found in this Azure location
| Nazwa | Opis | Więcej informacji |
|---|---|---|
| RunShellScript | Uruchamia skrypt powłoki systemu Linux. | |
| ifconfig | Pobiera konfigurację wszystkich interfejsów sieciowych. | readme |
Azure CLI
W poniższym przykładzie użyto polecenia az vm run-command , aby uruchomić skrypt powłoki na maszynie wirtualnej z systemem Linux platformy Azure.
az vm run-command invoke -g myResourceGroup -n myVm --command-id RunShellScript --scripts "apt-get update && apt-get install -y nginx"
Uwaga / Notatka
Aby uruchomić polecenia jako inny użytkownik, wprowadź, sudo -u aby określić konto użytkownika.
Azure Portal
Przejdź do maszyny wirtualnej w witrynie Azure Portal i wybierz polecenie Uruchom w menu po lewej stronie w obszarze Operacje. Zostanie wyświetlona lista dostępnych poleceń do uruchomienia na maszynie wirtualnej.
Wybierz polecenie do uruchomienia. Niektóre polecenia mogą mieć opcjonalne lub wymagane parametry wejściowe. W przypadku tych poleceń parametry są prezentowane jako pola tekstowe, które umożliwiają podanie wartości wejściowych. Dla każdego polecenia można wyświetlić skrypt, który jest uruchamiany, rozwijając węzeł Wyświetl skrypt. Skrypt RunShellScript różni się od innych poleceń, ponieważ umożliwia podanie własnego niestandardowego skryptu.
Uwaga / Notatka
Wbudowane polecenia nie są edytowalne.
Po wybraniu polecenia wybierz pozycję Uruchom , aby uruchomić skrypt. Po zakończeniu działania skryptu zwraca dane wyjściowe i wszelkie błędy w oknie danych wyjściowych. Poniższy zrzut ekranu przedstawia przykładowe dane wyjściowe z uruchomienia polecenia ifconfig .
PowerShell
W poniższym przykładzie użyto polecenia cmdlet Invoke-AzVMRunCommand do uruchomienia skryptu programu PowerShell na maszynie wirtualnej platformy Azure. Polecenie cmdlet oczekuje, że skrypt przywoływany w parametrze -ScriptPath będzie lokalny, do którego jest uruchamiane polecenie cmdlet.
Invoke-AzVMRunCommand -ResourceGroupName '<myResourceGroup>' -Name '<myVMName>' -CommandId 'RunShellScript' -ScriptPath '<pathToScript>' -Parameter @{"arg1" = "var1";"arg2" = "var2"}
Ograniczanie dostępu do uruchamiania polecenia
Wyświetlenie listy poleceń uruchamiania lub wyświetlenie szczegółów polecenia wymaga Microsoft.Compute/locations/runCommands/read uprawnienia na poziomie subskrypcji. Wbudowana rola Czytelnik i wyższe poziomy mają to uprawnienie.
Uruchomienie polecenia wymaga Microsoft.Compute/virtualMachines/runCommands/write uprawnienia. Rola Współautor maszyny wirtualnej i wyższe poziomy mają to uprawnienie.
Możesz użyć jednej z wbudowanych ról lub utworzyć rolę niestandardową , aby użyć polecenia Uruchom.
Rozwiązywanie problemów z poleceniem uruchamiania akcji w systemie Linux
Podczas rozwiązywania problemów z poleceniem uruchamiania akcji dla środowisk systemu Linux zapoznaj się z plikiem dziennika programu obsługi znajdującym się zwykle w następującym katalogu: /var/log/azure/run-command/handler.log aby uzyskać więcej informacji.
Znane problemy
Dzienniki poleceń uruchamiania akcji systemu Linux mają kilka istotnych różnic w porównaniu z dziennikami poleceń uruchomienia akcji systemu Windows:
- Numer sekwencji jest zgłaszany z każdym wierszem dziennika jako "seq=#"
- Nie będzie wiersza, który zawiera
Awaiting completion..., ponieważ będzie to w akcji uruchomić polecenie tylko systemu Windows. - Wiersz
Command existed with code: #jest również obecny tylko w akcji uruchom polecenie Rejestrowanie systemu Windows.
Usuwanie polecenia uruchomienia akcji
Jeśli konieczne jest usunięcie akcji uruchom rozszerzenie systemu Linux, zapoznaj się z poniższymi krokami dotyczącymi programu Azure PowerShell i interfejsu wiersza polecenia:
Zastąp ciąg rgname i vmname odpowiednią nazwą grupy zasobów i nazwą maszyny wirtualnej w poniższych przykładach usuwania.
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RemoveRunCommandLinuxExtension'
az vm run-command invoke --command-id RemoveRunCommandLinuxExtension --name vmname -g rgname
Uwaga / Notatka
Po ponownym zastosowaniu polecenia Uruchom rozszerzenie zostanie zainstalowane automatycznie. Możesz użyć polecenia usuwania rozszerzenia, aby rozwiązać wszelkie problemy związane z rozszerzeniem.
Dalsze kroki
Aby dowiedzieć się więcej o innych sposobach zdalnego uruchamiania skryptów i poleceń na maszynie wirtualnej, zobacz Uruchamianie skryptów na maszynie wirtualnej z systemem Linux.