Zakázání nebo odebrání agenta Linuxu z virtuálních počítačů a imagí
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Před odebráním agenta pro Linux musíte pochopit, jaký virtuální počítač nebude moct dělat po odebrání agenta Linuxu.
Rozšíření virtuálních počítačů Azure jsou malé aplikace, které poskytují úlohy konfigurace po nasazení a automatizace na virtuálních počítačích Azure, rozšíření se instalují a spravují řídicí rovinou Azure. Je úlohou agenta Azure Linuxu zpracovávat příkazy rozšíření platformy a zajistit správný stav rozšíření uvnitř virtuálního počítače.
Platforma Azure hostuje mnoho rozšíření, která se liší od konfigurace virtuálního počítače, monitorování, zabezpečení a utilitních aplikací. Existuje velký výběr rozšíření první a třetí strany, příklady klíčových scénářů, pro které se rozšíření používají:
- Podpora služeb Azure první strany, jako je Azure Backup, Monitorování, Šifrování disků, Zabezpečení, Replikace lokality a další.
- Resetování hesla s protokolem SSH
- Konfigurace virtuálního počítače – Spouštění vlastních skriptů, instalace Chefu, agentů Puppet atd.
- Produkty třetích stran, jako jsou produkty AV, nástroje pro ohrožení zabezpečení virtuálních počítačů, nástroje pro monitorování virtuálních počítačů a aplikací.
- Rozšíření je možné sbalit s novým nasazením virtuálního počítače. Můžou být například součástí většího nasazení, konfigurací aplikací na zřizování virtuálních počítačů nebo spuštěním v jakémkoli podporovaném systému provozovaném rozšířením po nasazení.
Zakázání zpracování rozšíření
V závislosti na vašich potřebách můžete zakázat zpracování rozšíření několika způsoby, ale než budete pokračovat, musíte odebrat všechna rozšíření nasazená na virtuální počítač, například pomocí Azure CLI, můžete vypsat a odstranit:
az vm extension delete -g MyResourceGroup --vm-name MyVm -n extension_name
Poznámka:
Pokud výše uvedené kroky neuděláte, platforma se pokusí odeslat konfiguraci rozšíření a vypršení časového limitu po 40 minutách.
Zakázání v řídicí rovině
Pokud si nejste jistí, jestli budete v budoucnu potřebovat rozšíření, můžete nechat agenta Linuxu nainstalovaného na virtuálním počítači a pak zakázat funkci zpracování rozšíření z platformy. Tato možnost je dostupná ve Microsoft.Compute
verzi 2018-06-01
rozhraní API nebo vyšší a nemá závislost na nainstalované verzi agenta pro Linux.
az vm update -g <resourceGroup> -n <vmName> --set osProfile.allowExtensionOperations=false
Toto zpracování rozšíření můžete snadno obnovit z platformy pomocí výše uvedeného příkazu, ale nastavit ho na true.
Odebrání agenta Linuxu ze spuštěného virtuálního počítače
Ujistěte se, že jste z virtuálního počítače odebrali všechna existující rozšíření, jak je uvedeno výše.
Krok 1: Odebrání agenta Azure Linux
Pokud jenom odeberete agenta Linuxu a ne přidružené artefakty konfigurace, můžete je později znovu nainstalovat. Pokud chcete odebrat agenta Azure Linux, spusťte jeden z následujících příkazů jako root:
Pro Ubuntu 18.04+
sudo apt -y remove walinuxagent
Pro Redhat 7.X, 8.X a 9.X
sudo yum -y remove WALinuxAgent
Pro SUSE 12.X, 15.X
sudo zypper --non-interactive remove python-azure-agent
Krok 2: (Volitelné) Odebrání artefaktů agenta Azure Linux
Důležité
Můžete odebrat všechny přidružené artefakty agenta pro Linux, ale to bude znamenat, že ho nebudete moct později přeinstalovat. Proto důrazně doporučujeme nejprve zakázat linuxového agenta a odebrat agenta pro Linux pouze pomocí výše uvedeného.
Pokud víte, že znovu nenainstalujete linuxového agenta, můžete spustit následující příkaz:
Pro Ubuntu 18.04+
sudo pt -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
Pro Redhat 7.X, 8.X, 9.X
sudo yum -y remove WALinuxAgent
sudo rm -f /etc/waagent.conf.rpmsave
sudo rm -rf /var/lib/waagent
sudo rm -f /var/log/waagent.log
Pro SUSE 12.X, 15.X
sudo zypper --non-interactive remove python-azure-agent
sudo rm -f /etc/waagent.conf.rpmsave
sudo rm -rf /var/lib/waagent
sudo rm -f /var/log/waagent.log
Příprava image bez agenta pro Linux
Pokud máte image, která už obsahuje cloud-init, a chcete odebrat agenta pro Linux, ale přesto zřídit pomocí cloud-init, spusťte kroky v kroku 2 (a volitelně krok 3) jako kořen pro odebrání agenta Azure Linux a pak následující kroky odeberou konfiguraci cloud-init a data uložená v mezipaměti a připraví virtuální počítač k vytvoření vlastní image.
sudo cloud-init clean --logs --seed
Zrušení zřízení a vytvoření image
Agent Pro Linux má možnost vyčistit některá z existujících metadat imagí a krok waagent -deprovision+user, ale po jeho odebrání budete muset provést akce, jako je následující, a odebrat z něj všechna ostatní citlivá data.
Odebrání všech existujících klíčů hostitele SSH
sudo rm /etc/ssh/ssh_host_*key*
Odstranění účtu správce
sudo touch /var/run/utmp sudo userdel -f -r <admin_user_account>
Odstranění kořenového hesla
sudo passwd -d root
Po dokončení výše uvedeného postupu můžete vytvořit vlastní image pomocí Azure CLI.
Vytvoření běžné spravované image
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>
Vytvoření verze image v Galerii výpočetních prostředků 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
Vytvoření virtuálního počítače z image, která neobsahuje agenta Linuxu
Při vytváření virtuálního počítače z image bez agenta pro Linux je potřeba zajistit, aby konfigurace nasazení virtuálního počítače indikuje, že na tomto virtuálním počítači nejsou podporovaná rozšíření.
Poznámka:
Pokud výše uvedené kroky neuděláte, platforma se pokusí odeslat konfiguraci rozšíření a vypršení časového limitu po 40 minutách.
Pokud chcete nasadit virtuální počítač se zakázanými rozšířeními, můžete použít Azure CLI s agentem --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
Případně to můžete udělat pomocí šablon Azure Resource Manageru (ARM) nastavením "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')]"
Další kroky
Další informace najdete v tématu Zřizování Linuxu.