Skip to main content
Version: next

VIRIDIAN Digital Banking

Nomenclatura de comandos

Durante el proceso de instalación se mostrarán diferentes comandos para ser ejecutados, en este punto se explicara la nomenclatura de estos, sin embargo no es necesario ejecutar ninguno de los comandos mostrados ya que solo sirven de ejemplo.

Ejemplos

  1. En el servidor de administración, ejecutar el siguiente comando:

    yum -y install git ansible

    En la primera parte del enunciado, se especificara en que servidores debe ser ejecutado el comando

  2. Si el comando requiere de alguna variable, este se vera asi:

    ssh-copy-id adminv@<<server_ip>>
    variables

    Donde: <<server_ip>> es una variable que debe ser reemplazada antes de ejecutar el comando. Por ejemplo el comando anterior después del reemplazo de variable se vería asi:

    ssh-copy-id adminv@10.1.100.51

Tipos de comandos

Comando normales

Son comandos que solo requieren ser copiados y ejecutados.

Comandos ansible

Son comandos que necesitan ser ejecutados en el directorio ansible, este directorio se crea en el punto: Configuración del instalador > Descarga, por lo tanto, antes de ejecutar el comando ansible, se debe hacer un cd al directorio ejecutando el siguiente comando:

cd ~/viridian-ansible-bec
tip

En el punto: Configuración general > Común, se creara el alias: cdansible:

cdansible() {
cd ~/viridian-ansible-bec;
}

Desde ese momento, se puede usar el alias para hacer un cd al directorio ansible.

Configuración de SSH key

En el servidor de administración se creara un SSH key y luego este será copiado a todos los demás servidores, esto para permitir el acceso por SSH desde el servidor de administración a cualquier servidor, el SSH key también servirá para acceder al repositorio git de VIRIDIAN por SSH sin usar credenciales.

  1. En el servidor de administración, ejecutar el siguiente comando:

    ssh-keygen -t ed25519 -f $HOME/.ssh/id_ed25519 -N '' <<< y
  2. En el servidor de administración, ejecutar el siguiente comando:

    ssh-copy-id adminv@<<server_ip>>
    variables

    server_ip: Ip del servidor

    tip

    Se debe repetir la ejecución del comando por cada uno de los servidores de administración, aplicaciones y web.

  3. En el servidor de administración, ejecutar el siguiente comando:

    echo -e "Host git.viridian.ltd\nPort 2224" >> ~/.ssh/config
  4. En el servidor de administración, ejecutar el siguiente comando:

    cat $HOME/.ssh/id_ed25519.pub
    tip

    El output del comando es el SSH key y debe ser copiado a VIRIDIAN para configurar el acceso a su repositorio git.

  5. En el servidor de administración, ejecutar el siguiente comando:

    ssh -T git@git.viridian.ltd
    tip

    Si todo esta bien, se debería mostrar un mensaje de bienvenida: Welcome to GitLab, @user!

Instalación de paquetes iniciales

Se validara que todos los servidores cuenten con una suscripción activa a Red Hat y en el servidor de administración se instalaran git y ansible, paquetes necesarios para iniciar la instalación.

  1. En todos los servidores, ejecutar el siguiente comando :

    sudo yum -y update
  2. En el servidor de administración, ejecutar los siguientes comandos:

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    sudo yum -y install git ansible
    ansible-galaxy collection install --upgrade community.docker:3.12.1

Configuración del instalador

Descarga

El instalador de VIRIDIAN Digital Banking usa ansible para la ejecución de tareas/comandos en los servidores, el instalador esta disponible en un repositorio git que contiene todos los playbooks necesarios.

  1. En el servidor de administración, ejecutar los siguientes comandos:

    cd ~/
    git clone git@git.viridian.ltd:viridian/bec/viridian-ansible-bec.git

Selección de versión

Como el instalador viene en un repositorio git, se debe seleccionar un tag o branch desde el cual se empezara con el proceso de instalación.

  1. En el servidor de administración, ejecutar el siguiente comando:

    cd ~/viridian-ansible-bec
  2. En el servidor de administración, dependiendo del entorno, ejecutar el siguiente comando:

    git checkout -b stage origin/stage

Configuración general

Docker

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook os.yml -K -t docker
    tip

    Este comando instalará y configurará docker, esto es necesario para deployar los docker containers, la gran mayoría de componentes de nuestra solución vienen dockerizados.


    Servidores afectados:

    • administración
    • aplicaciones
    • web

Variables locales

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook os.yml -K -t setup
    tip

    Este comando iniciara un proceso interactivo de configuración de variables.

Común

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook os.yml -K -t common,chrony,logrotate,hardening
    tip

    Los comandos realizaran una configuración común de los servidores, entre lo mas destacado esta:

    • Creación de grupo de usuarios vadmins para la administración de los servidores.
    • Instalación de paquetes comunes para administración de los servidores.
    • Creación del directorio /opt/viridian donde el proceso de instalación creará directorios y archivos para el deploy de todos los componentes.
    • Login al repositorio docker de VIRIDIAN.
    • Configuracion de logrotate.

Shorewall

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook os.yml -K -t shorewall-setup,shorewall-deploy
    tip

    Este comando instalará y configurará el paquete shorewall.

Reinicio de servidores

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook -l app,web admin.yml -K -t reboot
  2. En el servidor de administración, ejecutar el siguiente comando

    sudo reboot

Configuracion de certificados SSL

En el servidor de administración, en el directorio ansible, en la ruta /tls, copiar los siguientes archivos:

  • Certificado SSL fullchain en formato PEM: El nombre del archivo debe ser cert.pem
  • Llave privada del certificado en formato PEM: El nombre del archivo debe ser key.pem
  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook tls.yml -K -t setup,deploy

Configuración de Redis

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook redis.yml -K -t setup,deploy,init
    tip

    Este comando configurará redis por medio de un archivo docker-compose.yml que contiene la especificación de los docker containers.


    Docker containers a deployar:

    • redis-master
    • redis-replica
    • redis-insight

    Servidores afectados:

    • administración

Configuración de ELK

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook elk.yml -K -t setup,init,deploy,config
    tip

    Este comando configurará elasticsearch y kibana, creando los ILM (Index Lifecycle Management), templates y data views.


    Docker containers a deployar:

    • apm-01
    • es-01
    • kib-01

Configuracion de Vault

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook vault.yml -K -t setup,deploy,init,config
    tip

    Este comando inicializará vault y configurará todo lo necesario: policies, tokens y secret engines.

    Como resultado de la inicialización y la configuración, se habrán generado los unseal keys y los tokens de acceso a vault, esta información esta disponible en archivos creados en el directorio ansible.

    Recomendación:

    Los archivos generados por el comando y/o su contenido deben ser copiados fuera del servidor, puestos bajo resguardo según políticas del banco y luego eliminados del servidor.


    Docker containers a deployar:

    • vault
  2. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook os.yml -K -t setup

Configuración de Kafka

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook kafka.yml -K -t setup,deploy
    tip

    Este comando configurará kafka por medio de un archivo docker-compose.yml que contiene la especificación de los docker containers.


    Docker containers a deployar:

    • kafka-controller
    • kafka-broker
    • kafka-ui (solo en el servidor de administración)
  2. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook admin.yml -K -t kafka-topics-create

Configuración de Proxy

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook proxy.yml -K -t setup,adm-deploy
    tip

    Este comando levantará el servicio proxy.


    Docker containers a deployar:

    • proxy