Cloud-init'e daha yakından bakma
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Cloud-init hakkında daha fazla bilgi edinmek veya daha derin bir düzeyde sorun gidermek için nasıl çalıştığını anlamanız gerekir. Bu belge önemli bölümleri vurgular ve Azure'a özgü ayrıntıları açıklar.
Cloud-init genelleştirilmiş bir görüntüye eklendiğinde ve bu görüntüden bir VM oluşturulduğunda yapılandırmaları işler ve ilk önyükleme sırasında beş aşamada çalışır. Bu aşamalar cloud-init'in yapılandırmalarını hangi noktada uyguladığını gösterir.
Cloud-Init yapılandırmasını anlama
Vm'yi bir platformda çalışacak şekilde yapılandırmak, birden çok yapılandırma uygulamak için cloud-init kullanır. Etkileşimde olduğunuz ana yapılandırmalar, birden çok biçimi destekleyen (customData) yapılandırmalarıdır User data
. Daha fazla bilgi için bkz . Kullanıcı-Veri Biçimleri ve cloud-init 21.2 belgeleri. Ayrıca, diğer yapılandırmalar için betikler (/var/lib/cloud/script) ekleme ve çalıştırma olanağınız da vardır.
Önceden yapılandırılmış Azure Market görüntüleri
Bazı yapılandırmalar, cloud-init ile birlikte gelen Azure Market görüntülerde zaten işlenmiştir.
Bulut veri kaynağı - cloud-init, bulut platformlarıyla etkileşim kurabilen kodlar içerir ve bu kodlara 'veri kaynakları' adı verilir. Azure'daki bir cloud-init görüntüsünden vm oluşturulduğunda cloud-init, VM'ye özgü yapılandırmayı almak için Azure meta veri uç noktalarıyla etkileşim kuran Azure veri kaynağını yükler.
Çalışma zamanı yapılandırması (/run/cloud-init).
görüntü yapılandırması (/etc/cloud), gibi
/etc/cloud/cloud.cfg
./etc/cloud/cloud.cfg.d/*.cfg
Bu yapılandırmanın Azure'da kullanıldığı bir örnek olarak, cloud-init içeren Linux işletim sistemi görüntülerinin cloud-init'e kullanması gereken veri kaynağını bildiren bir Azure veri kaynağı yönergesi olması yaygındır; bu yapılandırma cloud-init zamanından tasarruf sağlar:sudo cat /etc/cloud/cloud.cfg.d/90_dpkg.cfg
# to update this file, run dpkg-reconfigure cloud-init datasource_list: [ Azure ]
Cloud-init önyükleme aşamaları (işleme yapılandırması)
VM'leri cloud-init ile sağlarken beş yapılandırma önyükleme aşaması vardır. Bu aşamaların çıktısı günlüklerde görünür.
Oluşturucu Aşaması: Cloud-init sistemli oluşturucu başlatılır ve cloud-init'in önyükleme hedeflerine dahil edilmesi gerektiğini belirler ve bu durumda cloud-init'i etkinleştirir.
Cloud-init Yerel Aşaması: Burada cloud-init, cloud-init'in Azure ile arabirim oluşturmasını ve geri dönüş de dahil olmak üzere bir ağ yapılandırması uygulamasını sağlayan yerel "Azure" veri kaynağını arar.
Cloud-init init Stage (Ağ): Ağ çevrimiçi olmalı ve NIC ve yönlendirme tablosu bilgileri oluşturulmalıdır. Bu aşamada içinde listelenen
cloud_init_modules
/etc/cloud/cloud.cfg
modüller çalıştırılır. Azure'daki VM bağlanır, kısa ömürlü disk biçimlendirilir, konak adı diğer görevlerle birlikte ayarlanır.Aşağıdakilerden bazıları
cloud_init_modules
şunlardır:- migrator - seed_random - bootcmd - write-files - growpart - resizefs - disk_setup - mounts - set_hostname - update_hostname - ssh
Bu aşamadan sonra cloud-init, Azure platformuna VM'nin başarıyla sağlandığını belirten bir sinyal gönderir. Bazı modüller başarısız olmuş olabilir, ancak tüm modül hataları otomatik olarak sağlama hatasına neden olmaz.
Cloud-init Yapılandırma Aşaması: Bu aşamada,.cfg içinde
cloud_config_modules
/etc/cloud/cloud
tanımlanan ve listelenen modüller çalıştırılır.Cloud-init Son Aşaması: Bu son aşamada , içinde
cloud_final_modules
/etc/cloud/cloud.cfg
listelenen modüller çalıştırılır. Burada, paket yüklemeleri ve çalıştırma betikleri gibi önyükleme işlemi çalıştırmasında geç çalıştırılması gereken modüller.- Bu aşamada, betikleri altındaki
/var/lib/cloud/scripts
dizinlere yerleştirerek çalıştırabilirsiniz:per-boot
- bu dizindeki betikler, her yeniden başlatmada çalıştırılırper-instance
- Bu dizin içindeki betikler yeni bir örnek ilk önyüklendiğinde çalıştırılırper-once
- Bu dizin içindeki betikler yalnızca bir kez çalıştırılır
- Bu aşamada, betikleri altındaki
Sonraki adımlar
Cloud-init sorunlarını giderme.