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 ✔️
Przed usunięciem agenta systemu Linux należy zrozumieć, jaka maszyna wirtualna nie będzie mogła zrobić po usunięciu agenta systemu Linux.
Rozszerzenia maszyn wirtualnych (VM) w platformie Azure to małe aplikacje, które zapewniają konfigurację i automatyzację po wdrożeniu na maszynach wirtualnych Azure; są instalowane i zarządzane przez platformę Azure w płaszczyźnie sterowania. Jest to zadanie agenta systemu Linux platformy Azure do przetwarzania poleceń rozszerzenia platformy i zapewnienia prawidłowego stanu rozszerzenia wewnątrz maszyny wirtualnej.
Platforma Azure hostuje wiele rozszerzeń, które wahają się od konfiguracji maszyny wirtualnej, monitorowania, zabezpieczeń i aplikacji narzędziowych. Istnieje duży wybór rozszerzeń pierwszych i zewnętrznych firm, przykłady kluczowych przypadków użycia, w których korzysta się z rozszerzeń:
- Obsługa usług platformy Azure innych firm, takich jak Azure Backup, Monitorowanie, Szyfrowanie dysków, Zabezpieczenia, Replikacja lokacji i inne.
- Resetowanie haseł/SSH
- Konfiguracja maszyny wirtualnej — uruchamianie skryptów niestandardowych, instalowanie programów Chef, agentów puppet itp.
- Produkty innych firm, takie jak produkty antywirusowe, narzędzia do wykrywania podatności maszyn wirtualnych, narzędzia do monitorowania maszyn wirtualnych i aplikacji.
- Rozszerzenia można powiązać z nowym wdrożeniem maszyny wirtualnej. Na przykład mogą one być częścią bardziej rozbudowanego wdrożenia, konfigurowania aplikacji podczas aprowizacji maszyny wirtualnej lub działania na wszystkich obsługiwanych systemach operacyjnych po wdrożeniu.
Wyłączanie przetwarzania rozszerzeń
Istnieje kilka sposobów wyłączenia przetwarzania rozszerzeń, w zależności od potrzeb, ale przed kontynuowaniem musisz usunąć wszystkie rozszerzenia wdrożone na maszynie wirtualnej, na przykład przy użyciu interfejsu wiersza polecenia platformy Azure, można wyświetlić listę i usunąć:
az vm extension delete -g MyResourceGroup --vm-name MyVm -n extension_name
Uwaga / Notatka
Jeśli nie wykonasz powyższych czynności, platforma spróbuje przesłać konfigurację rozszerzenia i przekroczy limit czasu po 40 minutach.
Wyłącz na płaszczyźnie sterowania
Jeśli nie masz pewności, czy będziesz potrzebować rozszerzeń w przyszłości, możesz opuścić agenta systemu Linux zainstalowanego na maszynie wirtualnej, a następnie wyłączyć możliwość przetwarzania rozszerzeń z platformy. Ta opcja jest dostępna w Microsoft.Compute wersji 2018-06-01 interfejsu API lub nowszej i nie ma zależności od zainstalowanej wersji agenta systemu Linux.
az vm update -g <resourceGroup> -n <vmName> --set osProfile.allowExtensionOperations=false
Można łatwo przywrócić przetwarzanie tego rozszerzenia na platformie poprzez powyższe polecenie, ale ustaw je na 'true'.
Usuwanie agenta systemu Linux z uruchomionej maszyny wirtualnej
Upewnij się, że wszystkie istniejące rozszerzenia z maszyny wirtualnej zostały wcześniej usunięte zgodnie z powyższymi instrukcjami.
Krok 1. Usuwanie agenta systemu Linux platformy Azure
Jeśli po prostu usuniesz agenta systemu Linux, a nie skojarzone artefakty konfiguracji, możesz ponownie zainstalować go później. Uruchom jedną z następujących komend jako użytkownik root, aby usunąć Agenta Linux dla platformy Azure:
Krok 2. (Opcjonalnie) Usuwanie artefaktów agenta systemu Linux platformy Azure
Ważne
Możesz usunąć wszystkie skojarzone artefakty agenta systemu Linux, ale oznacza to, że nie będzie można go ponownie zainstalować w późniejszym terminie. Dlatego zdecydowanie zaleca się najpierw rozważyć wyłączenie agenta systemu Linux, a następnie jego usunięcie, korzystając wyłącznie z opisanej powyżej metody.
Jeśli wiesz, że nigdy nie ponownie zainstalujesz agenta systemu Linux, możesz uruchomić następujące polecenie:
#For Ubuntu 18.04+:
sudo apt -y purge walinuxagent
sudo cp -rp /var/lib/waagent /var/lib/waagent.bkp
sudo rm -rf /var/lib/waagent
sudo rm -f /var/log/waagent.log
Przygotowywanie obrazu bez agenta systemu Linux
Jeśli masz plik obrazu, który zawiera już cloud-init i chcesz usunąć agenta systemu Linux, ale nadal aprowizować przy użyciu cloud-init, uruchom kroki opisane w kroku 2 (i opcjonalnie krok 3) jako użytkownik root, aby usunąć Azure Linux Agent. Następnie poniższe kroki usuną konfigurację cloud-init i buforowane dane, przygotowując maszynę wirtualną do utworzenia niestandardowego obrazu.
sudo cloud-init clean --logs --seed
Cofnij aprowizację i utwórz obraz
Agent systemu Linux ma możliwość wyczyszczenia niektórych istniejących metadanych obrazu za pomocą polecenia "waagent -deprovision+user", jednak po usunięciu metadanych należy, w razie konieczności, wykonać działania, takie jak poniżej, i usunąć wszelkie inne poufne dane.
Usuń wszystkie istniejące klucze hosta SSH
sudo rm /etc/ssh/ssh_host_*key*Usuwanie konta administratora
sudo touch /var/run/utmp sudo userdel -f -r <admin_user_account>Usuwanie hasła głównego
sudo passwd -d root
Po wykonaniu powyższych czynności możesz utworzyć obraz niestandardowy przy użyciu interfejsu wiersza polecenia platformy Azure.
Tworzenie standardowego obrazu zarządzanego
az vm deallocate -g <resource_group> -n <vm_name>
az vm generalize -g <resource_group> -n <vm_name>
az image create -g <resource_group> -n <image_name> --source <vm_name>
Tworzenie wersji obrazu w galerii zasobów obliczeniowych platformy Azure
az sig image-version create \
-g $sigResourceGroup
--gallery-name $sigName
--gallery-image-definition $imageDefName
--gallery-image-version 1.0.0
--managed-image /subscriptions/00000000-0000-0000-0000-00000000xxxx/resourceGroups/imageGroups/providers/images/MyManagedImage
Tworzenie maszyny wirtualnej na podstawie obrazu, który nie zawiera agenta systemu Linux
Podczas tworzenia maszyny wirtualnej na podstawie obrazu bez agenta systemu Linux należy upewnić się, że konfiguracja wdrożenia maszyny wirtualnej wskazuje, że rozszerzenia nie są obsługiwane na tej maszynie wirtualnej.
Uwaga / Notatka
Jeśli nie wykonasz powyższych czynności, platforma spróbuje przesłać konfigurację rozszerzenia i przekroczy limit czasu po 40 minutach.
Aby wdrożyć maszynę wirtualną z wyłączonymi rozszerzeniami, możesz użyć interfejsu wiersza polecenia platformy Azure z poleceniem --enable-agent.
az vm create \
--resource-group $resourceGroup \
--name $prodVmName \
--image RedHat:RHEL:8.1-ci:latest \
--admin-username azadmin \
--ssh-key-value "$sshPubkeyPath" \
--enable-agent false
Alternatywnie można to zrobić przy użyciu szablonów usługi Azure Resource Manager (ARM), ustawiając wartość "provisionVMAgent": false,.
"osProfile": {
"computerName": "[parameters('virtualMachineName')]",
"adminUsername": "[parameters('adminUsername')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"provisionVMAgent": false,
"ssh": {
"publicKeys": [
{
"path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]",
"keyData": "[parameters('adminPublicKey')]"
Dalsze kroki
Aby uzyskać więcej informacji, zobacz Provisioning Linux (Aprowizowanie systemu Linux).