Csomagok frissítése és telepítése Linux rendszerű virtuális gépen az Azure-ban a cloud-init használatával
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Ez a cikk bemutatja, hogyan frissíthet csomagokat Linux rendszerű virtuális gépeken (virtuális gépeken) vagy virtuálisgép-méretezési csoportokon a cloud-init használatával az Azure-ban való üzembe helyezéskor. Ezek a cloud-init szkriptek első indításkor futnak, miután az Azure kiépítette az erőforrásokat. A cloud-init natív működésével és a támogatott Linux-disztribúciókkal kapcsolatos további információkért tekintse meg a cloud-init áttekintését
Virtuális gép frissítése a cloud-inittel
Biztonsági okokból érdemes lehet konfigurálni egy virtuális gépet, hogy a legújabb frissítéseket alkalmazza az első rendszerindításkor. Mivel a cloud-init különböző Linux-disztribúciókban működik, nincs szükség a csomagkezelő vagy yum
a csomagkezelő megadására.apt
zypper
Ehelyett definiálja package_upgrade
és hagyja, hogy a cloud-init folyamat határozza meg a használatban lévő disztribúció megfelelő mechanizmusát.
Ebben a példában az Azure Cloud Shellt használjuk. A frissítési folyamat működés közbeni megtekintéséhez hozzon létre egy cloud_init_upgrade.txt nevű fájlt, és illessze be a következő konfigurációt. Bármelyik szerkesztőt használhatja. Győződjön meg arról, hogy a teljes cloud-init fájl másolása helyesen történik, különösen az első sorban.
Másolja ki az alábbi szöveget, és illessze be a cloud_init_upgrade.txt
fájlba. Győződjön meg arról, hogy a teljes cloud-init fájl másolása helyesen történik, különösen az első sorban.
#cloud-config
package_upgrade: true
packages:
- httpd
Az üzembe helyezés előtt létre kell hoznia egy erőforráscsoportot az az group create paranccsal. Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen.
az group create --name myResourceGroup --location eastus
Most hozzon létre egy virtuális gépet az az vm create használatával, és adja meg a cloud-init fájlt a paraméterrel az --custom-data
alábbiak szerint:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_upgrade.txt \
--admin-username azureuser \
--generate-ssh-keys
Feljegyzés
Ennek megfelelően cserélje le a myResourceGroup, a vmName és az imageCIURN értékeket. Győződjön meg arról, hogy a Cloud-inittel rendelkező rendszerkép van kiválasztva.
SSH a virtuális gép nyilvános IP-címére, amely az előző parancs kimenetében látható. Adja meg a saját felhasználóját és a publicIpAddresst az alábbiak szerint:
ssh <user>@<publicIpAddress>
Futtassa a csomagkezelő eszközt, és ellenőrizze a frissítéseket:
- Futtassa a következő parancsot annak megerősítéséhez, hogy nincsenek függőben lévő frissítések
sudo yum check-update
Mivel a cloud-init ellenőrizte és telepítette a frissítéseket a rendszerindításkor, nem kell további frissítéseket alkalmazni.
- A következő parancs futtatásával és a kimenet áttekintésével
httpd
megtekintheti a frissítési folyamatot, a módosított csomagok számát és telepítését.
sudo yum history
ID | Command line | Date and time | Action(s) | Altered
--------------------------------------------------------------------------------------------------
3 | -y install httpd | 2022-02-18 18:30 | Install | 7
2 | -y upgrade | 2022-02-18 18:23 | I, O, U | 321 EE
1 | | 2021-02-04 19:20 | Install | 496 EE
Következő lépések
A konfigurációs változásokra vonatkozó további cloud-init példákért tekintse meg a következőket: