Projet

Général

Profil

Automatisation » Historique » Version 21

Daniel Dehennin, 14/04/2021 16:22

1 2 Daniel Dehennin
{{>toc}}
2 2 Daniel Dehennin
3 1 Gilles Grandgérard
h1. Automatisation
4 1 Gilles Grandgérard
5 15 Daniel Dehennin
Dans le cas de l'utilisation d'un serveur Hapy, l'utilisateur doit créer ses machines virtuelles *manuellement* comme expliqué dans un "article de blog":https://pcll.ac-dijon.fr/eole/utiliser-hapy-virtualiser-modules-eole/.
6 1 Gilles Grandgérard
7 2 Daniel Dehennin
L'idée est de pouvoir proposer une *automatisation* de ce type de déploiement.
8 1 Gilles Grandgérard
9 3 Daniel Dehennin
À la suite de l'étude faite par Cadoles :
10 1 Gilles Grandgérard
11 1 Gilles Grandgérard
* Nous imposons l'utilisation d'un Zéphir
12 21 Daniel Dehennin
* Les utilisateurs téléchargerons des images pré-crées et distribuées par un "marketplace":https://docs.opennebula.io/6.0/management_and_operations/storage_management/marketplaces.html#public-marketplaces à installer "nous même":https://github.com/OpenNebula/appmarket-simple
13 2 Daniel Dehennin
* Nous ne proposons pas de modèle d'infrastructure (Amon + Scribe, Amon + Seth AD + Seth filer, ...) (l'idée serait à travailler plus tard)
14 15 Daniel Dehennin
* Nous proposerons ultérieurement un outillage pour que les utilisateurs puissent créer leurs propres images (l’outillage Cadoles peut être une solution à ce propos)
15 1 Gilles Grandgérard
16 2 Daniel Dehennin
h1. Pré requis pour utiliser cette fonctionnalité
17 1 Gilles Grandgérard
18 2 Daniel Dehennin
* Avoir un Zéphir pour manager les Hâpy et les VM installées sur ces Hâpy
19 2 Daniel Dehennin
* Avoir au moins un Hâpy instancié et configuré.
20 11 Gilles Grandgérard
* l'accès vers le dépôt des images Eole/Hâpy doit être possible (proxy,...) (et le dépot préparé) 
21 1 Gilles Grandgérard
* Les images devront être Cloudifiées (cloud-init ou one-context). Voir #32118
22 1 Gilles Grandgérard
23 1 Gilles Grandgérard
24 1 Gilles Grandgérard
h1. Exigences de fonctionnement
25 1 Gilles Grandgérard
26 1 Gilles Grandgérard
* Toutes les VM *managées* utilisent des images persistantes
27 1 Gilles Grandgérard
* Toutes les VM sont enregistrées sur Zéphir
28 1 Gilles Grandgérard
* Si la VM existe déjà sur l'Hapy, on ne la recrée pas (attention: seul le template peut être actualisé)
29 1 Gilles Grandgérard
30 15 Daniel Dehennin
h1. Cas d’usage
31 15 Daniel Dehennin
32 15 Daniel Dehennin
Nous partons du principe qu’un ensemble d’établissement partagent les mêmes caractéristiques :
33 1 Gilles Grandgérard
34 17 Daniel Dehennin
* même topologie réseau: internet, admin, pédago et dmz
35 18 Daniel Dehennin
* même caractéristiques de machine virtuelle (par exemple tous les amons ont la même quantité de RAM, etc)
36 15 Daniel Dehennin
37 15 Daniel Dehennin
Le processus global se résume ainsi :
38 15 Daniel Dehennin
39 15 Daniel Dehennin
# Sur le serveur Zéphir
40 15 Daniel Dehennin
## Créer une variante Hâpy pour pré-définir la liste des réseaux virtuels (les adresses IP et autres devront être remplies à la main lors de la configuration de chaque Hâpy)
41 15 Daniel Dehennin
## Créer une variante pour Amon afin de définir les paramètres communs de machines virtuelles (RAM, taille de disque, etc)
42 15 Daniel Dehennin
## Créer une variante pour Scribe afin de définir les paramètres communs de machines virtuelles (RAM, taille de disque, etc)
43 15 Daniel Dehennin
## Pour chaque établissement
44 15 Daniel Dehennin
### Le créer s’il n’existe pas
45 15 Daniel Dehennin
### Créer le serveur Amon de la bonne variante et finir sa configuration
46 15 Daniel Dehennin
### Créer le serveur Scribe de la bonne variante et finir sa configuration
47 20 Daniel Dehennin
### Créer le serveur Hâpy de la bonne variante et finir sa configuration avec notamment la liste des serveurs créés précédemment à déployer automatiquement
48 15 Daniel Dehennin
# Dans chaque établissement
49 15 Daniel Dehennin
## Installer physiquement le serveur Hâpy
50 19 Daniel Dehennin
## Installer le module EOLE Hâpy
51 15 Daniel Dehennin
## Enregistrer le serveur Hâpy sur Zéphir
52 1 Gilles Grandgérard
## Instancier
53 19 Daniel Dehennin
54 19 Daniel Dehennin
Le déploiement des serveurs de l’établissement doit se faire automatiquement sans autre intervention humaine.
55 15 Daniel Dehennin
56 2 Daniel Dehennin
h1. Comment fonctionne l'automatisation
57 1 Gilles Grandgérard
58 1 Gilles Grandgérard
h2. Il faut créer la configuration des VM dans Zéphir (dont les caractéristiques de la VM)
59 1 Gilles Grandgérard
60 6 Daniel Dehennin
Voir #32117
61 4 Gilles Grandgérard
62 7 Daniel Dehennin
(si le paquet *@eole-modele-vm@* n'est pas installé, faire *@apt-eole install eole-modele-vm@*)
63 1 Gilles Grandgérard
64 2 Daniel Dehennin
Pour cela, vous devez *activer_modele_vm*. Renseigner les variables suivantes :
65 1 Gilles Grandgérard
66 2 Daniel Dehennin
* mémoire     : la mémoire en Go (par defaut : la préconisation EOLE pour le module)
67 2 Daniel Dehennin
* vcpu        : 
68 2 Daniel Dehennin
* Disque Os   : nom du disque OS de la VM (par défaut: *@<eole-module>-<eole-release>@*) + Taille
69 2 Daniel Dehennin
* Disque Data : nom du disque Data + Taille
70 2 Daniel Dehennin
* Interface 1 : nom du réseau déclaré sur Hapy
71 2 Daniel Dehennin
* Interface 2 : nom du réseau déclaré sur Hapy
72 2 Daniel Dehennin
* Interface 3 : nom du réseau déclaré sur Hapy
73 1 Gilles Grandgérard
* Interface X : nom du réseau déclaré sur Hapy
74 1 Gilles Grandgérard
75 1 Gilles Grandgérard
Ceci peut être fait lors de la création des variantes et la création des serveurs. Ce travail reste manuel.
76 8 Daniel Dehennin
77 8 Daniel Dehennin
78 8 Daniel Dehennin
DaD:
79 8 Daniel Dehennin
* Je pense qu’au lieu d’avoir *@Disque OS@* et *@Disque Data@* il faudrait une liste ordonnée de disque (*@nom de l’image@* + *@taille de l’image@* + *@bootable ?@*)
80 10 Gilles Grandgérard
81 1 Gilles Grandgérard
h2. Dans la configuration de l'Hapy,
82 10 Gilles Grandgérard
83 10 Gilles Grandgérard
Voir #32118
84 10 Gilles Grandgérard
85 10 Gilles Grandgérard
Activer *activer_deploiement_automatique*
86 1 Gilles Grandgérard
Saisir la liste des VMs :
87 1 Gilles Grandgérard
88 2 Daniel Dehennin
* Renseigner les Id Zéphir des serveurs devant être déployées sur cet Hapy (id zéphir ou nom de la vm ?)
89 2 Daniel Dehennin
* La liste est ordonnée : les VM sont démarrée dans cette ordre.
90 2 Daniel Dehennin
91 1 Gilles Grandgérard
RQ: il n'y a pas de contrôle entre la liste des Interfaces déclarées sur Hapy et les Interfaces venant des configurations de VM.
92 1 Gilles Grandgérard
93 2 Daniel Dehennin
h2. Depuis Zéphir, appliquer la configuration sur le serveur Hâpy
94 1 Gilles Grandgérard
95 2 Daniel Dehennin
* La nouvelle configuration est déployé sur la machine Hapy
96 2 Daniel Dehennin
* Le reconfigure est exécuté
97 2 Daniel Dehennin
* les VM vont être installées, instanciées et prêtes à l'usage dans l'ordre de déclaration de la liste des VM
98 1 Gilles Grandgérard
99 15 Daniel Dehennin
h1. Procédure postservice hapy
100 1 Gilles Grandgérard
101 2 Daniel Dehennin
La création des interfaces aura été faite lors de l’instance/reconfigure de l'Hapy.
102 1 Gilles Grandgérard
Idem pour les datastores....
103 1 Gilles Grandgérard
Idem pour la déclaration du marketplace EOLE/Hapy
104 1 Gilles Grandgérard
105 14 Gilles Grandgérard
Voir postservice : #32120
106 14 Gilles Grandgérard
Voir diagnose : #32123
107 12 Gilles Grandgérard
108 2 Daniel Dehennin
# Si *@activer_deploiement_automatique@* = *@non@*, stop
109 2 Daniel Dehennin
# Pour chaque *@IdZéphir@*
110 2 Daniel Dehennin
## récupérer toute la configuration de la VM dans un *@tar.gz@*
111 2 Daniel Dehennin
### Vérifier la cohérence des informations Hapy/VMs. Si échec, alors on s'arrête en erreur
112 2 Daniel Dehennin
## créer/mettre à jour un FILE dans hapy pour chaque configuration de VM 
113 2 Daniel Dehennin
## télécharger les images Apps sur l'Hapy
114 2 Daniel Dehennin
## créer les images nécessaires Os (et Data si besoin)
115 2 Daniel Dehennin
## Créer/mettre à jour un TEMPLATE (Avec une contextualisation active, +Le fichier de Configuration, +Le script de post installation)
116 2 Daniel Dehennin
## Démarrer la VM
117 2 Daniel Dehennin
## Si l'instance n'est pas faite: 
118 2 Daniel Dehennin
*** réponse aux questions de façon automatique
119 2 Daniel Dehennin
*** gestion des secrets
120 1 Gilles Grandgérard
## Monitorer la fin d'instance avant de passer à la suivante.