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:
VM'lerin yapılandırmasını otomatikleştirme
- Araçlar arasında Ansible, Chef, Puppet, Bicep ve Azure Resource Manager şablonu bulunur.
- VM özelleştirmesine özgü araçlar linux VM'ler için cloud-init, PowerShell İstenen Durum Yapılandırması (DSC) ve tüm Azure VM'leri için Azure Özel Betik Uzantısı'nı içerir.
Altyapı yönetimini otomatikleştirme
- Araçlar arasında özel VM görüntüsü derlemelerini otomatikleştirmek için Packer ve altyapı derleme işlemini otomatikleştirmek için Terraform bulunur.
- Azure Otomasyonu, Azure ve şirket içi altyapınız genelinde eylemler gerçekleştirebilir.
Uygulama dağıtım ve teslimi otomatikleştirme
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:
- Terraform'u Azure ile yükleyin ve yapılandırın.
- Terraform ile bir Azure altyapısı oluşturun.
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:
- PowerShell runbook'u oluşturun.
- Şirket içi kaynakları yönetmek için Karma Runbook Çalışanı'na tıklayın.
- Azure Otomasyonu DSC kullanın.
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:
- Resource Manager şablonu kullanarak Spot VM'leri dağıtın.
- Resource Manager şablonundan bir Windows sanal makinesi oluşturun.
- VM için şablonu indirin.
- Azure Image Builder şablonu oluşturun.
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:
- Azure'da Linux sanal makineleri için cloud-init desteği
- cloud-init kullanarak otomatik VM yapılandırmasıyla ilgili bir öğretici deneyin.
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:
- Temel bir DSC yapılandırması oluşturun.
- Bir DSC çekme sunucusu yapılandırın.
- Linux için DSC kullanın.
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:
- Azure CLI ile bir Linux VM oluşturun ve Özel Betik Uzantısı'nı kullanın.
- Azure PowerShell ile bir Windows VM oluşturun ve Özel Betik Uzantısı'nı kullanın.
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:
- Ansible'ı Linux'ta Azure ile kullanmak üzere yükleyin ve yapılandırın.
- Linux sanal makinesi oluşturma.
- Linux sanal makinesini yönetme.
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:
- chef automate'i Azure Market dağıtın.
- Windows'a Chef yükleyin ve Azure VM'leri oluşturun.
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:
- Puppet'ı dağıtın.
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:
- Jenkins, GitHub ve Docker ile Azure'da Linux VM üzerinde geliştirme altyapısı oluşturun.
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.