Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Bu makalede, Azure'da sağlama zamanında bir sanal makine (VM) veya Sanal Makine Ölçek Kümeleri yapılandırmaya yönelik cloud-init desteği açıklanmaktadır. Bu cloud-init yapılandırmaları, kaynaklar Azure tarafından sağlandıktan sonra ilk önyüklemede çalıştırılır.
VM Sağlama, Azure'ın VM Oluşturma parametre değerlerinizi (hostname, kullanıcı adı ve parola gibi) devretmesi ve bunları VM önyüklenirken kullanılabilir hale getirme işlemidir. Bir 'sağlama aracısı' bu değerleri kullanır, VM'yi yapılandıracak ve tamamlandığında raporlayacaktır.
Azure iki sağlama aracısını destekler: cloud-init ve Azure Linux Aracısı (WALA).
cloud-init'e genel bakış
cloud-init, Linux sanal makinesini ilk kez önyüklendiğinde özelleştirmek için yaygın olarak kullanılan bir yaklaşımdır. cloud-init’i paket yükleme, dosyalara yazma ve kullanıcılar ile güvenliği yapılandırma işlemleri için kullanabilirsiniz. cloud-init ilk önyükleme işlemi sırasında çağrıldığından, yapılandırmanızı uygulamak için ek adım veya gerekli aracılar yoktur. Dosyalarınızı veya diğer girişlerinizi düzgün biçimlendirme #cloud-config
hakkında daha fazla bilgi öğrenmek için cloud-init belge sitesine bakın.
#cloud-config
dosyalar, base64'te kodlanmış metin dosyalarıdır.
cloud-init, dağıtımlar arasında da çalışır. Örneğin, bir paket yüklemek için apt-get install veya yum install kullanmazsınız. Bunun yerine, yüklenecek paketlerin listesini tanımlayabilirsiniz. cloud-init, seçtiğiniz dağıtım için otomatik olarak yerel paket yönetim aracını kullanır.
Azure Market cloud-init özellikli görüntülerin kullanılabilir olması için onaylı Linux dağıtım iş ortaklarımızla etkin bir şekilde çalışıyoruz. Bu görüntüler, bulut başlatma dağıtımlarınızın ve yapılandırmalarınızın VM'ler ve sanal makine ölçek kümeleri ile sorunsuz çalışmasını sağlar. Başlangıçta Azure'daki işletim sistemiyle buluta giriş işlevlerini sağlamak için onaylı Linux dağıtım iş ortakları ve yukarı akış ile işbirliği yapıyoruz, ardından paketler güncelleştiriliyor ve dağıtım paketi depolarında herkese açık hale getiriliyor.
Cloud-init'i Azure'da desteklenen Linux dağıtımları için kullanılabilir hale getirmek için paket desteği ve ardından görüntü desteği olmak üzere iki aşama vardır:
- 'cloud-init paket desteği' belgelerinde, Azure'da hangi cloud-init paketlerinin desteklendiği veya önizleme aşamasında olduğu belirtilmiştir, böylece bu paketleri özel bir görüntüdeki işletim sistemiyle kullanabilirsiniz.
- 'cloud-init hazır görüntü' belgeliyor, bu görüntü zaten cloud-init kullanacak şekilde yapılandırılmış mı.
Canonical
Yayımcı / Sürüm | Teklif | Stok Kod Numarası | Sürüm | cloud-init görüntüsü hazır | Azure'da cloud-init paketi desteği |
---|---|---|---|---|---|
Canonical 24.04 | UbuntuServer | 24.04-LTS | en yeni | evet | evet |
Canonical 22.04 | Ubuntu Sunucusu | 22.04-LTS | en yeni | evet | evet |
Kurallı 20.04 | UbuntuServer | 20.04-LTS | en yeni | evet | evet |
RHEL (Red Hat Enterprise Linux)
Yayımcı / Sürüm | Teklif | Stok Kod Numarası | Sürüm | cloud-init görüntüsü hazır | Azure'da cloud-init paketi desteği |
---|---|---|---|---|---|
RedHat 7 | RHEL (Red Hat Enterprise Linux) | 7.7, 7.8, 7_9 | en yeni | evet | evet |
RedHat 8 | RHEL (Red Hat Enterprise Linux) | 8.1, 8.2, 8_3, 8_4 | en yeni | evet | evet |
RedHat 9 | RHEL (Red Hat Enterprise Linux) | 9_0, 9_1 | en yeni | evet | evet |
- RhEL 7 (sürüm 7.7) ve RHEL 8'den (sürüm 8.1) itibaren hem 1. Nesil hem de 2. Nesil görüntüleri dahil olmak üzere diğer tüm RedHat SKU'ları cloud-init kullanılarak sağlanır. Cloud-init, RHEL 6'da desteklenmez.
Oracle
Yayımcı / Sürüm | Teklif | Stok Kod Numarası | Sürüm | cloud-init görüntüsü hazır | Azure'da cloud-init paketi desteği |
---|---|---|---|---|---|
Oracle 7 | Oracle Linux | 77, 78, ol79 | en yeni | evet | evet |
Oracle 8 | Oracle Linux | 81, ol82, ol83-lvm, ol84-lvm | en yeni | evet | evet |
- Oracle 7 (sürüm 7.7) ve Oracle 8 'den (sürüm 8.1) başlayarak hem 1. Nesil hem de 2. Nesil görüntüleri dahil diğer tüm Oracle SKU'ları cloud-init kullanılarak sağlanır.
SUSE SLES
Yayımcı / Sürüm | Teklif | Stok Kod Numarası | Sürüm | cloud-init görüntüsü hazır | Azure'da cloud-init paketi desteği |
---|---|---|---|---|---|
SUSE 15 | SLES (SUSE Linux Enterprise Server) | sp1, sp2, sp3 | en yeni | evet | evet |
SUSE 12 | SLES (SUSE Linux Enterprise Server) | sp5 | en yeni | evet | evet |
Debian
Yayımcı / Sürüm | Teklif | Stok Kod Numarası | Sürüm | cloud-init görüntüsü hazır | Azure'da cloud-init paketi desteği |
---|---|---|---|---|---|
debian-10 | Debian | 10-cloudinit-gen2 | Debian:debian-10:10-cloudinit-gen2:0.0.1015 | evet | evet |
debian-10 | Debian | 10-cloudinit-gen2 | Debian:debian-10:10-cloudinit-gen2:0.0.991 | evet | evet |
debian-10 | Debian | 10-cloudinit-gen2 | Debian:debian-10:10-cloudinit-gen2:0.0.999 | evet | evet |
Azure Stack şu anda cloud-init özellikli görüntülerin sağlanmasını desteklemektedir.
cloud-init ile Linux Aracısı (WALA) arasındaki fark nedir?
WALA, VM'leri sağlamak ve yapılandırmak ve Azure uzantılarını işlemek için kullanılan Azure platformuna özgü bir aracıdır.
Mevcut cloud-init müşterilerinin mevcut cloud-init betiklerini kullanmasına veya yeni müşterilerin zengin cloud-init yapılandırma işlevinden yararlanmasına olanak sağlamak için VM'leri Linux Aracısı yerine cloud-init kullanacak şekilde yapılandırma görevini geliştiriyoruz. Linux sistemlerini yapılandırmak için cloud-init betiklerine yönelik mevcut yatırımlarınız varsa, cloud-init'in bunları işlemesini etkinleştirmek için ek ayar gerekmez .
cloud-init, Azure uzantılarını işleyemez, bu nedenle uzantıları işlemek için görüntüde WALA gereklidir ancak sağlama kodunun devre dışı bırakılması gerekir. Cloud-init tarafından sağlanana dönüştürülen onaylı Linux dağıtım görüntüleri için WALA yüklüdür ve doğru şekilde kurulur.
VM oluştururken, Azure CLI --custom-data
anahtarını sağlama sırasında eklemezseniz cloud-init veya WALA, VM'yi sağlamak ve dağıtımı varsayılan değerlerle tamamlamak için gereken en düşük VM sağlama parametrelerini kullanır. Cloud-init yapılandırmasına --custom-data
anahtarı ile başvurursanız, özel verilerinizde yer alan her şey VM başlatıldığında cloud-init tarafından kullanılabilir.
VM'lere uygulanan cloud-init yapılandırmalarında zaman kısıtlamaları yoktur ve zaman aşımı nedeniyle dağıtımın başarısız olmasına neden olmaz. WALA için bu durum geçerli değildir. WALA varsayılanlarının özel verileri işleyecek şekilde değiştirirseniz, 40 dakikalık toplam VM sağlama süresini aşamaz; bu durumda VM Oluşturma işlemi başarısız olur.
UDF sürücüsü olmadan cloud-init VM sağlama
cloud-init 21.2 sürümünden başlayarak cloud-init kullanarak Azure'da UDF sürücüsü olmayan bir VM sağlayabilirsiniz. Görüntüde bir UDF sürücüsü yoksa cloud-init, VM'yi sağlamak için Azure Örnek Meta Veri Hizmeti'nde bulunan meta verileri kullanır. Bu seçenek yalnızca SSH anahtarı ve kullanıcı verileri için çalışır. Sağlama sırasında vm'ye parola veya özel veri geçirmek için bir UDF sürücüsü kullanmanız gerekir.
Cloud-init özellikli bir Sanal Makine oluşturma
Cloud-init özellikli bir sanal makine dağıtmak, dağıtım sırasında cloud-init destekli bir dağıtıma başvurmak kadar basittir. Linux dağıtım bakımcıları, cloud-init'i Azure'da yayımlanan temel görüntülerle etkinleştirip tümleştirmeyi seçmelidir. Dağıtmak istediğiniz görüntünün cloud-init özelliğinin etkinleştirildiğini onayladıktan sonra, görüntüyü dağıtmak için Azure CLI'yı kullanabilirsiniz.
Bu görüntüyü dağıtmanın ilk adımı, az group create komutuyla bir kaynak grubu oluşturmaktır . 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
Sonraki adım, geçerli kabuğunuzda cloud-init.txt adlı bir dosya oluşturmak ve aşağıdaki yapılandırmayı yapıştırmaktır. Bu örnekte, dosyayı yerel makinenizde değil Cloud Shell'de oluşturun. İstediğiniz herhangi bir düzenleyiciyi kullanabilirsiniz. Dosyayı oluşturmak ve kullanılabilir düzenleyicilerin listesini görmek için sensible-editor cloud-init.txt girin. Seçtiğiniz düzenleyiciyi kullanın. Bazı tipik seçenekler nano, vim veya ed'dir. Başta birinci satır olmak üzere cloud-init dosyasının tamamının doğru bir şekilde kopyalandığından emin olun:
SLES | Ubuntu | RHEL (Red Hat Enterprise Linux) |
---|---|---|
# cloud-config package_upgrade: true packages: - apache2 |
# cloud-config package_upgrade: true packages: - httpd |
# cloud-config package_upgrade: true packages: - httpd |
Uyarı
cloud-init birden çok giriş türüne sahiptir; cloud-init, girişi nasıl işlemesi gerektiğini belirtmek için customData/userData'nın ilk satırını kullanır, örneğin #cloud-config
içeriğin cloud-init yapılandırması olarak işlenmesi gerektiğini gösterir.
Dosyadan çıkın ve dosyayı düzenleyiciye göre kaydedin. Çıkışta dosya adını doğrulayın.
Son adım, az vm create komutuyla bir VM oluşturmaktır .
Aşağıdaki örnek, ubuntu2204
adında bir VM oluşturur ve (eğer yoksa) varsayılan anahtar konumunda SSH anahtarları oluşturur. Belirli bir anahtar kümesini kullanmak için --ssh-key-value
seçeneğini kullanın.
--custom-data
parametresini kullanarak cloud-init yapılandırma dosyanızı iletin. Dosyayı mevcut çalışma dizininizin dışına kaydettiyseniz cloud-init.txt yapılandırmasının tam yolunu belirtin.
az vm create \
--resource-group myResourceGroup \
--name ubuntu2204 \
--image Canonical:UbuntuServer:22_04-lts:latest \
--custom-data cloud-init.txt \
--generate-ssh-keys
VM oluşturulduğunda, Azure CLI dağıtımınıza özgü bilgileri gösterir.
publicIpAddress
değerini not edin. Bu adres, VM’ye erişmek için kullanılır. VM'nin oluşturulması, paketlerin yüklenmesi ve uygulamanın başlatılması biraz zaman alır. Azure CLI sizi komut istemine geri döndürdükten sonra çalışmaya devam eden arka plan görevleri vardır. VM'de SSH oluşturabilir ve sorun giderme bölümünde açıklanan adımları kullanarak cloud-init günlüklerini görüntüleyebilirsiniz.
Arm şablonunda parametreleri geçirerek cloud-init özellikli bir VM de dağıtabilirsiniz.
Cloud-init sorunlarını giderme
VM sağlandıktan sonra cloud-init, VM'yi yapılandırmak için tanımlanan --custom-data
tüm modüller ve betikler üzerinde çalışır. Yapılandırmadaki hataları veya eksikleri gidermeniz gerekiyorsa, /var/log/cloud-init.logdisk_setup
modül adını (runcmd
veya örneğin) aramanız gerekir.
Uyarı
Her modül hatası önemli bir cloud-init genel yapılandırma hatasıyla sonuçlanmaz. Örneğin, runcmd
modülünü kullanarak, betik başarısız olursa bile, runcmd modülü yürütüldüğü için cloud-init yine de sağlamanın başarılı olduğunu bildirir.
Cloud-init günlüğü hakkında daha fazla bilgi için cloud-init belgelerine bakın
Telemetri
cloud-init, ürünlerimizin ve hizmetlerimizin geliştirilmesine yardımcı olmak için kullanım verilerini toplar ve Microsoft'a gönderir. Telemetri yalnızca sağlama işlemi (VM'nin ilk önyüklemesi) sırasında toplanır. Toplanan veriler sağlama hatalarını araştırmamıza ve performans ile güvenilirliği izlememize yardımcı olur. Toplanan veriler hiçbir tanımlayıcı (kişisel tanımlayıcı) içermez. Daha fazla bilgi edinmek için gizlilik bildirimimizi okuyun. Toplanan telemetri verilerinin bazı örnekleri şunlardır (bu kapsamlı bir liste değildir): İşletim sistemiyle ilgili bilgiler (cloud-init sürümü, dağıtım sürümü, çekirdek sürümü), temel VM sağlama eylemlerinin performans ölçümleri (DHCP kirası alma süresi, VM'yi yapılandırmak için gereken meta verileri alma süresi vb.), cloud-init günlüğü ve dmesg günlüğü.
Telemetri koleksiyonu şu anda cloud-init kullanan market görüntülerimizin çoğu için etkinleştirilmiştir. Cloud-init için KVP telemetri raportörü belirtilerek etkinleştirildi. Çoğu Azure Market görüntüde bu yapılandırma /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg dosyasında bulunabilir. Görüntü hazırlığı sırasında bu dosyanın kaldırılması, bu görüntüden oluşturulan tüm VM'ler için telemetri koleksiyonunu devre dışı bırakır.
10-azure-kvp.cfg örnek içeriği
reporting:
logging:
type: log
telemetry:
type: hyperv
Sonraki adımlar
cloud-init ile ilgili sorunları giderin.
Yapılandırma değişikliklerinin cloud-init örnekleri için aşağıdaki belgelere bakın: