ansible tutorial installation
Tutorial pràctic Ansible amb instal·lació, ús i configuració Ansible amb mòduls Ansible:
En parlem AWS Elastic Beanstalk al nostre tutorial anterior.
LLISTA de tutorials d'aquesta sèrie Ansible:
Tutorial # 1: Instal·lació i mòduls Ansible
Tutorial # 2: Llibres de joc i voltes Ansible
Tutorial # 3: Rols Ansible i integració amb Jenkins
Ansible és una eina de codi obert que ajuda a l'automatització de tasques, el desplegament d'aplicacions, el subministrament al núvol i la gestió de configuracions.
Llegiu també => Llista de tutorials de formació DevOps
Així doncs, estem parlant d’orquestració de TI on les tasques s’executen en seqüències en diverses màquines o servidors diferents.
Ansible ho fa connectant-se a diverses màquines mitjançant SSH i executa les tasques que s'han configurat en llibres de jocs i utilitza un llenguatge senzill anomenat YAML (un altre llenguatge de marques) .
Què aprendreu:
- Visió general d'Ansible
- Procés d'instal·lació Ansible
- Ús Ansible
- Mòduls Ansible
- Resum
- Lectura recomanada
Visió general d'Ansible
El més important és que Ansible no utilitza cap agent per automatitzar tasques en diferents màquines.
Ansible garanteix mantenir versions exactes i informació actualitzada als paquets de programari.
Per exemple , si voleu instal·lar JDK 8 o Tomcat o qualsevol altre paquet de programari en 10 o 20 màquines diferents, en realitat no és factible anar a totes les màquines i instal·lar-les, utilitzeu Ansible per automatitzar la instal·lació o fins i tot els desplegaments de programari mitjançant Playbooks i Inventory. escrit en un llenguatge molt senzill.
Per tant, Ansible és:
- Lliure i de codi obert
- Mantingut per Redhat
- Bàsicament una configuració de servidor
- Gestió de la configuració
En aquesta sèrie de tutorials Ansible de 3 parts, parlarem de l'enfocament pràctic sobre els temes següents:
- Procés d’instal·lació i configuració
- Inventari
- Mòduls Ansible
- Ordres ad hoc,
- Automatització de tasques mitjançant playbooks
- Rols assenyalables
- Volta ansible
- Ansible i AWS
Procés d'instal·lació Ansible
Ansible es pot instal·lar i executar des de qualsevol màquina.
Normalment necessiteu un Màquina de control per a la instal·lació que hauria de ser Linux. La màquina Windows no admet ser una màquina de control. La màquina de control gestionarà la resta de màquines remotes. Com es va esmentar anteriorment, Ansible utilitza SSH per gestionar màquines remotes.
Al llarg d’aquest tutorial, faré servir instàncies d’AWS EC2 per mostrar els exemples. He utilitzat 2 instàncies (una màquina de control i una altra com a objectiu per automatitzar tasques) i Redhat Linux 7.5.
Tant si es tracta d’instàncies presencials com de núvol, haureu d’obrir ports adequadament en funció de les tasques que s’estan automatitzant. Tinc els ports següents oberts com a part del grup de seguretat per a les instàncies EC2 per demostrar els exemples esmentats al tutorial.
millors eines del sistema per a Windows 10
A la pantalla anterior, he esmentat l’obertura del port 8080, ja que mostraré sobre l’automatització de l’automatització del desplegament de programari mitjançant Tomcat, que serà útil des del punt de vista de DevOps, especialment durant el procés de lliurament continu.
Instal·lació de Ansible mitjançant YUM
Com he esmentat anteriorment, faré servir una màquina de control i una màquina objectiu. Per començar amb la instal·lació, realitzeu els passos que es mostren a continuació a les dues màquines.
a) Creeu un identificador comú a les dues màquines, per a Exemple , ansible amb privilegis SUDO. Aquest identificador s'utilitzarà per comunicar-se a totes les màquines implicades per a l'automatització de tasques.
# useradd ansible # passwd ansible
b) Editeu el fitxer / etc / ssh / sshd_config arxiu al fitxer màquina de control i descomenteu les línies per a PasswordAuthentication i PermitRootLogin
Seguiu els passos anteriors a les dues màquines. Un cop finalitzat, reinicieu el fitxer sshd servei a les dues màquines.
# systemctl restart sshd
c) Per a l'automatització completa de les tasques, necessitarem autenticació SSH sense contrasenya, en cas contrari no s'utilitzarà tot el procés si heu d'introduir la contrasenya cada vegada.
Per tant, publiqueu els canvis fets anteriorment si executem l'ordre ssh i ssh haurem d'introduir la contrasenya cada vegada que no sigui el procediment adequat per executar tasques Ansible.
d) Per habilitar l'autenticació sense contrasenya per realitzar els passos que es mostren a continuació. En primer lloc, afegiu l’usuari ansible fins al / etc / sudoers a les dues màquines que permetran a l'usuari ansible per executar qualsevol ordre que requereixi privilegis d'arrel.
Deseu i sortiu del fitxer després d'afegir l'usuari.
és) En endavant utilitzarem l’usuari ansible per realitzar tots els passos. Així que canvieu a l'usuari ansible.
Màquina de control responible AND Màquina objectiu seva - ansible
Màquina de control ssh-keygen
Màquina objectiu ssh-keygen
Copieu la clau ssh a la màquina de destí i viceversa.
Màquina de control ssh-copy-id
Màquina objectiu ssh-copy-id
com es crea una matriu de cadenes
Ara podem iniciar la sessió sense introduir la contrasenya. Després de retirar la connectivitat ssh a les dues màquines i iniciar la sessió com a usuari.
Màquina de control: ssh ansible @
Màquina objectiu: ssh ansible @
f) Instal·leu wget si no està instal·lat a les dues màquines.
$ sudo yum install wget -y
g) Ja ho podem instal·lar ansible només a la màquina de control en habilitar el repositori EPEL des de fedora que proporciona paquets de programari addicionals. Seguiu els passos següents per instal·lar-lo 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
La versió ansible utilitzada és la 2.5.3
h) Editeu el fitxer ansible.cfg fitxer i activeu el paràmetre del fitxer d’inventari a la màquina de control.
$ sudo vi /etc/ansible/ansible.cfg
i) Ansible utilitza el concepte d’Inventari per gestionar i fer un seguiment de les màquines objectiu. Per defecte, aquest fitxer es troba a / etc / ansible / hosts i també es pot canviar. Un fitxer amfitrió consta de grups per a una millor classificació i diverses màquines del grup. Es poden afegir totes les màquines necessàries a aquests grups.
Tots els grups es denoten entre claudàtors i un nom de grup dins. Un servidor pot existir realment en diversos grups.
Editeu el fitxer d'inventari / etc / ansible / hosts i afegiu tots els servidors que cal gestionar.
j) Per provar la connectivitat dels servidors del grup del servidor web, executeu el ansible ping com es mostra. Aquí ping és un mòdul que realitza una funció particular per comprovar si es poden connectar els hosts com es defineix al fitxer d'inventari o no. Veurem més informació sobre diversos mòduls i els seus exemples a la següent secció.
$ ansible webservers –m ping
Per llistar els amfitrions al fitxer d'inventari, podeu executar l'ordre següent
$ ansible webservers --list-hosts
Ús Ansible
Ansible consta de 3 components principals
- Màquina de control
- Inventari
- Playbook
La màquina de control gestiona l'execució del Playbook. Es pot instal·lar al vostre ordinador portàtil o a qualsevol equip d’Internet.
El fitxer d’inventari proporciona una llista completa de totes les màquines de destinació en què s’executen diversos mòduls mitjançant una connexió ssh i instal·lant el programari necessari.
El llibre de joc consta de passos que realitzarà el mecanisme de control als servidors definits al fitxer d’inventari.
Aquí és molt important entendre que Ansible interactua amb tots els servidors definits a l'inventari mitjançant el protocol SSH, que és un mètode segur d'inici de sessió remot. Es realitza cada operació i es xifra la transferència de fitxers.
Així, com hauríeu vist a la secció anterior, Ansible no utilitza cap tipus de base de dades per a la instal·lació i és molt fàcil d’instal·lar, ara continuarem amb l’ús real d’Ansible començant per Mòduls, que és el bloc principal.
Mòduls Ansible
Els mòduls són els principals blocs de construcció d’Ansible i són bàsicament scripts reutilitzables que fan servir els llibres de joc Ansible. Ansible inclou diversos mòduls reutilitzables. Aquests inclouen funcionalitats per controlar serveis, instal·lació de paquets de programari, treballar amb fitxers i directoris, etc.
La sintaxi és la següent mentre s'executen les ordres ad-hoc que ajuden a executar tasques simples o simples una sola vegada i que no cal executar-les més tard. Per a Per exemple. només instal·leu Tomcat a tots els servidors.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Vegem alguns dels mòduls Ansible més populars i el seu ús mitjançant les ordres ad-hoc i més endavant al llibre de jocs.
# 1) Mòdul de configuració
Per obtenir informació sobre la xarxa, el maquinari o la versió del sistema operatiu o informació relacionada amb la memòria, el mòdul de configuració us ajudarà a recollir el mateix sobre les màquines de destinació. Al control, la màquina executa l'ordre següent.
$ ansible webservers –m setup
# 2) Mòdul d’ordres
El mòdul d'ordres simplement executa una ordre específica a la màquina de destinació i dóna la sortida.
Alguns dels exemples es donen a continuació
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Mòdul Shell
Per executar qualsevol ordre del shell que vulgueu, podeu utilitzar el mòdul Shell. Les ordres del mòdul shell s’executen a / bin / sh shell i podeu fer ús d’operadors com ‘>’ o ‘|’ (símbol de canonada o fins i tot variables d’entorn.
Així doncs, principalment la diferència entre el mòdul Shell i el de comandament és que si realment no necessiteu utilitzar els operadors com els esmentats, podríeu utilitzar el mòdul de comandament.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
A les màquines del grup de servidors web, comproveu el fitxer creat i executeu l'ordre per veure el fitxer de text.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Mòdul d'usuari
Mitjançant aquest mòdul es poden crear o eliminar usuaris.
Per afegir usuari
$ ansible webservers -m user -a 'name=user1 password=user1' --become
Per suprimir l'usuari
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Opcions:
- tornar-se - Privilegi al superusuari per executar l'ordre
- estat = absent per eliminar l’usuari
# 5) Mòdul de fitxers
Aquest mòdul s'utilitza per crear fitxers, directoris, establir o canviar permisos i propietats de fitxers, etc.
Exemple 1: Creeu un fitxer
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Exemple 2: Creeu un directori
Per crear un directori mitjançant el mòdul de fitxers, heu d’establir dos paràmetres.
- Camí (àlies - nom, dest): aquest és el camí d'accés absolut del directori que cal crear.
- Estat: heu d'introduir el valor com a 'directori'. Per defecte, el valor és 'fitxer'.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Exemple 3: Suprimiu un fitxer
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Exemple 4: Suprimiu un directori
Podeu suprimir un directori configurant el valor del paràmetre d'estat a absent . Se suprimirà el directori i tot el seu contingut.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
quin és el millor convertidor de vídeo gratuït
# 6) Mòdul de còpia
S'utilitza per copiar fitxers a diverses màquines de destinació.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Gestió de paquets de programari
Si necessiteu instal·lar paquets de programari mitjançant 'yum' o 'apt', podeu utilitzar les ordres següents.
Exemple 1: Instal·leu GIT
$ ansible webservers –m yum -a “name=git state=present” --become
A la finestra de la dreta, podeu veure si git no està instal·lat, donarà l'ordre que no es troba i, un cop instal·lat, mostrarà la sortida.
En aquesta ordre, estat = present comprovarà si el paquet està instal·lat o no i, si no està instal·lat, instal·larà la versió més recent.
Exemple 2: Comproveu si el paquet està instal·lat i actualitzeu-lo a la versió més recent.
$ ansible webservers -m yum -a “name=git state=latest”
A l'ordre anterior, estat = últim actualitzarà el paquet només a la darrera versió.
Exemple 3: Instal·leu el servidor web Apache
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Exemple 4: Comproveu si Maven està instal·lat o no.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Mòdul de gestió de serveis
Per gestionar serveis amb ansible, fem servir un mòdul ‘Servei’.
Iniciar un servei
$ ansible webservers -m service -a “name=httpd state=started” --become
Aturar un servei
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Reinici d'un servei
$ ansible webservers -m service -a “name=httpd state=restarted --become
Feu clic a aquí per obtenir la llista del mòdul complet.
Resum
En aquest tutorial, us vaig presentar els conceptes i components bàsics d'Ansible i també hem vist més sobre la instal·lació, configuració i ús d'Ansible amb l'ajuda de mòduls Ansible, que és el component principal de l'execució d'Ansible.
En el nostre proper tutorial, ens centrarem en l’aspecte molt important d’escriure llibres de reproducció per a l’automatització de tasques i els dipòsits Ansible per mantenir dades sensibles en fitxers xifrats.
Lectura recomanada
- Tutorials Eclipse en profunditat per a principiants
- Rols Ansible, integració amb Jenkins en DevOps i mòduls EC2
- Automatització de tasques que fan servir Ansible Playbooks i Ansible Vaults amb exemples
- Instal·lació i configuració pas a pas d’Appium Studio
- Introducció al llenguatge de programació Java: vídeo tutorial
- Configuració i instal·lació senceres de WebDriver amb Eclipse - Tutorial Selenium # 9
- Descàrrega i instal·lació de Jira amb la configuració de la llicència de Jira
- Introducció i procés d’instal·lació de Python