Aracılığıyla paylaş


Azure'da sanal makinelerle altyapı otomasyon araçlarını kullanma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri

Azure sanal makinelerini (VM) büyük ölçekte tutarlı bir şekilde oluşturmak ve yönetmek için genellikle bir otomasyon biçimi istenir. Azure altyapısı dağıtım ve yönetim yaşam döngüsünün tamamını otomatikleştirmenize olanak sağlayan birçok araç ve çözüm vardır. Bu makalede, Azure'da kullanabileceğiniz bazı altyapı otomasyon araçları tanıtılabilir. Bu araçlar genellikle aşağıdaki yaklaşımlardan birine uygundur:

Terraform

Terraform , tek şablon biçimli bir dil olan HashiCorp Yapılandırma Dili (HCL) ile azure altyapısının tamamını tanımlamanıza ve oluşturmanıza olanak tanıyan bir otomasyon aracıdır. Terraform ile belirli bir uygulama çözümü için ağ, depolama ve VM kaynakları oluşturma işlemini otomatik hale getiren şablonlar tanımlarsınız. Tutarlılığı sağlamak ve Azure Resource Manager şablonuna dönüştürmeye gerek kalmadan altyapı dağıtımını basitleştirmek için azure ile diğer platformlar için mevcut Terraform şablonlarınızı kullanabilirsiniz.

Şunları nasıl yapacağınızı öğrenin:

Azure Automation

Azure Otomasyonu, hedeflediğiniz VM'lerde bir dizi görevi işlemek için runbook'ları kullanır. Azure Otomasyonu, altyapı oluşturmak yerine mevcut VM'leri yönetmek için kullanılır. Azure Otomasyonu hem Linux hem de Windows VM'lerinde ve karma runbook çalışanı olan şirket içi sanal veya fiziksel makinelerde çalışabilir. Runbook'lar GitHub gibi bir kaynak denetimi deposunda depolanabilir. Bu runbook'lar daha sonra el ile veya tanımlı bir zamanlamaya göre çalıştırılabilir.

Azure Otomasyonu ayrıca belirli bir VM kümesinin nasıl yapılandırılacağına ilişkin tanımlar oluşturmanıza olanak tanıyan bir Desired State Configuration (DSC) hizmeti de sağlar. DSC daha sonra gerekli yapılandırmanın uygulanmasını ve VM'nin tutarlı kalmasını sağlar. Azure Otomasyonu DSC hem Windows hem de Linux makinelerinde çalışır.

Şunları nasıl yapacağınızı öğrenin:

Azure DevOps Services

Azure DevOps Services , kodu paylaşmanıza ve izlemenize, otomatik derlemeleri kullanmanıza ve eksiksiz bir sürekli tümleştirme ve geliştirme (CI/CD) işlem hattı oluşturmanıza yardımcı olan bir araç paketidir. Azure DevOps Services, kullanımı basitleştirmek için Visual Studio ve diğer düzenleyicilerle tümleştirilir. Azure DevOps Services ayrıca Azure VM'leri oluşturup yapılandırabilir ve sonra bunlara kod dağıtabilir.

Aşağıdakiler hakkında daha fazla bilgi edinin:

Azure Resource Manager şablonu

Azure Resource Manager , Azure için dağıtım ve yönetim hizmetidir. Azure aboneliğinizdeki kaynakları oluşturmanızı, güncelleştirmenizi ve silmenizi sağlayan bir yönetim katmanı sağlar. Dağıtım sonrasında kaynaklarınızın güvenliğini sağlamak ve onları düzenlemek için erişim denetimleri, kilitler ve etiketler gibi yönetim özelliklerini kullanabilirsiniz.

Şunları nasıl yapacağınızı öğrenin:

Bicep

Bicep, Azure kaynaklarını dağıtmak için bildirim temelli söz dizimi kullanan, etki alanına özgü bir dildir (DSL). Bir Bicep dosyasında, Azure'a dağıtmak istediğiniz altyapıyı tanımlarsınız ve sonra bu dosyayı geliştirme yaşam döngüsü boyunca kullanarak altyapınızı tekrar tekrar dağıtırsınız. Kaynaklarınız tutarlı bir şekilde dağıtılır.

Hızlı Başlangıç'ı kullanmaya başlayın.

Cloud-init

Cloud-init, Linux VM’sini ilk kez önyüklendiğinde özelleştirmeyi sağlayan, sık 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ı #cloud-config düzgün biçimlendirme hakkında daha fazla bilgi 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 yerel paket yönetim aracını otomatik olarak 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, cloud-init dağıtımlarınızın ve yapılandırmalarınızın VM'ler ve Sanal Makine Ölçek Kümeleri sorunsuz çalışmasını sağlar. Azure'da cloud-init hakkında daha fazla bilgi edinin:

PowerShell DSC

PowerShell İstenen Durum Yapılandırması (DSC), hedef makinelerin yapılandırmasını tanımlayan bir yönetim platformudur. DSC, Linux üzerinde Açık Yönetim Altyapısı (OMI) sunucusu aracılığıyla da kullanılabilir.

DSC yapılandırmaları bir makineye ne yükleneceğini ve konağın nasıl yapılandırılacağını tanımlar. Yerel Configuration Manager (LCM) altyapısı, gönderilen yapılandırmaları temel alarak istenen eylemleri işleyen her hedef düğümde çalışır. Çekme sunucusu, DSC yapılandırmalarını ve ilişkili kaynakları depolamak için merkezi bir konakta çalışan bir web hizmetidir. Çekme sunucusu, gerekli yapılandırmaları sağlamak ve uyumluluk raporu sağlamak için her hedef konakta LCM altyapısıyla iletişim kurar.

Şunları nasıl yapacağınızı öğrenin:

Azure Özel Betik Uzantısı

Linux veya Windows için Azure Özel Betik Uzantısı, Azure VM'lerinde betikleri indirir ve yürütür. Uzantıyı vm oluştururken veya VM kullanımdayken istediğiniz zaman kullanabilirsiniz.

Betikler Azure depolama alanından veya GitHub deposu gibi herhangi bir genel konumdan indirilebilir. Özel Betik Uzantısı ile, kaynak VM'de çalışan herhangi bir dilde betik yazabilirsiniz. Bu betikler, uygulamaları yüklemek veya VM'yi istediğiniz gibi yapılandırmak için kullanılabilir. Kimlik bilgilerinin güvenliğini sağlamak için parolalar gibi hassas bilgiler korumalı bir yapılandırmada depolanabilir. Bu kimlik bilgilerinin şifresi yalnızca VM içinde çözülür.

Şunları nasıl yapacağınızı öğrenin:

Ansible

Ansible , yapılandırma yönetimi, VM oluşturma veya uygulama dağıtımı için bir otomasyon altyapısıdır. Ansible, hedef makinelerin kimliğini doğrulamak ve yönetmek için genellikle SSH anahtarlarıyla aracısız bir model kullanır. Yapılandırma görevleri playbook'larda tanımlanır ve belirli görevleri gerçekleştirmek için çeşitli Ansible modülleri kullanılabilir. Daha fazla bilgi için bkz . Ansible nasıl çalışır?

Şunları nasıl yapacağınızı öğrenin:

Chef

Chef , altyapınızın nasıl yapılandırıldığını, dağıtıldığını ve yönetildiğini tanımlamaya yardımcı olan bir otomasyon platformudur. Bazı bileşenler arasında altyapı yerine uygulama yaşam döngüsü otomasyonu için Chef Habitat ve güvenlik ve ilke gereksinimleriyle uyumluluğu otomatikleştirmeye yardımcı olan Chef InSpec yer alır. Chef İstemcileri, yapılandırmaları depolayan ve yöneten bir veya daha fazla merkezi Chef Sunucusu ile hedef makinelere yüklenir. Daha fazla bilgi için bkz . Chef'e Genel Bakış.

Şunları nasıl yapacağınızı öğrenin:

Puppet

Puppet , uygulama teslim ve dağıtım sürecini işleyen kurumsal kullanıma hazır bir otomasyon platformudur. Puppet Master'ın Azure altyapısının ve VM'lerinin istenen yapılandırmasını tanımlayan bildirimleri çalıştırmasına izin vermek için hedef makinelere aracılar yüklenir. Puppet, geliştirilmiş bir devops iş akışı için Jenkins ve GitHub gibi diğer çözümlerle tümleştirilebilir. Daha fazla bilgi için bkz . Puppet nasıl çalışır?

Şunları nasıl yapacağınızı öğrenin:

Peker

Packer , Azure'da özel bir VM görüntüsü oluşturduğunuzda derleme işlemini otomatikleştirir. İşletim sistemini tanımlamak ve VM'yi özel ihtiyaçlarınıza göre özelleştiren yapılandırma sonrası betikleri çalıştırmak için Packer'ı kullanırsınız. Yapılandırıldıktan sonra VM, Yönetilen Disk görüntüsü olarak yakalanır. Packer kaynak VM, ağ ve depolama kaynaklarını oluşturma, yapılandırma betiklerini çalıştırma ve ardından VM görüntüsünü oluşturma işlemini otomatikleştirir.

Şunları nasıl yapacağınızı öğrenin:

  • Azure'da Linux VM görüntüsü oluşturmak için Packer'ı kullanın.
  • Azure'da Windows VM görüntüsü oluşturmak için Packer'ı kullanın.

Jenkins

Jenkins , uygulamaların dağıtılmasına ve test edilmesine ve kod teslimi için otomatik işlem hatları oluşturulmasına yardımcı olan sürekli bir tümleştirme sunucusudur. Çekirdek Jenkins platformunu genişletmek için yüzlerce eklenti vardır ve web kancaları aracılığıyla diğer birçok ürün ve çözümle de tümleştirebilirsiniz. Jenkins'i bir Azure VM'ye el ile yükleyebilir, Jenkins'i bir Docker kapsayıcısından çalıştırabilir veya önceden oluşturulmuş bir Azure Market görüntüsü kullanabilirsiniz.

Şunları nasıl yapacağınızı öğrenin:

Sonraki adımlar

Azure'da altyapı otomasyon araçlarını kullanmak için birçok farklı seçenek vardır. İhtiyaçlarınıza ve ortamınıza en uygun çözümü kullanma özgürlüğüne sahipsiniz. Azure'da yerleşik olarak bulunan araçlardan bazılarını kullanmaya başlamak ve denemek için bkz. Linux veya Windows VM özelleştirmesini otomatikleştirme.