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.

  1. 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.

  2. 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.

  3. 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.

  4. Cloud-init Yapılandırma Aşaması: Bu aşamada,.cfg içinde cloud_config_modules/etc/cloud/cloudtanımlanan ve listelenen modüller çalıştırılır.

  5. Cloud-init Son Aşaması: Bu son aşamada , içinde cloud_final_modules/etc/cloud/cloud.cfglistelenen 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/scriptsdizinlere yerleştirerek çalıştırabilirsiniz:
      • per-boot - bu dizindeki betikler, her yeniden başlatmada çalıştırılır
      • per-instance - Bu dizin içindeki betikler yeni bir örnek ilk önyüklendiğinde çalıştırılır
      • per-once - Bu dizin içindeki betikler yalnızca bir kez çalıştırılır

Sonraki adımlar

Cloud-init sorunlarını giderme.