Ansible - Giriş
Ansible uygulama dağıtımını, hizmet içi düzenlemeyi, bulut provizyonunu ve diğer birçok BT aracını otomatikleştiren basit bir açık kaynaklı BT motorudur.
Ansible, herhangi bir aracı veya özel güvenlik altyapısı kullanmadığı için kurulumu kolaydır.
Ansible, otomasyon işlerini tanımlamak için başucu kitabını kullanır ve başucu kitabı çok basit bir dil kullanır. YAML(İnsan tarafından okunabilen bir veri serileştirme dilidir ve genellikle yapılandırma dosyaları için kullanılır, ancak verilerin depolandığı birçok uygulamada kullanılabilir) bu, insanların anlaması, okuması ve yazması için çok kolaydır. Bu nedenle avantajı, BT altyapısı destekçilerinin bile başucu kitabını okuyup anlayabilmesi ve gerekirse hata ayıklayabilmesidir (YAML - İnsan tarafından okunabilir biçimdedir).
Ansible, çok katmanlı dağıtım için tasarlanmıştır. Ansible aynı anda tek bir sistemi yönetmez, tüm sistemlerinizin birbiriyle ilişkili olduğunu açıklayarak BT altyapısını modeller. Ansible tamamen aracısızdır, yani Ansible, düğümlerinizi ssh aracılığıyla bağlayarak çalışır (varsayılan olarak). Ancak Kerberos gibi başka bir bağlantı yöntemi istiyorsanız, Ansible size bu seçeneği verir.
Düğümlerinize bağlandıktan sonra Ansible, "Ansible Modules" olarak adlandırılan küçük programları çalıştırır. Ansible, bu modülleri düğümlerinizde çalıştırır ve bittiğinde kaldırır. Ansible, envanterinizi basit metin dosyalarında yönetir (Bunlar, ana bilgisayar dosyasıdır). Ansible, ana bilgisayarların gruplanabildiği ve oyun kitaplarındaki belirli bir gruptaki eylemleri kontrol edebildiği ana bilgisayar dosyasını kullanır.
Örnek Hosts Dosyası
Bu, hosts dosyasının içeriğidir -
#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.
[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh
[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh
Yapılandırma Yönetimi nedir
Ansible açısından konfigürasyon yönetimi, bir kuruluşun donanım ve yazılımını tanımlayan ayrıntılı bilgileri bir kayıt tutarak ve güncelleyerek ürün performansının konfigürasyonunu sürdürdüğü anlamına gelir.
Bu tür bilgiler tipik olarak, kurulu yazılım paketlerine uygulanan tam sürümleri ve güncellemeleri ve donanım aygıtlarının konumlarını ve ağ adreslerini içerir. Örneğin, yeni sürümünü yüklemek istiyorsanızWebLogic/WebSphere İşletmenizde bulunan tüm makinelerde sunucu olduğundan, her makineyi manuel olarak gidip güncellemeniz mümkün değildir.
Ansible oyun kitapları ve en basit şekilde yazılmış envanter ile WebLogic / WebSphere'i tüm makinelerinize tek seferde kurabilirsiniz. Tek yapmanız gereken, envanterde düğümlerinizin IP adreslerini listelemek ve WebLogic / WebSphere'i kurmak için bir başucu kitabı yazmaktır. Başucu kitabını kontrol makinenizden çalıştırın ve tüm düğümlerinize yüklenecektir.
Ansible Nasıl Çalışır?
Aşağıda verilen resim Ansible'ın çalışmasını göstermektedir.
Ansible works düğümlerinize bağlanarak ve "Ansible modülleri "onlara. Ansibledaha sonra bu modülleri çalıştırır (varsayılan olarak SSH üzerinden) ve bittiğinde kaldırır. Modül kitaplığınız herhangi bir makinede bulunabilir ve hiçbir sunucu, arka plan yordamı veya veritabanı gerekmez.
Yukarıdaki resimdeki yönetim düğümü, başucu kitabının tüm yürütülmesini kontrol eden kontrol düğümüdür (yönetim düğümü). Kurulumu çalıştırdığınız düğümdür. Envanter dosyası, Ansible modüllerinin çalıştırılması gereken ana bilgisayarların listesini sağlar ve yönetim düğümü bir SSH bağlantısı yapar ve ana makinedeki küçük modülleri çalıştırır ve ürünü / yazılımı yükler.
Beauty Ansible, modülleri çok etkin bir şekilde kurulduktan sonra kaldırır, ana makineye bağlanır, talimatları yürütür ve başarılı bir şekilde kurulursa, yürütülen ana makineye kopyalanan kodu kaldırır.