Sanal makineyi ilk önyüklemede cloud-init ile yapılandırma
Sanal makine oluştururken cloud-init kullanıcı verisi ileterek ilk önyüklemede paket kurun, dosya yazın ve komut çalıştırın.
Kullanıcı verisi, sanal makine ilk kez önyüklendiğinde cloud-init’in çalıştırdığı bir yapılandırma veya betiktir. Sanal makineye giriş yapmadan paket kurmak, dosya yazmak ve komut çalıştırmak için kullanın.
Başlamadan önce
- cloud-init çalıştıran bir imaj kullanın. cloud-init olmadan sanal makine kullanıcı verinizi ve SSH anahtarlarını almaz.
- Kullanıcı verinizi şu biçimlerden birinde metin olarak hazırlayın:
- İlk satırı
#cloud-configolan bir cloud-config belgesi. - İlk satırı
#!ile başlayan bir kabuk betiği; örneğin#!/bin/bash.
- İlk satırı
- Önceden planlayın: kullanıcı verisini yalnızca sanal makine oluştururken belirleyebilirsiniz ve platform mevcut bir sanal makinede kullanıcı verisini değiştirmeyi reddeder. Farklı bir kullanıcı verisi kullanmak için yeni bir sanal makine oluşturun.
Kullanıcı verisi ekleme
Oluşturma sihirbazında Gelişmiş adımına gidin.
Kullanıcı verisi (cloud-init) alanına kullanıcı verinizi yapıştırın. Bunun yerine bir metin dosyasından yüklemek için Dosyadan yükle seçeneğini seçin.
Sihirbazı tamamlayın ve sanal makineyi oluşturun. Bkz. Sanal makine oluşturma.
- Düz metin yapıştırın. Platform kullanıcı verisini sizin için Base64 ile kodlar.
- Dosyadan yükle, alanın içeriğini dosyanın metniyle değiştirir; bu metni yine de düzenleyebilirsiniz. Resim veya program gibi metin olmayan bir dosya reddedilir.
- Sihirbaz kullanıcı verisini taslağında tutmaz. Sihirbazı yeniden yüklerseniz kullanıcı verisini tekrar girin.
- İnceleme adımındaki REST eşdeğeri, kullanıcı verinizi düz metin olarak içerir. Kullanıcı veriniz gizli bilgiler içeriyorsa bunu göz önünde bulundurun.
Örnekler
Bu cloud-config belgesi paket dizinini günceller, nginx’i kurar ve hizmetin çalıştığından emin olur:
#cloud-config
package_update: true
packages:
- nginx
runcmd:
- systemctl enable --now nginxBu cloud-config belgesi bir yapılandırma dosyası yazar:
#cloud-config
write_files:
- path: /etc/myapp/config.json
permissions: "0644"
content: |
{"environment": "production"}Bu kabuk betiği günün mesajını yazar:
#!/bin/bash
echo "Provisioned on $(date -u)" > /etc/motdTüm cloud-config seçenekleri için bkz. cloud-init belgeleri.
Kullanıcı verisi ve giriş ayarları
Kullanıcı verinizin SSH anahtarlarını veya yönetici hesabını içermesi gerekmez. Platform bunları oluşturma sihirbazında seçtiklerinize göre ayarlar.
Sonucu kontrol etme
Sanal makineye giriş yapın. Bkz. Sanal makineye bağlanma.
cloud-init’in bitip bitmediğini ve hata bildirip bildirmediğini görmek için cloud-init status --long komutunu çalıştırın.
Giriş yapamıyorsanız önyükleme çıktısını incelemek için sanal makinenin Bağlan sekmesinde seri konsol günlüğünü indirin. Bkz. Seri konsol günlüğünü indirme.