Académique Documents
Professionnel Documents
Culture Documents
Resume Theorique M211
Resume Theorique M211
66,5 heures
1. Mettre en service OpenStack
Découvrir OpenStack
1 2 3 4 5
LE GUIDE DE LA VERSION PDF DES CONTENUS DU CONTENU DES RESSOURCES
SOUTIEN Une version PDF TÉLÉCHARGEABLES INTERACTIF EN LIGNES
Il contient le est mise en ligne Les fiches de Vous disposez de Les ressources sont
résumé théorique sur l’espace résumés ou des contenus consultables en
et le manuel des apprenant et exercices sont interactifs sous synchrone et en
travaux pratiques formateur de la téléchargeables forme d’exercices asynchrone pour
plateforme sur WebForce Life et de cours à s’adapter au
WebForce Life utiliser sur rythme de
WebForce Life l’apprentissage
6,5 heures
CHAPITRE 1
Découvrir OpenStack
2 heures
CHAPITRE 1
Découvrir OpenStack
1. Introduction d’OpenStack
2. Chronologie des versions d’OpenStack
01 - Découvrir OpenStack
Introduction d’OpenStack
Présentation d’OpenStack
OpenStack est une plate-forme de Cloud Computing développée par le fournisseur de services d'hébergement RACKSPACE et la NASA pour aider les fournisseurs de
services Cloud et les entreprises à créer des services d'infrastructure Cloud.
Le projet OpenStack pourrait être considéré comme un système d'exploitation Cloud. Toute organisation ou tout particulier peut créer son propre environnement de Cloud
Computing (IaaS) basé sur OpenStack.
OpenStack permet la gestion du calcul, du stockage et du réseau à travers une interface web et visant à créer une plateforme de Cloud qui soit Open Source flexible et
élastique.
PARTIE 1
Cloud public : ressources partagées, les modèles « pay-as-you-go » sont courants. Le Cloud public OpenStack est disponible dans plus de 60 centres de données dans le
monde.
Cloud Privé : dédié à un seul utilisateur. Peut être un Cloud privé hébergé dans le centre de données d'un fournisseur, ou un Cloud privé géré à distance.
Cloud hybride : un mélange de Cloud privé et de Cloud public orchestré ensemble pour répondre aux besoins de l'entreprise
PARTIE 1
OpenStack s'intègre à un certain nombre d'autres technologies, y compris de nombreux projets Open Source populaires, permettant aux utilisateurs de les
combiner avec OpenStack.
PARTIE 1
programmation
Réseau plat
Modèle de mise
VLAN DHCP plat VLAN, groupes de sécurité
en réseau
DHCP VLAN
Il s'agit d'une infrastructure programmable qui permet aux utilisateurs d'avoir une plate-forme pour les machines virtuelles, les conteneurs et le bare metal.
Des centaines d'entreprises et des dizaines de milliers d'individus du monde entier se sont réunis pour créer et soutenir OpenStack parce qu'ils croient en l'importance
d'une plate-forme Cloud standardisée et omniprésente.
OpenStack a plusieurs projets sous son nom. Les projets couvrent des éléments fondamentaux tels que le calcul, la mise en réseau et le stockage, mais s'étendent
également de la télémétrie à l'orchestration en passant par les API de conteneur.
L’utilisation d’OpenStack est très répandue au niveau mondial. De grandes entreprises IT et non IT aux États-Unis utilisent OpenStack.
PARTIE 1
Infrastructure programmable qui établit un Une plate-forme pour les machines virtuelles, les
ensemble commun d'API au-dessus du calcul, de la conteneurs et le bare metal
mise en réseau et du stockage
PARTIE 1
Architecture d’OpenStack
L'architecture d'OpenStack propose de nombreux services selon l'architecture réduite suivante:
PARTIE 1
Introduction d’OpenStack
Introduction d’OpenStack
Service Heat :
Orchestre de nombreuses applications de Cloud composites en utilisant soit le format de template natif HOT ou le format
CloudFormation d’AWS, soit au travers d’une API REST native OpenStack, soit au travers d’une API compatible avec
CloudFormation.
PARTIE 1
1. Introduction d’OpenStack
2. Chronologie des versions d’OpenStack
01 - Découvrir OpenStack
Chronologie des versions d’OpenStack
La mise en service d’OpenStack est passée par plusieurs version selon la chronologie suivante :
• 2010 : Rackspace réécrivait le code de son infrastructure Cloud et envisageait d'en ouvrir une partie. La NASA travaillait également sur du code pour l'infrastructure
Cloud.
❖ La base d'OpenStack est la combinaison des deux efforts.
❖ Le premier sommet OpenStack s'est tenu à Austin, au Texas, en juillet 2010.
• 2012 : La Fondation OpenStack a été créée, et supervise les projets et gère la communauté.
• 2014 : OpenStack Marketplace a été créé. Il s'agit d'un portail sur OpenStack.org/marketplace qui aide les utilisateurs à naviguer dans un écosystème de formations,
distributions de projets OpenStack etc…
• 2015 : La certification d'interopérabilité OpenStack Powered a été lancée. Le badge OpenStack Powered est destiné aux produits qui exécutent des instances
entièrement fonctionnelles d'OpenStack et qui ont été testés selon les normes convenues par l'écosystème de fournisseurs et d'utilisateurs.
• 2016 a été importante pour OpenStack, car l'adoption par les entreprises chinoises a été remarquable. Le programme Certified OpenStack Administrator a été lancé,
qui est une certification professionnelle qui teste les compétences fondamentales d'OpenStack.
PARTIE 1
• 2017 : OpenStack a continué le développement de son infrastructure programmable, offrant aux utilisateurs une plate-forme pour les conteneurs, les VMs et le bare-
metal.
Icehouse 17 April 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove
Juno 16 October 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara
Kilo 30 April 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic
Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate,
Queens 28 February 2018 Barbican, Searchlight, Magnum, aodh, Cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko,
senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun
Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate,
Barbican, Searchlight, Magnum, aodh, Cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko,
Rocky 30 August 2018 senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api,
Masakari, Qinling (40 services)
Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone,
Wallaby 14 April 2021 Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Panko, Placement, Sahara, Senlin,
Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (39 services)
Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone,
Xena 06 October 2021 Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Placement, Sahara, Senlin, Solum,
Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (38 services)
NEC 168 6%
Lenovo 154 5%
SUSE 74 3%
Red Hat Ericsson Independent Yovole NEC
PARTIE 1
IBM 58 2%
Lenovo SUSE IBM Dell EMC NetApp
Dell EMC 52 2%
NetApp 44 2%
2 heures
CHAPITRE 2
Installer OpenStack
1. Téléchargement et installation
2. Présentation de l’architecture
3. Exploration des composants
02 - Installer OpenStack
Téléchargement et installation
La possibilité d’étendre les fonctionnalités est toujours possible à travers l’ajout des composants.
PARTIE 1
La possibilité d’étendre les fonctionnalités est toujours possible à travers l’ajout des composants.
PARTIE 1
Packages OpenStack
La solution OpenStack est constituée de plusieurs services qui s’installent séparément.
Il s’agit notamment du service Compute, du service d’Identité, du service Réseau, du service Image, du service de Stockage Bloc, du service de Stockage Objet, du service
de Télémétrie, du service d’Orchestration et du service de Base de Données.
Il est possible d’installer chacun de ces services indépendamment et les configurer comme autonomes ou en tant qu’entités connectées.
Les distributions livrent les packages OpenStack soit avec la distribution elle-même, soit par d’autres moyens en fonction du calendrier de sortie des différentes versions.
Exécuter ces procédures sur tous les nœuds.
PARTIE 1
Packages OpenStack
La solution OpenStack est constituée de plusieurs services qui s’installent séparément.
Il s’agit notamment du service Compute, du service d’Identité, du service Réseau, du service Image, du service de Stockage Bloc, du service de Stockage Objet, du service
de Télémétrie, du service d’Orchestration et du service de Base de Données.
Il est possible d’installer chacun de ces services indépendamment et les configurer comme autonomes ou en tant qu’entités connectées.
Les distributions livrent les packages OpenStack soit avec la distribution elle-même, soit par d’autres moyens en fonction du calendrier de sortie des différentes versions.
Exécuter ces procédures sur tous les nœuds.
PARTIE 1
Packages OpenStack
Activer le dépôt OpenStack
• # apt-get install software-properties-common
• # add-apt-repository Cloud-archive:mitaka
Finaliser l’installation
• # apt-get update && apt-get dist-upgrade
1. Téléchargement et installation
2. Présentation de l’architecture
3. Exploration des composants
02 - Installer OpenStack
Présentation de l’architecture
Le projet OpenStack
Le projet OpenStack est une plate-forme de Cloud Computing Open Source qui supporte tout type d’environnement Cloud.
Le projet a pour objectif une implémentation simple, une scalabilité massive et un riche ensemble de fonctionnalités. Des experts en Cloud Computing du monde entier
contribuent au projet.
OpenStack fournit une solution d’Infrastructure-as-a-Service (IaaS) grâce à une variété de services complémentaires.
Chaque service offre une Application Programming Interface (API) qui facilite cette intégration.
PARTIE 1
Architecture OpenStack
OpenStack est l'un des plus grands projets Open Source au
monde.
Source : OpenStack
1. Téléchargement et installation
2. Présentation de l’architecture
3. Exploration des composants
02 - Installer OpenStack
Exploration des composants
OpenStack est un système d'exploitation Cloud qui contrôle de grands pools de ressources de calcul, de stockage et de mise en réseau dans un centre de données, tous
gérés et provisionnés via des API avec des mécanismes d'authentification communs.
Un tableau de bord est également disponible, donnant aux administrateurs le contrôle tout en permettant à leurs utilisateurs de provisionner des ressources via une
interface Web.
Au-delà de la fonctionnalité standard d'infrastructure en tant que service, des composants supplémentaires assurent l'orchestration, la gestion des pannes et la gestion
des services, entre autres services, pour garantir une haute disponibilité des applications utilisateur.
PARTIE 1
Qu'est-ce qu'Horizon ?
Horizon est l'implémentation canonique du tableau de bord d'Openstack, qui fournit une interface utilisateur Web aux services OpenStack, notamment Nova, Cinder,
Neutron et d'autres services. Il est livré avec trois tableaux de bord centraux, un "tableau de bord utilisateur", un "tableau de bord système" et un tableau de bord
"Paramètres". Entre ces trois, ils couvrent les principales applications OpenStack.
L’utilisateur final du Cloud, utilise le tableau de bord OpenStack pour provisionner les ressources dans les limites définies par les administrateurs pour déployer
l'infrastructure virtuelle.
PARTIE 1
OpenStack Networking gère la création et la gestion d'une infrastructure de réseau virtuel, y compris les réseaux, les commutateurs, les sous-réseaux et les
routeurs pour les machines virtuelles gérés par le service OpenStack Compute (nova). Des services avancés tels que des pare-feux ou des réseaux privés virtuels
(VPN) peuvent également être utilisés.
Nova est généralement déployé avec d'autres services OpenStack (par exemple, Block Storage, Object Storage, Image, etc.) dans le cadre d'une infrastructure
Cloud plus vaste et plus complète. OpenStack utilise les services suivants pour fournir les fonctionnalités de base :
• Keystone : fournit l'identité et l'authentification pour tous les services OpenStack.
• Glance : fournit le référentiel d'images de calcul. Toutes les instances de calcul se lancent à partir d'images.
PARTIE 1
• Neutron : responsable du provisionnement des réseaux virtuels ou physiques auxquels les instances de calcul se connectent au démarrage.
Il peut également s'intégrer à d'autres services pour inclure d'autres fonctionnalités telles que le stockage de blocs persistant et les disques chiffrés.
Concepts de base
Instance
Une instance est l'unité de ressource fondamentale allouée par le service OpenStack Compute. Il représente une allocation de capacité de calcul ainsi qu'un
stockage éphémère facultatif utilisé pour prendre en charge la capacité de calcul provisionnée.
À moins qu'un disque racine ne provienne de Cinder, les disques associés aux VM sont « éphémères », ce qui signifie qu’ils disparaissent effectivement lorsqu'une
machine virtuelle est terminé.
Une instance peut éventuellement être référencée par un nom significatif, bien qu'il ne soit pas garanti que cette chaîne soit unique au sein d'un déploiement
unique. ils peuvent cependant être identifiés de manière unique via un UUID attribué par le service Nova au moment de la création de l'instance.
Les saveurs
Dans OpenStack, les modèles de matériel virtuel sont appelés versions, définissant les tailles de RAM, de disque, de nombre de cœurs, etc. Les saveurs définissent
un certain nombre de paramètres. Ceci permet à l'utilisateur de choisir le type de machine virtuelle à exécuter, comme il le ferait s'il achetait un serveur physique.
Les saveurs peuvent également contenir des extra_specs, qui peuvent être utilisées pour définir des caractéristiques de forme libre, offrant une grande flexibilité
au-delà de la taille de la RAM, du processeur et du disque pour déterminer où une instance est provisionnée.
PARTIE 1
(par nom ou UUID) qui doit être utilisé comme disque racine ; l'instantané est copié dans un nouveau volume Cinder persistant qui est ensuite attaché en tant
que disque racine de l'instance pour créer un volume éphémère qui sera marqué pour suppression lorsque l'instance elle-même sera résiliée.
2,5 heures
CHAPITRE 3
Gérer le cluster OpenStack
Dashboard
Le Dashboard (horizon) est une interface web qui permet aux administrateurs et aux utilisateurs du Cloud d’administrer les différentes ressources et services OpenStack.
Le dashboard repose sur les services de base fonctionnels comme le service d’Identité, le service Image, le service Compute, et soit le service Réseau (neutron) ou le
service Réseau legacy (nova-network).
Vérifications préalables :
• Vérifier le fonctionnement du dashboard.
• Accéder au dashboard via un navigateur web et l’adresse http://controller/horizon.
• S’authentifier avec les crédentials de l’utilisateur admin ou demo et le domaine default.
• Personnaliser le dashboard.
• Paramétrer le stockage de session.
• Pour utiliser le client VNC avec le dashboard, le navigateur doit supporter les canvas et les WebSockets HTML5.
Dashboard
Tableau de bord OpenStack — onglet Projet
Les projets sont des unités organisationnelles dans le Cloud et sont également appelés locataires ou comptes. Chaque utilisateur est membre d'un ou de plusieurs projets.
Au sein d'un projet, un utilisateur crée et gère des instances.
PARTIE 1
Dashboard
Tableau de bord OpenStack — onglet Admin
Les utilisateurs administratifs peuvent utiliser l'onglet Admin pour afficher l'utilisation et gérer les instances, les volumes, les versions, les images, les réseaux, etc.
PARTIE 1
Dashboard
Tableau de bord OpenStack — onglet Identité
Les utilisateurs administratifs peuvent utiliser l'onglet identité pour gérer les autres utilisateurs, les droits d’accès, les rôles, etc.
PARTIE 1
Installer OpenStackClient
OpenStackClient
OpenStackClient (alias OSC) est un client de ligne de commande pour OpenStack.
Il rassemble le jeu de commandes pour les API de calcul, d'identité, d'image, de stockage d'objets et de stockage de blocs.
Un seul shell avec une structure de commande uniforme.
Installer les clients de ligne de commande OpenStack
La plupart des distributions Linux incluent des versions packagées des clients en ligne de commande qu’il est possible d’installer directement.
Prérequis : Python 2.7, setuptools package, pip package.
L'exemple suivant montre la commande d'installation du client OpenStack avec pip, qui prend en charge plusieurs services.
# apt install python-dev python-pip.
Utiliser pip pour installer les clients OpenStack sur un système Linux afin d’obtenir la dernière version du client à partir du Python Package.
De plus, pip permet de mettre à jour ou de supprimer un package.
# pip install python-OpenStackclient.
PARTIE 1
Sourcer les crédentiels admin pour accéder aux commandes en ligne réservées à l’administrateur :
$ . admin-openrc
Lister les composants du service pour vérifier le bon lancement et le bon enregistrement de chaque
processus :
MyFirstInstance
Se connecter à l'instance avec une adresse IP
$ ssh Cloud-user@128.107.37.150
27 heures
CHAPITRE 1
Provisionner des ressources de calculs
9 heures
CHAPITRE 1
Provisionner des ressources de calculs
Le nœud Compute
La brique Nova
Nova est le projet OpenStack qui fournit un moyen de provisionner des instances de calcul (serveurs virtuels).
Nova prend en charge la création de machines virtuelles, de serveurs baremetal (grâce à l'utilisation d'ironic) et a une prise en charge limitée des conteneurs système. Il
s'exécute comme un ensemble de démons au-dessus des serveurs Linux existants pour fournir ce service.
Il nécessite les services OpenStack supplémentaires suivants pour les fonctions de base :
Il peut également s'intégrer à d'autres services pour inclure : le stockage de blocs persistant, les disques chiffrés et les instances de calcul baremetal.
La brique Glance
Elle stocke et récupère des images disques de machines virtuelles.
Le projet Image service (Glance) fournit un service dans lequel les utilisateurs peuvent télécharger et découvrir des actifs de données destinés à être utilisés avec d'autres
services. Cela inclut actuellement les définitions d'images et de métadonnées.
Les services d'imagerie Glance incluent la découverte, l'enregistrement et la récupération d'images de machines virtuelles (VM). Glance dispose d'une API RESTful qui
permet d'interroger les métadonnées de l'image VM ainsi que de récupérer l'image réelle.
Les images de machines virtuelles mises à disposition via Glance peuvent être stockées dans divers emplacements, des systèmes de fichiers simples aux systèmes de
stockage d'objets comme le projet OpenStack Swift.
PARTIE 2
Identificateurs d'image
Les images sont identifiées de manière unique au moyen d'un URI qui correspond à la signature suivante :
<Glance Server Location>/v1/images/<ID>
où
<Glance Server Location> est l'emplacement de la ressource du service Glance qui connaît une image,
<ID> est l'identifiant de l'image,
Les identifiants d'image dans Glance sont des uuids, ce qui les rend globalement uniques.
Formats de disque
Lors de l'ajout d'une image à Glance, spécifier le format de disque et le format de conteneur de l'image de la machine virtuelle.
Les formats de disque et de conteneur sont configurables pour chaque déploiement.
Formater le disque
PARTIE 2
Le format de disque d'une image de machine virtuelle est le format de l'image de disque sous-jacente.
Les fournisseurs d'appliances virtuelles ont différents formats pour disposer les informations contenues dans une image disque de machine virtuelle.
Il est nécessaire de définir le format de disque de l’image sur l'un des formats.
Formats de disque
VHD
Il s'agit du format de disque VHD (Virtual Hard Disk), un format de disque courant utilisé par les moniteurs de machines virtuelles de VMware, Xen, Microsoft, VirtualBox
vhdx
Il s'agit du format VHDX, une version améliorée du vhdformat. Il prend en charge des tailles de disque plus importantes et une protection contre la corruption des données
lors de pannes de courant.
vmdk
Le format VMDK (Virtual Machine Disk) est pris en charge par de nombreux moniteurs de machines virtuelles courants, par exemple l'hyperviseur VMware ESXi.
vdi
Le format VDI (Virtual Disk Image) pour les fichiers image est pris en charge par le moniteur de machine virtuelle VirtualBox et l'émulateur QEMU.
iso
Le format ISO est une image disque formatée avec le système de fichiers en lecture seule ISO 9660 (également appelé ECMA-119) couramment utilisé pour les CD et les
DVD.
PARTIE 2
bouc
Un format de disque pris en charge et utilisé par Virtuozzo pour exécuter des conteneurs OS.
qcow2
Le format QCOW2 (QEMU copy-on-write version 2) est couramment utilisé avec l'hyperviseur KVM. Il utilise une représentation de sorte que la taille de l'image est
inférieure à celle d'un fichier au format brut du même disque virtuel.
• Sur le contrôleur, sourcer les crédentiels demo pour obtenir l’accès aux commandes en ligne non
privilégiées :
$ . demo-openrc
• Un gabarit définit un profil d’allocation de ressources virtuelles qui inclut le processeur, le mémoire
et le stockage.
+--------------------------------------+--------------+--------------------------------------+
| 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c |
| b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff |
+--------------------------------------+--------------+--------------------------------------+
Lancer l’instance
$ openstack server create --flavor m1.tiny --image cirros \
• La commande ci-après crée une instance de calcul avec --nic net-id=PROVIDER_NET_ID --security-group default \
--key-name mykey provider-instance
des paramètres spécifiques pour l’image, le groupe de
sécurité ainsi que le modèle de machine. +--------------------------------------+-----------------------------------------------+
| Property | Value |
+--------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | hdF4LMQqC5PB |
| config_drive | |
| created | 09-17T21:58:18Z |
| flavor | m1.tiny (1) |
| hostId | |
| id | 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf |
| image | cirros (38047887-61a7-41ea-9b49-27987d5e8bb9) |
| key_name | mykey |
| metadata | {} |
| name | provider-instance |
PARTIE 2
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | default |
| status | BUILD |
| tenant_id | f5b2ccaa75ac413591f12fcaa096aa5c |
| updated | 2015-09-17T21:58:18Z |
| user_id | 684286a9079845359882afc3aa5011fb |
+--------------------------------------+-----------------------------------------------+
• Obtenir une URL de session Virtual Network Computing (VNC) pour votre instance et y accéder via un navigateur web :
$ ping -c 4 203.0.113.103
PING 203.0.113.103 (203.0.113.103) 56(84) bytes of data.
64 bytes from 203.0.113.103: icmp_req=1 ttl=63 time=3.18 ms
64 bytes from 203.0.113.103: icmp_req=2 ttl=63 time=0.981 ms
64 bytes from 203.0.113.103: icmp_req=3 ttl=63 time=1.06 ms
64 bytes from 203.0.113.103: icmp_req=4 ttl=63 time=0.929 ms
• Accéder à l'instance en SSH depuis le contrôleur ou tout autre hôte sur le réseau physique :
$ ssh cirros@203.0.113.103
The authenticity of host '203.0.113.102 (203.0.113.102)' can't be established.
RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '203.0.113.102' (RSA) to the list of known hosts.
PARTIE 2
9 heures
CHAPITRE 2
Configurer le réseau
Le service Réseau fournit des abstractions de réseaux, de sous-réseaux et de routeurs. Chaque abstraction a des fonctionnalités qui imitent leurs homologues physiques :
les réseaux contiennent des sous-réseaux et les routeurs acheminent le trafic entre les différents réseaux et sous-réseaux.
Toute configuration Réseau comporte au moins un réseau externe. A la différence des autres réseaux, le réseau externe n’est pas simplement un réseau défini
virtuellement. Il représente une vue d’une partie du réseau physique externe accessible à l’extérieur de l’installation OpenStack. Les adresses IP du réseau externe sont
accessibles par n’importe qui physiquement connectés au réseau extérieur.
En plus des réseaux externes, toute configuration réseau comporte un ou plusieurs réseaux internes. Ces réseaux définis par logiciel se connectent directement aux VMs.
Seules les VMs d’un réseau interne donné, ou celles de sous-réseaux connectés par des interfaces sur le même routeur, peuvent accéder directement aux VMs connectées
à ce réseau.
PARTIE 2
Il est également possible de translater des adresses IP du réseaux externes vers le réseau interne.
La translation d’adresse peut être statique ou dynamique via des ports.
Ce mécanisme permet d’associer des adresses IP du réseau externe aux VMs.
Les VMs sont ainsi joignable depuis le réseau externe.
Le service Réseau supporte aussi les groupes de sécurité. Les Groupes de Sécurité permettent aux administrateurs de regrouper des règles de filtrage.
Une VM peut appartenir à un ou plusieurs groupes de sécurité et le service Réseau applique les règles dans ces groupes de sécurité pour interdire ou autoriser des ports,
PARTIE 2
Toutes les installations Réseau utilisent un core plugin et un plugin security group.
Des plugins Firewall-as-a-Service (FWaaS) et Load-Balancer-as-a-Service (LBaaS) sont également disponibles.
Utilisé par la plupart des installations, OpenStack Networking pour acheminer les informations entre le serveur neutron et divers agents. Agit également comme une base
de données pour stocker l'état du réseau pour des plug-ins particuliers.
• OpenStack Networking interagit principalement avec OpenStack Compute pour fournir des réseaux et une connectivité pour ses instances.
Architecture réseau
OpenStack Networking est un service autonome qui déploie souvent plusieurs processus sur plusieurs nœuds.
Ces processus interagissent entre eux et avec d'autres services OpenStack.
Le processus principal du service OpenStack Networking est neutron-server.
C’est un démon Python qui expose l'API OpenStack Networking et transmet les demandes des locataires à une suite de plug-ins pour un traitement supplémentaire.
S'exécute sur chaque nœud de calcul pour gérer la configuration du commutateur virtuel local (vswitch). Le plug-in utilisé détermine les agents exécutés. Ce service
nécessite un accès à la file d'attente des messages et dépend du plugin utilisé. Certains plugins comme OpenDaylight (ODL) et Open Virtual Network (OVN) ne nécessitent
aucun agent python sur les nœuds de calcul.
Architecture réseau
Agent DHCP ( neutron-dhcp-agent )
Fournit des services DHCP aux réseaux de locataires.
Cet agent est le même pour tous les plug-ins et est responsable de la maintenance de la configuration DHCP.
L'agent neutron-dhcp nécessite un accès à la file d'attente des messages. Facultatif selon le plug-in.
Agent L3 ( neutron-l3-agent )
Fournit le transfert L3/NAT pour l'accès réseau externe des machines virtuelles sur les réseaux locataires.
Nécessite un accès à la file d'attente des messages. Facultatif selon le plug-in.
Architecture réseau
Organigramme d'architecture et de mise en réseau des
composants de mise en réseau OpenStack :
PARTIE 2
Réseau API
Expose toutes les API OpenStack, y compris l'API OpenStack Networking, aux locataires. Les adresses IP de ce réseau doivent être accessibles par n'importe qui sur
Internet. Il peut s'agir du même réseau que le réseau externe, avec la possibilité de créer un sous-réseau du réseau externe. Ce réseau est considéré comme le domaine de
la sécurité publique.
Chaque réseau physique distinct prenant en charge les réseaux VLAN est traité comme un tronc VLAN distinct, avec un espace distinct de valeurs VID. Les valeurs VID
valides vont de 1 à 4094.
La complexité de la configuration VLAN dépend des exigences de conception OpenStack. Afin de permettre à OpenStack Networking d'utiliser efficacement les VLAN, il est
nécessaire d’allouer une plage de VLAN (une pour chaque locataire) et transformer chaque port de commutateur physique de nœud de calcul en un port de jonction VLAN.
Les groupes de sécurité permettent aux administrateurs et aux locataires de spécifier le type de trafic et la direction (entrée/sortie) autorisés à passer par un port
d'interface virtuelle. Les règles des groupes de sécurité sont des filtres de trafic L2-L4 avec état.
Il est recommandé d'activer les groupes de sécurité dans ce service et de les désactiver dans le service Compute.
Le service de mise en réseau (neutron) prend en charge les règles de QoS limitant la bande passante.
Pare-feu
FW-as-a-Service (FWaaS) est considéré comme une fonctionnalité expérimentale pour la version Kilo d'OpenStack Networking.
FWaaS répond au besoin de gérer et d'exploiter le riche ensemble de fonctionnalités de sécurité fournies par les produits de pare-feu typiques qui sont généralement
beaucoup plus complets que ce qui est actuellement fourni par les groupes de sécurité.
Freescale et Intel ont tous les deux développé des plug-ins tiers en tant qu'extensions dans OpenStack Networking pour prendre en charge ce composant dans la version
Kilo.
Lors de la conception d'une infrastructure de mise en réseau OpenStack, il est important d’identifier les limites actuelles des services réseau disponibles.
PARTIE 2
Comprendre les limites des réseaux virtuel et physique aidera à ajouter les contrôles de sécurité requis dans l’environnement.
Tous les nœuds nécessitent un accès Internet pour des besoins administratifs comme l’installation de packages, de mises à jour de sécurité, le DNS et le NTP. Dans la
plupart des cas, les nœuds doivent avoir accès à Internet via l’interface réseau de management.
Ce réseau nécessite une passerelle pour fournir un accès Internet à tous les nœuds pour des besoins administratifs comme l’installation de packages, de mises à jour de
sécurité, le DNS, et NTP.
# controller
10.0.0.11 controller
# compute1
10.0.0.31 compute1
# block1
10.0.0.41 block1
# object1
10.0.0.51 object1
PARTIE 2
# object2
10.0.0.52 object2
9 heures
CHAPITRE 3
Stocker des données
Présentation de Swift
Les organisations peuvent utiliser Swift pour stocker de nombreuses données de manière efficace, sûre et à moindre coût.
Le service stocke et récupère des objets de données non structurées via une API RESTful basée sur HTTP.
Le service est hautement tolérant aux pannes avec sa réplication de données et son architecture de type scale-out.
Le service écrit les objets et les fichiers vers plusieurs disques, en s’assurant que les données sont répliquées sur un cluster de serveurs.
PARTIE 2
Présentation de Swift
Prérequis
Avant d’installer et configurer le service de Stockage Objet sur les nœuds de stockage, préparer les devices de stockage.
# apt-get install xfsprogs rsync
Architecture de stockage
Il existe de nombreuses architectures de stockage différentes disponibles lors de la conception d'un Cloud OpenStack.
La convergence de l'orchestration et de l'automatisation au sein de la plate-forme OpenStack permet un provisionnement rapide du stockage sans les problèmes des processus manuels
traditionnels tels que la création et la connexion de volumes.
Cependant, avant de choisir une architecture de stockage, il convient de répondre à quelques questions génériques :
• L'architecture de stockage évoluera-t-elle de manière linéaire à mesure que le Cloud se développe et quelles sont ses limites ?
• Inclut-il des outils pour aider à dépanner et résoudre les problèmes de performances ?
Certains peuvent avoir besoin d'un accès rapide à de nombreux objets qui ne changent pas souvent, ou souhaitent définir une valeur de durée de vie (TTL) sur un fichier.
D'autres peuvent accéder uniquement au stockage monté avec le système de fichiers lui-même, mais souhaitent qu'il soit répliqué instantanément lors du démarrage d'une nouvelle
instance.
Pour d’autres systèmes, le stockage éphémère est le choix préféré. Lors de la sélection des back-ends de stockage, tenir compte des questions suivantes du point de vue de l'utilisateur :
Tout d'abord:
Les disques de stockage persistants doivent-ils être contenus dans les nœuds de calcul ou dois-je utiliser un stockage externe ?
De quel type de performances ai-je besoin en termes d'IOPS ? Total IOPS et IOPS par instance ? Ai-je des applications avec des SLA IOPS ?
• Utiliser la commande OpenStack volume create pour créer un volume. La commande crée un LV dans le groupe de volumes (VG) Cinder-volumes.
• Utiliser la commande OpenStack server add volume pour attacher le volume à une instance. Cette commande crée un lien IQN unique qui est exposé au nœud de
calcul.
• Le nœud de calcul, qui exécute l'instance, dispose désormais d'une session active et d'un nouveau stockage local (/dev/sdX).
• L'instance obtient un nouveau disque (/dev/vdX).
• Identifie de manière unique les nœuds d'un réseau de stockage. Tous les IQN suivent le modèle de nommage déterminé
Commande Description
server add volume Attacher un volume à un serveur.
volume create Ajouter un nouveau volume.
volume delete Supprimer ou supprimer un volume.
server remove volume Détacher ou supprimer un volume d'un serveur.
volume list Lister tous les volumes.
volume show Afficher les détails d'un volume.
snapshot create Ajouter un nouvel instantané.
snapshot delete Supprimer un instantané.
snapshot list Lister tous les instantanés.
PARTIE 2
Cinder fournit des périphériques persistants de type bloc aux instances OpenStack. Il gère les opérations de création, d’attachement et de détachement de ces
périphériques sur les serveurs. En plus du stockage local sur le serveur, Cinder peut utiliser de multiples plateformes de stockage tel que Ceph, EMC (ScaleIO, VMAX et
VNX), GlusterFS, Hitachi Data Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System, et GPFS), NetApp, HP (StoreVirtual et 3PAR) et bien
d’autres.
Le stockage en mode bloc est utilisé pour des scénarios performant comme celui du stockage de base de données, mais aussi pour fournir au serveur un accès bas niveau
au périphérique de stockage. Cinder gère aussi la création d’instantanés (snapshots), très utile pour sauvegarder des données contenues dans les périphériques de type
bloc. Les instantanés peuvent être restaurés ou utilisés pour créer de nouveaux volumes.
Les services API et scheduler du Stockage Bloc tournent généralement sur les contrôleurs. En fonction des drivers utilisés, le service de volume peut tourner sur les
contrôleurs, sur les nœuds Compute ou sur des nœuds de stockage autonomes.
PARTIE 2
interagir avec une variété de fournisseurs de stockage via une architecture de pilote.
File d'attente de messagerie
Achemine les informations entre les processus de stockage de blocs.
Backend Cinder
Les backends servent de réceptacles pour la gestion du cycle de vie des données
Il est possible de configurer plusieurs backends de stockage Cinder
Plusieurs considérations d’architecture entrent en jeux avant de statuer sur le type et la technologie du backend à utiliser
PARTIE 2
Backend
• Blockbridge EPS • HPE LeftHand/StoreVirtual driver • ProphetStor Fibre Channel and iSCSI drivers
• Ceph RADOS Block Device (RBD) • HP MSA Fibre Channel and iSCSI drivers • Pure Storage iSCSI and Fibre Channel volume drivers
• Coho Data volume driver • IBM GPFS volume driver • Scality SOFS driver
• Dell EqualLogic volume driver • IBM Storwize family and SVC volume driver • Sheepdog driver
• Dell Storage Center Fibre Channel and iSCSI drivers • IBM XIV and DS8000 volume driver • SambaFS driver
• Dot Hill AssuredSAN Fibre Channel and iSCSI drivers • IBM FlashSystem volume driver • SolidFire
• EMC ScaleIO Block Storage driver configuration • ITRI DISCO volume driver • Tintri
• EMC VMAX iSCSI and FC drivers • Lenovo Fibre Channel and iSCSI drivers • Violin Memory 7000 Series FSP volume driver
• EMC XtremIO Block Storage driver configuration • NetApp unified driver • Windows iSCSI volume driver
• Fujitsu ETERNUS DX driver • Nimble Storage volume driver • X-IO volume driver
PARTIE 2
• GlusterFS driver • NexentaStor 4.x NFS and iSCSI drivers • Oracle ZFS Storage Appliance iSCSI driver
• HDS HNAS iSCSI and NFS driver • NexentaStor 5.x NFS and iSCSI drivers • Oracle ZFS Storage Appliance NFS driver
13 heures
CHAPITRE 1
Gérer les identités
6 heures
CHAPITRE 1
Gérer les identités
Service d’identité
Fournit un service d’authentification et d’autorisation pour les autres services d’OpenStack.
Fournit un catalogue de Endpoints pour tous les services d’OpenStack.
Keystone est un service OpenStack qui fournit l'authentification du client API, la découverte de services et l'autorisation multi-locataire distribuée en implémentant l'API
Identity d'OpenStack.
Le service OpenStack Identity fournit un point d'intégration unique pour la gestion des services d'authentification, d'autorisation et de catalogue de services.
D'autres services OpenStack utilisent le service Identity comme API unifiée commune. De plus, les services qui fournissent des informations sur les utilisateurs mais qui ne
sont pas inclus dans OpenStack (tels que les services LDAP) peuvent être intégrés dans une infrastructure préexistante.
PARTIE 3
Afin de bénéficier du service Identity, d'autres services OpenStack doivent collaborer avec lui. Lorsqu'un service OpenStack reçoit une requête d'un utilisateur, il vérifie
auprès du service Identity si cet utilisateur est autorisé à effectuer la requête.
Service d’identité
Le service d'identité contient ces composants :
Serveur
Un serveur centralisé fournit des services d'authentification et d'autorisation à l'aide d'une interface RESTful.
Conducteurs
Des pilotes ou un back-end de service sont intégrés au serveur centralisé. Ils sont utilisés pour accéder aux informations d'identité dans des référentiels externes à
OpenStack et peuvent déjà exister dans l'infrastructure où OpenStack est déployé (par exemple, des bases de données SQL ou des serveurs LDAP).
Modules
Les modules middleware s'exécutent dans l'espace d'adressage du composant OpenStack qui utilise le service Identity. Ces modules interceptent les demandes de service,
extraient les informations d'identification des utilisateurs et les envoient au serveur centralisé pour autorisation. L'intégration entre les modules middleware et les
composants OpenStack utilise l'interface Python Web Server Gateway.
PARTIE 3
Lors de l'installation du service OpenStack Identity, il est nécessaire d’enregistrer chaque service dans l’installation OpenStack. Le service d'identité peut ensuite suivre les
services OpenStack installés et leur emplacement sur le réseau.
Créer un projet, un utilisateur et un rôle administrateur pour réaliser les opérations d’administration dans l’environnement :
Créer le projet admin : $ openstack project create --domain default \
--description "Admin Project" admin
+-------------+----------------------------------+
PARTIE 3
| Field | Value |
+-------------+----------------------------------+
| description | Admin Project |
| domain_id | e0353a670a9e496da891347c589539e9 |
| enabled | True |
| id | 343d245e850143a096806dfaefa9afdc |
| is_domain | False |
| name | admin |
| parent_id | None |
+-------------+----------------------------------+
Notions d'identité
Authentification
Processus de confirmation de l'identité d'un utilisateur. Pour confirmer une demande entrante, OpenStack Identity valide un ensemble d'informations d'identification
fournies par les utilisateurs. Initialement, ces informations d'identification sont un nom d'utilisateur et un mot de passe, ou un nom d'utilisateur et une clé API.
Lorsqu'OpenStack Identity valide les informations d'identification de l'utilisateur, il émet un jeton d'authentification. Les utilisateurs fournissent le jeton dans les demandes
ultérieures.
Identifiants
Données qui confirment l'identité de l'utilisateur. Par exemple, nom d'utilisateur et mot de passe, nom d'utilisateur et clé API, ou un jeton d'authentification fourni par le
service d'identité.
Domaine
Une entité de l'API du service d'identité. Les domaines sont un ensemble de projets et d'utilisateurs qui définissent les limites administratives pour la gestion des entités.
Les domaines peuvent représenter un espace appartenant à un individu, à une entreprise ou à un opérateur. Ils exposent les activités administratives directement aux
PARTIE 3
utilisateurs du système. Les utilisateurs peuvent se voir attribuer le rôle d'administrateur pour un domaine. Un administrateur de domaine peut créer des projets, des
utilisateurs et des groupes dans un domaine et attribuer des rôles aux utilisateurs et aux groupes dans un domaine.
Notions d'identité
Point final
Une adresse accessible par le réseau, généralement une URL, par laquelle accéder à un service. Il est possible de créer un modèle de point de terminaison qui représente
les modèles de tous les services consommables disponibles.
Groupe
Une entité de l'API du service d'identité. Les groupes sont une collection d'utilisateurs appartenant à un domaine. Un rôle de groupe, accordé à un domaine ou à un projet,
s'applique à tous les utilisateurs du groupe. L'ajout ou la suppression d'utilisateurs à ou d'un groupe accorde ou révoque leur rôle et leur authentification au domaine ou
au projet associé.
OpenStackClient
Une interface de ligne de commande pour plusieurs services OpenStack, y compris l'API Identity. Par exemple, un utilisateur peut exécuter les commandes OpenStack
service create et OpenStack Endpoint create pour enregistrer des services dans son installation OpenStack.
Projet
Conteneur qui regroupe ou isole des ressources ou des objets d'identité. Un projet peut être mappé à un client, un compte ou une organisation etc..
PARTIE 3
Notions d'identité
Région
Une entité de l'API v3 du service d'identité. Représente une division générale dans un déploiement OpenStack. Vous pouvez associer zéro ou plusieurs sous-régions à une
région pour créer une hiérarchie structurée en arbre. Bien qu'une région n'ait pas de connotation géographique, un déploiement peut utiliser un nom géographique pour
une région, tel que us-east.
Rôle
Une personnalité avec un ensemble défini de droits et de privilèges d'utilisateur pour effectuer un ensemble spécifique d'opérations. Le service d'identité délivre un jeton
à un utilisateur qui inclut une liste de rôles. Lorsqu'un utilisateur appelle un service, ce service interprète le jeu de rôles utilisateur et détermine à quelles opérations ou
ressources chaque rôle accorde l'accès.
Service
Un service OpenStack, tel que Compute (nova), Object Storage (Swift) ou Image service (Glance), qui fournit un ou plusieurs points de terminaison via lesquels les
utilisateurs peuvent accéder aux ressources et effectuer des opérations.
Jeton
Une chaîne de texte alphanumérique qui permet d'accéder aux API et aux ressources OpenStack. Un token peut être révoqué à tout moment et est valable pour une durée
PARTIE 3
déterminée. Alors qu'OpenStack Identity prend en charge l'authentification basée sur les jetons, il a l'intention de prendre en charge des protocoles supplémentaires à
l'avenir.
Utilisateur
Représentation numérique d'une personne, d'un système ou d'un service qui utilise les services Cloud d'OpenStack. Le service d'identité valide que les demandes
entrantes sont faites par l'utilisateur qui prétend passer l'appel. Les utilisateurs peuvent accéder aux ressources à l'aide de jetons attribués.
$ export OS_URL=http://controller:35357/v3
Créer l’entité de service et les Endpoints API
$ OpenStack service create \
--name keystone --description "OpenStack Identity" identity
Autorisation
aux comptes.
L’examen périodique des politiques permet de vérifier que la configuration est conforme aux politiques approuvées.
Autorisation
Autorisation de service
Les administrateurs de Cloud doivent définir un utilisateur avec le rôle d'administrateur pour chaque service, comme recommandé par les meilleurs pratiques
d'OpenStack. Ce compte de service fournit au service l'autorisation d'authentifier les utilisateurs.
Les services de calcul et de stockage d'objets peuvent être configurés pour utiliser le service d'identité pour stocker les informations d'authentification.
Le service d'identité prend en charge l'authentification client pour TLS qui peut être activé.
L'authentification client TLS fournit un facteur d'authentification supplémentaire, en plus du nom d'utilisateur et du mot de passe, qui offre une plus grande fiabilité lors de
l'identification de l'utilisateur. Il réduit le risque d'accès non autorisé lorsque les noms d'utilisateur et les mots de passe peuvent être compromis. Cependant, l'émission de
certificats aux utilisateurs entraîne des frais et des coûts administratifs supplémentaires pour le déploiement.
L'authentification client avec TLS nécessite que des certificats soient délivrés aux services. Ces certificats peuvent être signés par une autorité de certification externe ou
interne. Les services OpenStack vérifient la validité des signatures de certificat par rapport aux autorités de certification approuvées par défaut et les connexions
échoueront si la signature n'est pas valide ou si l'autorité de certification n'est pas approuvée.
Les déployeurs Cloud peuvent utiliser des certificats auto-signés. Dans ce cas, le contrôle de validité doit être désactivé ou le certificat doit être marqué comme approuvé.
PARTIE 3
Autorisation
Utilisateurs administratifs
Il est recommandé aux utilisateurs administrateurs de s'authentifier à l'aide du service d'identité et d'un service d'authentification externe prenant en charge
l'authentification à deux facteurs, tel qu'un certificat. Cela réduit le risque de mots de passe qui peuvent être compromis. Cette recommandation est conforme aux
directives concernant l'utilisation de l'authentification multi-facteur pour l'accès réseau aux comptes privilégiés.
Utilisateurs finaux
Le service d'identité peut fournir directement l'authentification de l'utilisateur final ou peut être configuré pour utiliser des méthodes d'authentification externes afin de
se conformer aux politiques et exigences de sécurité d'une organisation.
PARTIE 3
Exemple de stratégie
Chaque service OpenStack définit les politiques d'accès pour ses
ressources dans un fichier de politique associé.
Une ressource, par exemple, peut être l'accès à l'API, peut avoir la {
possibilité de s'attacher à un volume ou de lancer des instances. "admin_required": "role:admin",
"cloud_admin": "rule:admin_required and domain_id:admin_domain_id",
Les règles de politique sont spécifiées au format JSON et le fichier est "service_role": "role:service",
"service_or_admin": "rule:admin_required or rule:service_role",
appelé policy.json. "owner" : "user_id:%(user_id)s or user_id:%(target.token.user_id)s",
"admin_or_owner": "(rule:admin_required and domain_id:%(target.token.user.domain.id)s) or
rule:owner",
"admin_or_cloud_admin": "rule:admin_required or rule:cloud_admin",
"admin_and_matching_domain_id": "rule:admin_required and domain_id:%(domain_id)s",
Ces politiques peuvent être modifiées ou mises à jour par "service_admin_or_owner": "rule:service_or_admin or rule:owner",
l'administrateur du Cloud pour contrôler l'accès aux différentes "default": "rule:admin_required",
ressources.
"identity:get_service": "rule:admin_or_cloud_admin",
"identity:list_services": "rule:admin_or_cloud_admin",
Toute modification des politiques de contrôle d'accès ne devrait pas "identity:create_service": "rule:cloud_admin",
affaiblir involontairement la sécurité d'une ressource. "identity:update_service": "rule:cloud_admin",
"identity:delete_service": "rule:cloud_admin",
Les modifications apportées au fichier policy.json prennent effet "identity:get_endpoint": "rule:admin_or_cloud_admin",
immédiatement et ne nécessitent pas le redémarrage du service. "identity:list_endpoints": "rule:admin_or_cloud_admin",
PARTIE 3
"identity:create_endpoint": "rule:cloud_admin",
"identity:update_endpoint": "rule:cloud_admin",
L'exemple suivant montre comment le service peut restreindre l'accès "identity:delete_endpoint": "rule:cloud_admin",
pour créer, mettre à jour et supprimer des ressources aux seuls }
utilisateurs qui ont le rôle de Cloud_admin, tandis que les ressources
get et list sont mises à la disposition des utilisateurs
7 heures
CHAPITRE 2
Superviser les ressources
Dashboard Horizon
Le Dashboard (horizon) est une interface web qui permet aux
administrateurs et aux utilisateurs du Cloud d’administrer les
différentes ressources et services OpenStack.
Dashboard Horizon
Admin TAB
Le volet admin offre une vue sur l’ensemble des éléments du projet, compute, stockage, réseau etc ..
PARTIE 3
Dashboard Horizon
Identity TAB
Le volet identité permet de gérer le volet identité en matière de domaines, projets, utilisateurs, rôles et groupes
PARTIE 3
Dashboard Horizon
Setting TAB
Le volet configuration générale permet de régler les paramètres généraux de l’infrastructure
PARTIE 3
S'exécute sur un ou plusieurs serveurs de gestion centralisés pour permettre de définir des alarmes en fonction de l'évaluation du seuil pour une collection d'échantillons.
Ces services communiquent à l'aide du bus de messagerie OpenStack. Seuls le collecteur et le serveur d'API ont accès au magasin de données.
[PAR DÉFAUT]
...
instance_usage_audit = Vrai
instance_usage_audit_period = heure
notify_on_state_change = vm_and_task_state
PARTIE 3
notification_driver = messageriev2
Service d’alarme
Prérequis
Avant d’installer et configurer le service d’Alarme, créer une base de données, des crédentiels de service et des Endpoints API.
Créer l’entité de service aodh
+-------------+----------------------------------+
Cela fait généralement référence aux charges de travail de calcul dans le Cloud, mais également des cas d'utilisation concernant la mise à l'échelle du plan de contrôle ou
d'autres ressources.
La mise à l'échelle comprend à la fois des actions d'augmentation et de réduction pour essayer d'allouer les ressources de manière appropriée et efficace et d'éviter les
problèmes. Cela vise la meilleure expérience client et le meilleur retour sur investissement.
La mise à l’échelle vise à éviter les problèmes en allouant plus de ressources lorsqu'un besoin est détecté ou prévu, ou à conserver les ressources en les désactivant
lorsque les charges sont faibles.
OpenStack fournit plusieurs méthodes pour mettre à l'échelle automatiquement le cluster : utilisation de Heat AutoScalingGroup, Senlin Cluster, etc..
PARTIE 3
• Service de monitoring
• Service d’alarme
• Service d’optimisation
• Service de mise en cluster
• Service d’analyse
PARTIE 3
Service de surveillance
- La surveillance fonctionne soit en utilisant un agent installé sur l'unité de mise à l'échelle, soit en utilisant une méthode d'interrogation pour récupérer les métriques.
PARTIE 3
• Monasca
• Ceilometer
• Prometheus
• Heat
• Senlin est un moteur de clustering pour OpenStack et peut orchestrer la mise à l'échelle automatique
• Tacker
Calcul OpenStack
Exemples de grandeurs métrées par OpenStack
Mémoire Jauge Mo ID d'instance Notification Libvirt, Hyper-V Volume de RAM alloué à l'instance
Libvirt, Hyper-V, vSphere, Volume de RAM utilisé par l'instance à partir
utilisation de la mémoire Jauge Mo ID d'instance Sondeur
XenAPI de la quantité de sa mémoire allouée
mémoire.résident Jauge Mo ID d'instance Sondeur Libvirt Volume de RAM utilisé par l'instance sur la machine physique
vcpu Jauge vcpu ID d'instance Notification Libvirt, Hyper-V Nombre de CPU virtuels alloués à l'instance
demand
disk.device.read.requests Cumulatif ID de disque Sondeur Libvirt, Hyper-V Nombre de requêtes de lecture
PARTIE 3
e
demand
disk.device.write.requests Cumulatif ID de disque Sondeur Libvirt, Hyper-V Nombre de demandes d'écriture
e
disk.device.read.bytes Cumulatif B ID de disque Sondeur Libvirt, Hyper-V Volume de lectures
20 heures
CHAPITRE 1
Mettre en œuvre une solution de backup
10 heures
CHAPITRE 1
Mettre en œuvre une solution de backup
Il est conçu pour fonctionner entièrement sur OpenStack, dans le but de permettre d'utiliser rapidement et facilement les fonctionnalités d'une base de données
relationnelle sans avoir à gérer des tâches administratives complexes.
Les utilisateurs du Cloud et les administrateurs de base de données peuvent provisionner et gérer plusieurs instances de base de données selon les besoins.
Le service permet l'isolation des ressources à haute performance tout en automatisant les tâches administratives complexes, notamment le déploiement, la configuration,
les correctifs, les sauvegardes, les restaurations et la surveillance.
Trove permet d’installer et de gérer des instances de base de données relationnelle et NoSQL au sein d’OpenStack.
Les services de base de données supportés sont les suivants : MySQL, Redis, PostgreSQL, Mongodb, Cassandra, Couchbase et Percona …
PARTIE 4
| operating_status | |
| public | True |
| region | RegionOne |
| service_status_updated | 08T21:00:19 |
| status | BUILD |
| updated | 08T21:00:19 |
| volume | 5 |
+--------------------------+--------------------------------------+
Accéder à la nouvelle base de données en utilisant les commandes d'accès à la base de données typiques MySQL.
IP_ADDRESS selon l'endroit où la commande s'exécute.
L’adresse IP doit figurer dans les CIDR autorisés et spécifiés dans la commande ci-dessus :
$ mysql -h IP_ADDRESS -uuserA –ppassword
Importation des données SQL
Il est possible d’importer des données à partir d’une autre base de données ou bien de fichiers de base de donnée existants
Exemple : import depuis csv :
LOAD DATA INFILE 'c:/tmp/import.csv'
INTO TABLE import
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
PARTIE 4
Les données de sauvegarde sont stockées dans OpenStack Swift. L'utilisateur peut personnaliser le conteneur pour stocker les données. :
• Les utilisateurs peuvent créer une stratégie de sauvegarde pour la portée du projet ou pour une instance particulière.
PARTIE 4
| project_id | 922b47766bcb448f83a760358337f2b4 |
| swift_container | my-trove-backups |
+-----------------+--------------------------------------+
+-------------+--------------------------------------+
$ openstack database instance create guest2 --flavor 10 --size 2 --nic net-id=$network_id --backup BACKUP_ID
+-------------------+----------------------------------------------+
| Property | Value |
+-------------------+----------------------------------------------+
| created | 2014-03-18T17:12:03 |
| datastore | {u'version': u'mysql-5.5', u'type': u'mysql'}|
|datastore_version | mysql-5.5 |
| flavor | {u'id': u'10', u'links': [{u'href': ...]} |
| id | ac7a2b35-a9b4-4ff6-beac-a1bcee86d04b |
| name | guest2 |
| status | BUILD |
PARTIE 4
| updated | 2014-03-18T17:12:03 |
| volume | {u'size': 2} |
+-------------------+----------------------------------------------+
Vérifier la sauvegarde
Vérifier que la nouvelle instance a les mêmes caractéristiques que l‘instance d'origine.
+-----------+--------+-----------+-------------------+--------+-----------+------+
| id | name | datastore | datastore_version | status | flavor_id | size |
+-----------+--------+-----------+-------------------+--------+-----------+------+
| 97b...ae6 | guest1 | mysql | mysql-5.5 | ACTIVE | 10 | 2 |
| ac7...04b | guest2 | mysql | mysql-5.5 | ACTIVE | 10 | 2 |
+-----------+--------+-----------+-------------------+--------+-----------+------+
Utiliser la commande show de l'instance de base de données OpenStack pour afficher des informations sur la nouvelle instance.
| ip | 10.0.0.3 |
| name | guest2 |
| status | ACTIVE |
| updated | 2014-03-18T17:12:06 |
| volume | 2 |
| volume_used | 0.18 |
+-------------------+--------------------------------------+
Stratégie de sauvegarde
Il est recommandé de procéder à la création d’une stratégie personnalisée pour la sauvegarde de base de données :
Dans cet exemple, lister les instances de base de données :
| Field | Value |
+-----------------+--------------------------------------+
| backend | swift |
| instance_id | 97b4b853-80f6-414f-ba6f-c6f455a79ae6 |
| project_id | 922b47766bcb448f83a760358337f2b4 |
| swift_container | my-trove-backups |
+-----------------+--------------------------------------+
| status | NEW |
| updated | 18T17:09:07 |
+-------------+--------------------------------------+
| volume | {u'size': 2} |
+-------------------+----------------------------------------------+
• Implémenter un DHCP
• Configurer un NTP
• Implémenter un DNS
10 heures
CHAPITRE 2
Déployer des services de gestion
infrastructure
1. Implémentation du DHCP
2. Configuration du NTP
3. Implémentation DNS
02 - Déployer des services de gestion infrastructure
Implémentation du DHCP
DHCP distribué
Le serveur DHCP est implémenté à l'aide du serveur Dnsmasq exécuté dans un espace de noms sur le nœud de réseau par sous-réseau locataire configuré avec DHCP
activé.
Actuellement, la haute disponibilité est obtenue en exécutant plusieurs serveurs Dnsmasq sur plusieurs nœuds de réseau.
Le contrôleur définit les métadonnées de flux dans les règles de redirection sur la clé unique du port local comme indice pour permettre une recherche rapide des
informations de port pour les paquets DHCP réactifs gérés par l'application DHCP.
L'application DHCP locale gère les paquets DHCP redirigés et répond en tant que serveur DHCP. Le trafic DHCP est géré directement au niveau du nœud de calcul et ne
passe jamais sur le réseau.
PARTIE 4
DHCP distribué
PARTIE 4
DHCP distribué
PARTIE 4
1. Implémentation du DHCP
2. Configuration du NTP
3. Implémentation DNS
02 - Déployer des services de gestion infrastructure
Configuration du NTP
Il est recommandé de configurer le contrôleur pour pointer vers des serveurs plus précis (stratum moins élevé) et les autres nœuds pour pointer vers le contrôleur.
Modifier le fichier « /etc/chrony/chrony.conf » pour référencer le nœud du contrôleur : server controller iburst
Vérifier le fonctionnement
Vérifier la synchronisation NTP :
Exécuter cette commande sur le nœud du contrôleur :
# chronyc sources
# chronyc sources
1. Implémentation du DHCP
2. Configuration du NTP
3. Implémentation DNS
02 - Déployer des services de gestion infrastructure
Implémentation DNS