ansible tutorial installation
varsayılan ağ geçidi mevcut değil
Ansible Modülleri ile kurulum, kullanım ve yapılandırma ile Uygulamalı Ansible Eğitimi:
Hakkında tartıştık AWS Elastic Beanstalk önceki eğitimimizde.
Bu Ansible Serisindeki Öğreticiler LİSTESİ:
Öğretici 1: Ansible kurulumu ve modülleri
Öğretici # 2: Ansible Başucu Kitapları ve Kasaları
Öğretici 3: Ansible Rolleri ve Jenkins ile Entegrasyon
Ansible, görev otomasyonu, uygulama dağıtımı, bulut sağlama ve yapılandırma yönetimine yardımcı olan açık kaynaklı bir araçtır.
Ayrıca Oku => DevOps Eğitimi Öğretici listesi
Bu nedenle, görevlerin birkaç farklı makinede veya sunucuda sırayla çalıştırıldığı BT düzenlemesinden bahsediyoruz.
Ansible bunu SSH aracılığıyla birden fazla makineye bağlanarak yapar ve başucu kitaplarında yapılandırılmış görevleri çalıştırır ve adı verilen basit bir dil kullanır. YAML (Yine Başka Bir Biçimlendirme Dili) .
Ne öğreneceksin:
- Ansible'a Genel Bakış
- Ansible Kurulum Süreci
- Ansible Kullanımı
- Ansible Modülleri
- Özet
- Önerilen Kaynaklar
Ansible'a Genel Bakış
En önemlisi, Ansible farklı makinelerdeki görevleri otomatikleştirmek için bir aracı kullanmaz.
Ansible, yazılım paketlerinin tam sürümlerinin ve güncel bilgilerin korunmasını sağlar.
Örneğin , JDK 8 veya Tomcat veya başka bir yazılım paketini 10 veya 20 farklı makineye yüklemek istiyorsanız, aslında tüm makinelere gidip bunları kurmak mümkün değildir, bunun yerine kurulumu ve hatta Playbooks ve Inventory'yi kullanarak yazılım dağıtımlarını otomatikleştirmek için Ansible'ı kullanmak mümkün değildir. çok basit bir dille yazılmış.
Yani Ansible:
- Ücretsiz ve Açık Kaynak
- Redhat tarafından sürdürülür
- Esasen bir sunucu yapılandırması
- Konfigürasyon yönetimi
Bu 3 bölümlük Ansible Eğitimi dizisinde, aşağıdaki konularda uygulamalı yaklaşımı tartışacağız:
- Kurulum ve yapılandırma süreci
- Envanter
- Ansible Modülleri
- Ad-hoc komutlar,
- Başucu kitaplarını kullanarak görev otomasyonu
- Ansible roller
- Ansible tonoz
- Ansible ve AWS
Ansible Kurulum Süreci
Ansible herhangi bir makineden kurulabilir ve çalıştırılabilir.
Tipik olarak ihtiyacınız olacak Kontrol makinesi Linux olması gereken kurulum için. Windows makinesi bir kontrol makinesi olmayı desteklemiyor. Kontrol makinesi diğer uzak makineleri yönetecektir. Daha önce de belirtildiği gibi Ansible, uzak makineleri yönetmek için SSH kullanır.
Bu eğitim boyunca örnekleri sergilemek için AWS EC2 bulut sunucularını kullanacağım. 2 örnek (biri kontrol makinesi ve diğeri görevleri otomatikleştirmek için hedef olarak) ve Redhat Linux 7.5 kullandım.
İster şirket içi ister bulut örnekleri, otomatikleştirilen görevlere göre bağlantı noktalarını uygun şekilde açmanız gerekecektir. Eğitimde bahsedilen örnekleri göstermek için EC2 bulut sunucularına yönelik güvenlik grubunun bir parçası olarak aşağıdaki bağlantı noktalarını açtım.
Yukarıdaki ekranda, Tomcat kullanarak yazılım dağıtım otomasyonunun otomatikleştirilmesi hakkında göstereceğim için, özellikle sürekli teslimat sürecinde DevOps açısından yararlı olacak 8080 bağlantı noktasından bahsetmiştim.
Ansible'ın YUM kullanılarak kurulumu
Daha önce de belirtildiği gibi, bir kontrol makinesi ve bir hedef makine kullanacağım. Kuruluma başlamak için, her iki makinede de aşağıda gösterilen adımları uygulayın.
için) Her iki makinede de ortak bir kimlik oluşturun. Misal , cevapsız SUDO ayrıcalıkları ile. Bu kimlik, görevlerin otomasyonu için dahil olan tüm makinelerde iletişim kurmak için kullanılacaktır.
# useradd ansible # passwd ansible
b) Düzenleyin / etc / ssh / sshd_config dosya kontrol makinesi ve için satırları PasswordAuthentication ve PermitRootLogin
Her iki makinede de yukarıdaki adımları uygulayın. Tamamlandığında, sshd her iki makinede de servis.
# systemctl restart sshd
c) Görevlerin tam otomasyonu için, şifresiz SSH kimlik doğrulamasına ihtiyacımız olacak, aksi takdirde her seferinde şifreyi girmeniz gerektiğinde tüm süreç kullanılmayacaktır.
Bu nedenle, ssh ve ssh komutlarını çalıştırırsak, Ansible görevlerini yürütmek için doğru prosedür olmayan her seferinde şifreyi girmemiz gerekecektir.
d) Aşağıda gösterilen adımları gerçekleştirmek üzere şifresiz kimlik doğrulamayı etkinleştirmek için. Öncelikle kullanıcıyı ekleyin cevapsız için / etc / sudoers her iki makinede de kullanıcının cevapsız root ayrıcalıkları gerektiren herhangi bir komutu çalıştırmak için.
Kullanıcıyı ekledikten sonra dosyayı kaydedin ve çıkın.
dır-dir) İleride kullanıcıyı kullanacağız cevapsız tüm adımları gerçekleştirmek için. Öyleyse kullanıcıya geç cevapsız.
Kontrol Makinesi su - ansible AND Hedef Makine su - ansible
Kontrol Makinesi ssh-keygen
Hedef Makine ssh-keygen
Ssh anahtarını hedef makineye kopyalayın ve tersini yapın.
Kontrol Makinesi ssh-kopya-kimliği
Hedef Makine ssh-kopya-kimliği
Artık şifre girmeden giriş yapabiliyoruz. Her iki makinede ssh bağlantısını kontrol ettikten sonra ve cevapsız kullanıcı olarak oturum açın.
Kontrol Makinesi: ssh ansible @
Hedef Makine: ssh ansible @
f) Her iki makinede de kurulu değilse wget'i kurun.
$ sudo yum install wget -y
g) Şimdi kurabiliriz cevapsız sadece Kontrol makinesinde Eklenti yazılım paketleri sağlayan fedora'dan EPEL deposunu etkinleştirerek. Yüklemek için aşağıdaki adımları uygulayın ANSIBLE.
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm $ sudo yum install ansible -y $ ansible --version
Kullanılan yanıtlanabilir sürüm 2.5.3'tür
h) Düzenleyin ansible.cfg dosyasını açın ve Kontrol makinesinde envanter dosyası parametresini etkinleştirin.
$ sudo vi /etc/ansible/ansible.cfg
ben) Ansible, hedef makineleri yönetmek ve izlemek için Envanter kavramını kullanır. Varsayılan olarak, bu dosya şurada bulunur: / etc / ansible / hosts ve değiştirilebilir. Bir ana bilgisayar dosyası, daha iyi sınıflandırma için gruplardan ve grup altındaki birden çok makineden oluşur. Bu gruplara gerekli tüm makineler eklenebilir.
Her grup, bir köşeli parantez ve içinde bir grup adı ile gösterilir. Bir sunucu aslında birden fazla grupta var olabilir.
Envanter dosyasını düzenleyin / etc / ansible / hosts ve yönetilmesi gereken tüm sunucuları ekleyin.
j) Web sunucusunun grubu altındaki sunucuların bağlantısını test etmek için şunu çalıştırın: cevapsız ping komutu gösterildiği gibi. Buraya ping ana bilgisayarların envanter dosyasında tanımlandığı gibi bağlanıp bağlanamayacağını test etmek için belirli bir işlevi yerine getiren bir modüldür. Sonraki bölümde çeşitli modüller ve örnekleri hakkında daha fazlasını göreceğiz.
$ ansible webservers –m ping
Ana bilgisayarları envanter dosyasında listelemek için aşağıdaki komutu çalıştırabilirsiniz.
$ ansible webservers --list-hosts
Ansible Kullanımı
Ansible 3 ana bileşenden oluşur
- Kontrol Makinesi
- Envanter
- Başucu kitabı
Kontrol makinesi, Başucu Kitabının yürütülmesini yönetir. Dizüstü bilgisayarınıza veya internetteki herhangi bir makineye kurulabilir.
Envanter dosyası, bir ssh bağlantısı yaparak ve gerekli yazılımları kurarak çeşitli modüllerin çalıştırıldığı tüm hedef makinelerin tam bir listesini sağlar.
Başucu kitabı, kontrol mekanizmasının envanter dosyasında tanımlanan sunucularda gerçekleştireceği adımlardan oluşur.
Burada anlaşılması çok önemli olan, Ansible'ın envanterde tanımlanan tüm sunucularla güvenli bir uzaktan oturum açma yöntemi olan SSH protokolü aracılığıyla etkileşime girmesidir. Her işlem yapılır ve dosya aktarımı şifrelenir.
Bir önceki bölümde görmüş olacağınız gibi, Ansible kurulum için herhangi bir veri tabanı kullanmaz ve kurulumu çok kolaydır, şimdi Ansible'ın gerçek kullanımına, ana yapı taşı olan Modüllerden başlayarak devam edeceğiz.
Ansible Modülleri
Modüller, Ansible'ın ana yapı taşlarıdır ve Ansible oyun kitapları tarafından kullanılan temelde yeniden kullanılabilir betiklerdir. Ansible, bir dizi yeniden kullanılabilir modülle birlikte gelir. Bunlar, hizmetleri kontrol etme, yazılım paketi yükleme, dosyalar ve dizinlerle çalışma vb. İşlevleri içerir.
Sözdizimi, tek veya basit görevleri yalnızca bir kez çalıştırmaya yardımcı olan ve daha sonra çalıştırılması gerekmeyen ad-hoc komutları çalıştırırken aşağıdaki gibidir. İçin Örneğin. sadece Tomcat'i tüm sunuculara kuruyorum.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
En popüler Ansible modüllerinden bazılarına ve bunların amaca yönelik komutlar aracılığıyla ve daha sonra başucu kitabında kullanımlarına bir göz atalım.
# 1) Kurulum Modülü
Ağ veya donanım veya işletim sistemi sürümü veya bellekle ilgili bilgiler hakkında bilgi almak için kurulum modülü, hedef makineler hakkında aynı bilgilerin toplanmasına yardımcı olacaktır. Kontrolde, makine aşağıdaki komutu çalıştırır.
$ ansible webservers –m setup
# 2) Komut Modülü
Komut modülü, hedef makinede belirli bir komutu yürütür ve çıktıyı verir.
Örneklerden bazıları aşağıda verilmiştir
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Kabuk Modülü
Seçtiğiniz kabukta herhangi bir komutu yürütmek için Kabuk modülünü kullanabilirsiniz. Kabuk modülü komutları / bin / sh kabuğunda çalıştırılır ve '>' veya '|' (boru sembolü veya hatta ortam değişkenleri) gibi operatörlerden yararlanabilirsiniz.
Dolayısıyla, öncelikle Kabuk ve Komut modülü arasındaki fark, belirtilenler gibi operatörleri gerçekten kullanmanız gerekmiyorsa, komut modülünü kullanabilmenizdir.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
Web sunucuları grubu altındaki makinelerde oluşturulan dosyayı kontrol edin ve metin dosyasını görüntülemek için komutu çalıştırın.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Kullanıcı Modülü
Bu modülü kullanarak kullanıcı oluşturabilir veya silebilirsiniz.
Kullanıcı eklemek için
$ ansible webservers -m user -a 'name=user1 password=user1' --become
Kullanıcıyı silmek için
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Seçenekler:
- olmak - Komutu çalıştırmak için süper kullanıcıya ayrıcalık
- durum = yok kullanıcıyı silmek için
# 5) Dosya Modülü
Bu modül, dosya, dizin oluşturmak, dosya izinlerini ve sahipliğini vb. Ayarlamak veya değiştirmek için kullanılır.
Örnek 1: Bir dosya oluştur
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Örnek 2: Bir dizin oluşturun
Dosya modülünü kullanarak bir dizin oluşturmak için iki parametre ayarlamanız gerekir.
- Yol (takma ad - ad, hedef) - Bu, oluşturulacak dizinin mutlak yoludur.
- Durum - Değeri 'dizin' olarak girmelisiniz. Varsayılan olarak değer 'dosya' dır.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Örnek 3: Bir dosyayı silin
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Örnek 4: Bir dizini silin
Durum parametresi değerini şu şekilde ayarlayarak bir dizini silebilirsiniz: yok . Dizin ve tüm içeriği silinecektir.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
# 6) Modülü Kopyala
Dosyaları birden çok hedef makineye kopyalamak için kullanılır.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Yazılım Paketlerini Yönetme
Yazılım paketlerini 'yum' veya 'apt' aracılığıyla yüklemeniz gerekiyorsa, aşağıdaki komutları kullanabilirsiniz.
Örnek 1: GIT'i yükleyin
$ ansible webservers –m yum -a “name=git state=present” --become
Sağ taraftaki pencerede, git'in kurulu olup olmadığını görebilirsiniz, bulunamadı komutu verecek ve kurulduktan sonra çıktıyı gösterecektir.
Bu komutta, durum = mevcut paketin kurulu olup olmadığını kontrol edecek ve kurulu değilse en son sürümü kuracaktır.
Örnek 2: Paketin kurulu olup olmadığını kontrol edin ve en son sürüme güncelleyin.
$ ansible webservers -m yum -a “name=git state=latest”
Yukarıdaki komutta, state = en son paketi yalnızca en son sürüme güncelleyecektir.
Örnek 3: Apache Web Sunucusunu Kurun
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Örnek 4: Maven'in kurulu olup olmadığını kontrol edin.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Hizmetleri Yönetme Modülü
Ansible ile hizmetleri yönetmek için bir modül kullanıyoruz 'hizmet'.
Bir hizmetin başlatılması
$ ansible webservers -m service -a “name=httpd state=started” --become
Bir hizmeti durdurma
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Bir hizmeti yeniden başlatmak
$ ansible webservers -m service -a “name=httpd state=restarted --become
Tıklayın İşte Tam Modül listesini almak için.
Özet
Bu eğitimde, size Ansible'ın temel kavramlarını ve bileşenlerini tanıttım ve ayrıca Ansible uygulamasının ana bileşeni olan Ansible modülleri yardımıyla Ansible'ın kurulumu, yapılandırması ve kullanımı hakkında daha fazla şey gördük.
Yaklaşan eğitimimizde, hassas verileri şifreli dosyalarda saklamak için görev otomasyonu ve Ansible kasaları için oyun kitapları yazmanın çok önemli yönüne odaklanacağız.
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- Yeni Başlayanlar İçin Derinlemesine Eclipse Eğiticileri
- Ansible Rolleri, DevOps'ta Jenkins ile Entegrasyon ve EC2 Modülleri
- Ansible Başucu Kitaplarını ve Ansible Kasalarını Örneklerle Kullanan Görev Otomasyonu
- Appium Studio'nun Adım Adım Kurulumu ve Kurulumu
- Java Programlama Diline Giriş - Video Eğitimi
- Eclipse ile WebDriver Tam Kurulum ve Kurulum - Selenium Eğitimi # 9
- Jira Lisans Kurulumu ile Jira İndirme ve Kurulum
- Python Giriş ve Kurulum Süreci