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
-
En el servidor de administración, ejecutar el siguiente comando:
yum -y install git ansibleEn la primera parte del enunciado, se especificara en que servidores debe ser ejecutado el comando
-
Si el comando requiere de alguna variable, este se vera asi:
ssh-copy-id adminv@<<server_ip>>variablesDonde:
<<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
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.
-
En el servidor de administración, ejecutar el siguiente comando:
ssh-keygen -t ed25519 -f $HOME/.ssh/id_ed25519 -N '' <<< y -
En el servidor de administración, ejecutar el siguiente comando:
ssh-copy-id adminv@<<server_ip>>variablesserver_ip: Ip del servidor
tipSe debe repetir la ejecución del comando por cada uno de los servidores de administración, aplicaciones y web.
-
En el servidor de administración, ejecutar el siguiente comando:
echo -e "Host git.viridian.ltd\nPort 2224" >> ~/.ssh/config -
En el servidor de administración, ejecutar el siguiente comando:
cat $HOME/.ssh/id_ed25519.pubtipEl output del comando es el SSH key y debe ser copiado a VIRIDIAN para configurar el acceso a su repositorio git.
-
En el servidor de administración, ejecutar el siguiente comando:
ssh -T git@git.viridian.ltdtipSi 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.
-
En todos los servidores, ejecutar el siguiente comando :
sudo yum -y update -
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.rpmsudo yum -y install git ansibleansible-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.
-
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.
-
En el servidor de administración, ejecutar el siguiente comando:
cd ~/viridian-ansible-bec -
En el servidor de administración, dependiendo del entorno, ejecutar el siguiente comando:
- Stage
- Preproducción
- Producción
git checkout -b stage origin/stagegit checkout -b preprod origin/preprodgit checkout -b prod origin/prod
Configuración general
Docker
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook os.yml -K -t dockertipEste 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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook os.yml -K -t setuptipEste comando iniciara un proceso interactivo de configuración de variables.
Común
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook os.yml -K -t common,chrony,logrotate,hardeningtipLos 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/viridiandonde 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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook os.yml -K -t shorewall-setup,shorewall-deploytipEste comando instalará y configurará el paquete shorewall.
Reinicio de servidores
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook -l app,web admin.yml -K -t reboottipEste comando reiniciará los servidores de aplicaciones y web.
-
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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook tls.yml -K -t setup,deploytip
Configuración de Redis
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook redis.yml -K -t setup,deploy,inittipEste 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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook elk.yml -K -t setup,init,deploy,configtipEste 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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook vault.yml -K -t setup,deploy,init,configtipEste 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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook os.yml -K -t setup
Configuración de Kafka
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook kafka.yml -K -t setup,deploytipEste 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)
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t kafka-topics-createtipEste comando creará los tópicos de kafka necesarios.
Configuración de Proxy
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook proxy.yml -K -t setup,adm-deploytip