Aracılığıyla paylaş


Azure'da Linux VM'sinde paketleri güncelleştirmek ve yüklemek için cloud-init kullanma

Dikkat

Bu makale, Kullanım Süresi Sonu (EOL) durumu olan bir Linux dağıtımı olan CentOS'a başvurur. Lütfen kullanımınızı göz önünde bulundurun ve uygun şekilde planlayın. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Bu makalede, Azure'da sağlama zamanında bir Linux sanal makinesinde (VM) veya sanal makine ölçek kümelerindeki paketleri güncelleştirmek için cloud-init'in nasıl kullanılacağı gösterilmektedir. Bu cloud-init betikleri, kaynaklar Azure tarafından sağlandıktan sonra ilk önyüklemede çalıştırılır. Cloud-init'in Azure'da yerel olarak nasıl çalıştığı ve desteklenen Linux dağıtımları hakkında daha fazla bilgi için bkz. cloud-init'e genel bakış

Vm'leri cloud-init ile güncelleştirme

Güvenlik amacıyla, vm'yi ilk önyüklemede en son güncelleştirmeleri uygulayacak şekilde yapılandırmak isteyebilirsiniz. Cloud-init farklı Linux dağıtımlarında çalıştığından, veya paket yöneticisi için belirtmenize aptzypperyum gerek yoktur. Bunun yerine, cloud-init işleminin kullanımdaki dağıtım için uygun mekanizmayı tanımlamasına package_upgrade ve belirlemesine izin verirsiniz.

Bu örnekte Azure Cloud Shell'i kullanacağız. Yükseltme işleminin nasıl çalıştığını görmek için cloud_init_upgrade.txt adlı bir dosya oluşturun ve aşağıdaki yapılandırmayı yapıştırın. İstediğiniz düzenleyiciyi kullanabilirsiniz. Cloud-init dosyasının tamamının, özellikle de ilk satırın doğru kopyalandığından emin olun.

Aşağıdaki metni kopyalayın ve dosyaya yapıştırın cloud_init_upgrade.txt . Cloud-init dosyasının tamamının, özellikle de ilk satırın doğru kopyalandığından emin olun.

#cloud-config
package_upgrade: true
packages:
- httpd

Dağıtmadan önce az group create komutuyla bir kaynak grubu oluşturmanız gerekir. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

az group create --name myResourceGroup --location eastus

Şimdi az vm create ile bir VM oluşturun ve cloud-init dosyasını parametresiyle --custom-data aşağıdaki gibi belirtin:

az vm create \
  --resource-group myResourceGroup \
  --name vmName \
  --image imageCIURN \
  --custom-data cloud_init_upgrade.txt \
  --admin-username azureuser \
  --generate-ssh-keys

Not

myResourceGroup, vmName ve imageCIURN değerlerini uygun şekilde değiştirin. Cloud-init içeren bir görüntünün seçildiğinden emin olun.

Önceki komutun çıkışında gösterilen VM'nizin genel IP adresine SSH. Kendi kullanıcınızı ve publicIpAddress'inizi aşağıdaki gibi girin:

ssh <user>@<publicIpAddress>

Paket yönetim aracını çalıştırın ve güncelleştirmeleri denetleyin:

  • Bekleyen güncelleştirme olmadığını onaylamak için aşağıdaki komutu yürütür
sudo yum check-update

Cloud-init önyüklemede güncelleştirmeleri denetledikçe ve yükledikçe, uygulanacak ek güncelleştirmeler olmamalıdır.

  • Aşağıdaki komutu çalıştırarak güncelleştirme işlemini, değiştirilen paket sayısını ve yüklemesini httpd görebilir ve çıkışı gözden geçirebilirsiniz.
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

Sonraki adımlar

Yapılandırma değişikliklerine ilişkin ek cloud-init örnekleri için aşağıdakilere bakın: