Sanal makine oluşturmak sıkıcıdır. Yüzlerce oluşturmak zaman alıcıdır. cloud-init, Microsoft Azure'da sanal makine oluşturmayı otomatikleştirmenizi sağlar.

Daha önce bir sanal makine kurduysanız, nasıl çalıştığını bilirsiniz. Oraya buraya tıklıyorsunuz, biraz daha tıklıyorsunuz ve sonunda bir sistem kurulumuna sahipsiniz. Ancak yine de yazılımı yüklemeniz ve VM'yi tercihinize göre yapılandırmanız gerekir.

Şimdi yüzlerce sanal makine kurmak istediğinizi hayal edin. Kurulum boyunca yolunuzu tıklatmak o kadar etkili değil. Bunun yerine, süreci olabildiğince otomatikleştirmeniz gerekiyor ve işte burada cloud-init devreye giriyor.

Microsoft Azure'da cloud-init kullanarak işletim sistemi kurulumunu ve sanal makine yapılandırmasını nasıl otomatikleştirebileceğinize bir göz atalım.

Sanal Makine Oluşturmayı Otomatikleştirmek için Neden cloud-init Kullanılmalı?

cloud-init, Ubuntu'nun arkasındaki şirket olan Canonical'ın geliştirdiği güçlü bir devreye alma otomasyon aracıdır.

Cloud-init ile Linux işletim sistemlerini yükleyip konuşlandırabilir ve bir VM'nin diğer özelliklerini yapılandırabilirsiniz. Örneğin, kullanıcı hesapları oluşturmak, yazılım yüklemek ve yapılandırmak, SSH anahtarları eklemek için cloud-init'i kullanabilirsiniz, adını siz koyun.

instagram viewer

Şu anda Azure, Linode ve Amazon Web Services (AWS) gibi bulut hizmeti sağlayıcılarının çoğu cloud-init'i desteklemektedir.

Cloud-init, Ubuntu'da başlamasına rağmen, artık openSUSE, Debian, Red Hat Enterprise Linux (RHEL) vb. gibi tüm büyük Linux dağıtımlarını desteklemektedir.

Bulutta yazılım dağıtmanın yanı sıra, şirket içi sunuculara veya VirtualBox, KVM ve VMware gibi sanal ortamlara yazılım yapılandırmak ve yüklemek için cloud-init'i de kullanabilirsiniz.

Cloud-init kullanarak bir Ubuntu sunucusunun dağıtımını otomatikleştirmek için Microsoft Azure bulut platformunu kullanacağız.

1. Adım: Cloud-init Komut Dosyası Oluşturma

cloud-init betikleri, sisteminizin farklı yönlerini yapılandırmak için modüller kullanır. Örneğin, kullanıcılar kullanıcı bilgilerini ve hesapları yapılandırmak için modül ve tel koruma WireGuard vb. yapılandırmak için modül. Kutudan çıkar çıkmaz kullanabileceğiniz tonlarca başka modül vardır.

Yeni bir sanal makine kurarken yapılandırdığınız çoğu şeyi otomatikleştirmek için bir cloud-init komut dosyası oluşturalım.

"mwiza" adında bir kullanıcı oluşturacağız ve ona bir şifre atayacağız. Kolaylık olsun diye, düz metin bir şifre kullanalım, ancak dilerseniz şifreleyebilirsiniz. Ayrıca, kullanıcının SSH anahtarını yetkili anahtarlara ekleyin. Bu, daha iyi güvenlik için daha sonra SSH parola oturumlarını devre dışı bırakmanıza olanak tanır.

Yeni bir kullanıcı oluşturmanın yanı sıra, betik aşağıdakileri yapmalıdır:

  • Dosya yazmak: Basit bir dosya oluşturun ve bu dosyaya içerik yazın. yazma_dosyaları modül. Dosya ana dizine yerleştirilecektir. Gelecekte daha karmaşık dosyalar oluşturmak için aynı kavramları kullanabilirsiniz.
  • Çalışan komutlar: UFW güvenlik duvarını yapılandırmak için basit komutlar çalıştıracağız, ancak bu başka herhangi bir Linux komutu olabilir. kullanmak runcmd seçtiğiniz herhangi bir komutu çalıştırmak için modül; tarafından Linux komutlarını çalıştırmaya benzer. Bash betiklerini çalıştırma.
  • Yerel ayarları yapılandırma: Bu, klavye düzeni, tercih edilen dil, saat dilimi vb. gibi tercih ettiğiniz yerel ayarları ayarlar.
  • Paketleri yükleyin: Paketleri sisteminize yüklemek için favori paket yöneticinizi kullanın. Örneğin Debian tabanlı sistemlerde APT kullanabilirsiniz.

Bunlar cloud-init'ten kullanabileceğiniz modüllerden sadece birkaçı; her türlü şeyi otomatikleştirmek için başka birkaç modül var.

İşte yeni kullanıcı hesabını yapılandırmak için eksiksiz cloud-init betiği. SSH anahtarını doğru olanla değiştirmeyi unutmayın. Ayrıca, kullanıcı adını ve diğer ayrıntıları değiştirmekten çekinmeyin.

vim: söz dizimi=yaml

# Sistem kullanıcılarını buraya ekleyin
kullanıcılar:
- isim: mwiza
gruplar: kullanıcılar, sudo
Kabuk: /bin/bash
gecos: mwiza
Plain_text_passwd: "Laugh-laugh-love12345G123"
lock_passwd: yanlış
ssh_yetkili_anahtarlar:
- ssh-ed25519 BSHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]

# Paketleri kurun, güncelleyin ve yükseltin
paket_yükseltme: doğru
paket_güncelleme: doğru
package_reboot_if_require: doğru

paketler:
- izleme yolu
- ağ araçları
- başarısız2ban

# Yerel ayarları ayarla
yerel ayar: en_UK
saat dilimi: Etc/UTC
tuş takımı:
düzen: nb

yazma_dosyaları:
- yol: /etc/salt/minion.d/master_ip_port.conf
içerik: |
usta: tuz
master_port: 4506
yayın_bağlantı noktası: 4505
- yol: /home/mwiza/cloud-init.txt
içerik: |
Azure'da cloud-init tarafından oluşturuldu

# Yazılım ve hizmetleri yapılandırmak için Bash komutlarını çalıştırma
runcmd:
- ufw'yi etkinleştir
- ufw ssh'ye izin verir
- ufw 80'e izin verir
- systemctl ufw'yi etkinleştir

# Başlatma tamamlandıktan sonra VM'yi kapatın
kapatma: kapatma

Cloud-init komut dosyası YAML kullanır, bu nedenle girintinin doğru olduğundan emin olun, aksi takdirde beklendiği gibi çalışmaz.

2. Adım: Sanal Makine Kaynağını Oluşturma

Bir sonraki adım, sanal makine için Azure'da gerekli kaynağı oluşturmaktır. Zaten bir hesabınız varsa Azure'da oturum açın veya şu adrese giderek ücretsiz bir deneme hesabı oluşturun: azure.microsoft.com.

Azure portal giriş sayfasında, kaynak oluştur düğme. En popüler Azure hizmetleri listesinden seçin Sanal makine.

Bir sonraki sayfada, sabit disk, ağ vb. VM kaynakları oluşturmaya yönelik bilgiler verilmektedir.

VM'nize anlamlı bir ad verin ve dağıtım bölgesini seçin. Ayrıca sanal makineniz için bir kaynak grubu oluşturun veya mevcut bir grubu kullanın.

Altında kimlik doğrulama yazın, seçin Şifre seçeneğini seçin ve kullanıcı adınızı ve güçlü parolanızı sağlayın.

Bu sayfadaki tüm alanları doldurduktan sonra bilgileriniz aşağıdakine benzer olmalıdır.

3. Adım: cloud-init Komut Dosyanızı Ekleme

Ardından, Gelişmiş cloud-init betiğini eklemek için sekme. İlk adımdaki cloud-init betiğini kopyalayıp özel veri alanına yapıştırın.

Son olarak, tıklayın İncele + oluştur düğme. Her şey yolundaysa, test geçecektir. Aksi takdirde, Azure VM oluşturucusu, yapılacak düzeltmeler konusunda size yol gösterecektir.

4. Adım: Sanal Makinenizde Oturum Açma

Sanal makinenizin genel IP adresini almak ve SSH aracılığıyla oturum açmak için VM genel bakış bilgilerini kullanın. Doğru SSH anahtarını kullandıysanız, sistem sizden kullanıcı parolasını girmenizi istemeyecektir.

Oturum açtıktan sonra, komut dosyası aracılığıyla oluşturmak istediğiniz dosyaların orada olup olmadığını kontrol edebilirsiniz. Ayrıca, APT ile kurulu paketleri arayın kullanarak güvenlik duvarının düzgün yapılandırıldığını kontrol edin. sudo ufw durumu emretmek.

cloud-init ayrıca önemli bilgileri de günlüğe kaydeder. /var/log/cloud-init.log dosya. Cloud-init başlatma sırasında meydana gelen tüm olayların ayrıntılı mesajlarını içerir. Bu dosyayı cat komutunu kullanarak aşağıdaki gibi kontrol edebilirsiniz:

cat /var/log/cloud-init.log

Cloud-init ile Sanal Makine Oluşturmayı Otomatikleştirin

cloud-init, Linux kurulumunu ve kurulumunu otomatikleştirmenize yardımcı olan güçlü bir araçtır. Bulutta ve şirket içi sunucularda kullanabilirsiniz. İster sanal makine dağıtımınızı otomatikleştirmek isteyin, ister büyük ölçekte Linux sunucuları dağıtmak isteyin, cloud-init harika bir seçimdir.

İlgili bir not olarak, güvenlik ihlallerini önlemek için bulut tabanlı sanal makineleriniz için SSH oturum açma bilgilerinizi her zaman güvence altına alın.