Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • k8s
  • template_env
  • rebond_bastion
4 results

projet_ansible_vapormap

  • Clone with SSH
  • Clone with HTTPS
  • Descriptif du projet

    A noter qu'il faut au préalable avoir créé l'infrastructure via Terraform (lien du GitLab ci-dessus).

    Clone du projet

    git clone https://gitlab.imt-atlantique.fr/f21munie/projet_terraform.git

    Création d'un environnement virtuel

    cd projet_ansible_vapormap
    python3 -m venv ./venv/ansible
    source ./venv/ansible/bin/activate
    pip install ansible
    deactivate

    Création des fichiers hosts.ini, .ssh et ssh.cfg

    Le projet terraform a généré les fichiers "hosts.ini", ".ssh" et "ssh.cfg". Copiez les dans le répertoire de travail. Ajouter un chmod 600 aux clés.

    cp ../projet_terraform/hosts.ini projet_ansible_vapormap/
    cp ../projet_terraform/.ssh projet_ansible_vapormap/
    cp ../projet_terraform/ssh.cfg projet_ansible_vapormap/
    chmod 600 .ssh/*

    Vérifier que les instances sont joignables

    ANSIBLE_HOST_KEY_CHECKING=False ansible -i hosts.ini all -m ping

    Déploiement de l'application Vapormap

    Dans le playbook, vous pouvez modifier pour choisir l'instance sur laquelle vous voulez déployer le playbook de déploiement. Par exemple hosts: node01. Par défaut, hosts est prédéfinit sur bastion.

    Si vous choisissez de déployer le playbook sur node01, il vous faudra modifier le fichier "hosts.ini" en ajoutant à la fin de la ligne correspondante à node01 : PUB_API_IP=<ip_publique_node01> qui est l'IP public de node01 dans le fichier "public_ip.txt". node01 ansible_host=192.168.1.183 PUB_API_IP=10.29.245.115

    source ./venv/ansible/bin/activate
    ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i hosts.ini deploy.yml
    deactivate

    Accéder à l'application

    Déploiement avec docker-compose

    • Frontend
    http://<PUB_API_IP>:8081
    • API
    http://<PUB_API_IP>:8082/api/points/

    Déploiement avec Kubernetes

    • Frontend
    http://<PUB_API_IP>
    • API
    http://<PUB_API_IP>/api/points/

    Suppression de l'application Vapormap

    Dans le playbook, vous pouvez modifier pour choisir l'instance sur laquelle vous voulez déployer le playbook de destruction. Par exemple hosts: node01. Par défaut, hosts est prédéfinit sur bastion.

    source ./venv/ansible/bin/activate
    ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i hosts.ini destroy.yml
    deactivate