Voici ma très courte procédure d’installation de la solution d’API Management Gravitee.io sur Openshift. Du simple et rapide comme j’aime 🙂 .
Objectif
Gravitee se compose de 2 DB: ElasticSearch et MongoDB ainsi que 3 modules: UI, API et Gateway.
Je souhaite avoir un environnement simple et bien compartimenté pour mes futurs projets d’API Gravitee, quelque chose comme ceci:
Prérequis
Import de Gravitee
Passons aux choses sérieuses :-O , passons à l’installation de Gravitee.io .
2 possibilités s’offrent nous:
- Utilisation du docker-compose
- Import d’un template Openshift
Il est nécessaire de créer le projet Openshift qui accueillera mon instance Gravitee.
oc new-project gravitee
Solution n°1: Du pure Docker avec docker compose.
Ce type d’import n’est plus supporté par les versions d’ oc depuis mi-2017.
oc import docker-compose -f https://bitbucket.org/middlewaresolutions/graviteeio/raw/1030a947320c2e4da170ef97817faa97f766709f/docker-compose.yml
Pour finaliser l’import, il faut exposer les Services installés (création des routes) :
oc expose svc/managementapi oc expose svc/managementui oc expose svc/gateway
Solution n°2: Du 100% OpenShift avec un template.
Cet import est simpliste. Il est préférable d’utiliser le template du projet GitHub Middlewaresolutions/gravitee-openshift.
oc process -f https://bitbucket.org/middlewaresolutions/graviteeio/raw/1030a947320c2e4da170ef97817faa97f766709f/gravitee.yaml | oc create -f -
Commun aux 2 solutions
Quelque soit l’installation choisie, ces 2 fichiers contiennent 1 variable:
- MGMT_API_URL=http://managementapi-gravitee.192.168.99.103.nip.io/management/
Celle-ci doit être modifiée dans le fichier utilisé pour l’import ou après dans la console sur le Deployment de ManagementUI 🙂 .
Résultat
Après cette installation express, 2 min maxi 😀 , le résultat est un déploiement cohérent et uniforme de:
- elasticsearch
- mongodb
- gateway
- gravitee API
- gravitee UI
Enfin, l’accès à la console de management Gravitee se fait sur : http://managementui-gravitee.192.168.99.103.nip.io/#!/