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 apt
zypper
yum
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:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin