Le schéma explicatif

Voici un schéma reprenant les composants de l'outil NumEcoEval à installer.

SchemaDeploiementLocalKubernetes

Les pré-requis

Les pré-requis au niveau de l'infrastructure sont :

  1. Un accès internet: Un accès à internet pour pouvoir télécharger les images docker utilisées pour ce déploiement.

  2. kubectl: Kubectl est nécessaire pour interagir avec votre cluster kubernetes ou vous souhaitez déployer NumEcoEval.

  3. Docker: Kubernetes est un orchestrateur de container Docker. Il faut donc installer ce dernier pour effectuer le déploiement.

  4. Un cluster k8s fonctionnel: Il vous faut un cluster kubernetes local ou hébergé chez un cloud provider sur lequel vous souhaitez déployer NumEcoEval. Pour les solutions locales vous pouvez utiliser kind ou minikube. N'oubliez pas de configurer kubectl pour utiliser le cluster déployé:

    kubectl config use-context moncluster
    
    'moncluster' étant le nom du cluster que vous avez donné à sa création.

  5. K9s: Il est également recommandé (pas obligatoire) d'installer K9S pour faciliter le suivi du déploiement et l'administration de votre cluster en temps réel.

  6. Helm: Ce déploiement s'effectue via l'utilisation d'une chart Helm.

  7. Quelques connaissances: Une bonne compréhension générale de NumEcoEval couplé avec G4it et de son architecture peuvent être utile pour comprendre le déploiement. Vous pouvez vous référer à la documentation de NumEcoEval ainsi qu'au schéma d'architecture donné précédemment.

Le temps de déploiement

Ce déploiement se veut très simple et très rapide puisque l'intégralité de ce déploiement s'effectue en 1 commande.

Ce dernier prend en moyenne entre 5 à 10 minutes le temps que les images dockers nécessaires au déploiement se téléchargent et que keycloak s'initialise correctement.

Le déploiement

Configuration du déploiement

Comme indiqué précédemment, ce déploiement repose sur une chart Helm. Le fichier values.yaml sert de base de configuration pour la chart Helm qu'on installe et désinstalle à notre guise.

Pour configurer le déploiement, vous pouvez copier le fichier value.yaml et l'éditer à votre guise pour répondre à vos besoins spécifiques.

Le fichier values.yaml par défaut tel qu'il est donné suffit pour un déploiement fonctionnel en environnement de developpement.

Vous pouvez retrouver le fichier values.yaml ici La liste des values et de ce qu'elles configurent se trouve sur le README.md visible ici

ATTENTION: Le fichier values.yaml fourni par défaut ne doit pas être utilisé en environnement de production. Ce fichier permet de configurer des mots de passe utiles à l'administration de keycloak et de g4it. Par conséquent il est de votre responsabilité de copier le fichier values.yaml de modifier les valeurs sensibles (section SECRETS) et de ne pas rendre publique votre configuration.

Les étapes de déploiement

Depuis le répertoire: g4it:

helm install g4it -f my-values.yaml

Dans cette commande, nous avons supposé que vous avez créé et configuré un fichier "my-values.yaml" à partir du fichier "values.yaml" par défaut.

Quels sont les points d'attention ?

Pour que g4it x NumEcoEval fonctionne, il faut que le frontend, le backend et keycloak soient exposés (port-forward).

A vous de décider comment vous souhaitez faire.

Option 1:

Par défaut, les services sur lesquels reposent le déploiement de ces briques sont de type ClusterIP. Il faut donc effectuer un port-forward de ces services pour les rendres accessibles.

Si vous avez installé k9s, vous pouvez réaliser cette opération très simplement depuis l'interface.

Sinon il faut configurer les port forward manuellement en utilisant kubectl:

kubectl port-forward svc/g4it-backend 8080:8080
kubectl port-forward svc/g4it-frontend 4200:4200
kubectl port-forward svc/keycloak 8090:8090

Alternativement, vous pouvez modifier le type de service utilisé par défaut par ce déploiement pour les passer en LoadBalancer ou NodePort pour les rendre accessible directement sans avoir à configurer les port forward manuellement.

Option 2:

Si vous le souhaitez, un Ingress Traefik (reverse proxy) est également déployé pour pouvoir exposer les différents services. C'est à vous de le configurer. Une documentation technique expliquant comment faire peut être trouvée ici

Comment désinstaller la chart Helm ? (supprimer le déploiement)

helm uninstall g4it

Le Test

Accès Frontend

Par défaut le frontend est accessible via ce lien http://localhost:4280

Si vous êtes sous Linux, vous pouvez éditer votre fichier '/etc/hosts' afin de faire de la redirection sur localhost:

/etc/hosts:

...
127.0.0.1 g4it-backend 
127.0.0.1 g4it-frontend
127.0.0.1 keycloak

Accès aux swaggers de NumEcoEval

Pour accéder aux swaggers pour l'import des données au niveau de NumEcoEval, il faut exposer l'api rest des referentiels:

kubectl port-forward  svc/api-rest-referentiels 8085:8080

Vous pouvez maintenant acceder au swagger ici

Traefik access

Une interface graphique est déployée pour accéder à la configuration de l'ingress Traefik.

Cette interface est directement accessible en suivant les étapes suivantes:

Récupérez l'IP du noeud:

kubectl get nodes -o wide

Vous pouvez maintenant accéder: - A l'interface Traefik en suivant l'adresse http://IP:30808 - Au reverse proxy Traefik en suivant l'adresse http://IP:30080

Quels sont les sites ressources ?

Le site source de Kubernetes : Kubernetes


Paramètres d’affichage

Choisissez un thème pour personnaliser l’apparence du site.