Aprovecha el precio especial

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comienza ahora

Termina en:

03d

03h

01m

14s

2

Creación de Task en Ansible para Instalar RethinkDB

El siguiente tutorial se centrará en describir la creación de una Task de Ansible para instalar RethinkDb.

Antes de continuar, se presume que el sistema operativo en el cuál se desea hacer deployment es de tipo Ubuntu y que ya existe una carpeta de deploy con las convenciones de ansible, por ejemplo que dentro de la carpeta de deploy de su proyecto existan las carpetas.

  • files.
  • meta
  • tasks
  • templates
    playbook.yml
    inventory.ini

Dentro de la carpeta tasks debe existir por supuesto el archivo main.yml que es el archivo de ejecución de entrada.

Con lo anterior planteado, comenzemos esta breve implementación

  1. Creamos un archivo llamado rethinkdb.yml dentro de la carpeta tasks, el cuál debe contener el siguiente código.
- name: "Add RethinkDb sources file"file: path=/etc/apt/sources.list.d/rethinkdb.list state=touch
  tags: installation

- name: "Add RethinkDb repository"lineinfile: dest=/etc/apt/sources.list.d/rethinkdb.list line="deb http://download.rethinkdb.com/apt {{ linux_code_name }} main"tags: installation

- name: "Add RethinkDb key"apt_key: url=https://download.rethinkdb.com/apt/pubkey.gpg state=presenttags: installation

- name: "RethinkDb Install"apt: name=rethinkdb state=present update_cache=yes
  tags: installation

- name: "Enable service"service: name=rethinkdb enabled=yes
  tags: service

  1. como pueden notar en la actividad “Add RethinkDb repository” estamos utilizando una variable llamada linux_code_name, por lo tanto vamos a dirigirnos a nuestro archivo principal de playbook (playbook.yml) y agregamos el valor de la variable de la siguiente forma
  vars:    linux_code_name: xenial

esta línea es agregada debajo de la definición de los hosts, las pre_tasks y los roles.

en mi caso estoy utilizando la versión de ubuntu 16.04 por eso el code name es xenial, si están utlizando la 14 o 12 o cualquier otra versión de ubuntu es necesario que verifiquen cuál es el code name de la versión que están utilizando y ese será el valor de la variable.

  1. En el archivo intentory.ini vamos a agregar una instrucción importante y es la siguiente, en la linea del hosts al cual desean hacer despliegue y es de tipo Ubuntu, SI LA VERSIÓN QUE USAN ES DE 16 EN ADELANTE, es importante que noten que la versión de Python que se ejecuta es la python3, por lo tanto debemos hacerle saber a Ansible que debe ir a buscar el interprete de python en una ruta diferente a la que por defecto él utiliza ( /usr/bin/python ) esto lo logramos mediante el comando
proyecto-staging ansible_ssh_user=root ansible_ssh_host=xxx.xxx.xxx.xxx ansible_python_interpreter=/usr/bin/python3

lo importante es la instrucción

ansible_python_interpreter=/usr/bin/python3

  1. Por último en el archivo main.yml dentro de la carpeta tasks añadimos rethinkdb.yml de la siguiente manera.
---- include: deps.yml
- include: rethinkdb.yml
- name:"Restarting RethinkDb"  service:
    name=rethinkdb
    state=restarted

ya con lo anterior al ejecutar el playbook se instalará rethinkDb y no hay necesidad de utilizar un Rol externo.

Saludos y espero les sea de utilidad.

Escribe tu comentario
+ 2