Megosztás a következőn keresztül:


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.aptzypper 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: