OpenStack —— aperçu
-
-
- Service de mise en miroir One, Glance
- Deux, déployez le regard
-
- 1. Créez une instance de base de données et un utilisateur de base de données (ct)
- 2. Créez des utilisateurs et modifiez les fichiers de configuration
- 3. Créez un point de terminaison d'API de service de mise en miroir
- 4. Installez et modifiez le progiciel openstack-glance, fichier de configuration glance
- 5. Initialisez la base de données Glance et générez des structures de table associées;
- 6. Activez le service glance (après ouverture ici, un répertoire / var / lib / glance / image sera généré pour stocker l'image)
- 7. Donnez au service openstack-glance-api.service l'autorisation d'écriture sur le périphérique de stockage (-h: valeur de la modification de fichier du lien symbolique / lien logiciel)
- 8. Importation miroir
- 9. Deux façons d'afficher la mise en miroir
Service de mise en miroir One, Glance
Son nom de projet dans OpenStack est Glance. Dans les premières versions d'OpenStack, Glance n'avait que la fonction de gestion des images et n'avait pas la fonction de stockage d'images. Maintenant, Glance est devenu un service de base OpenStack qui intègre plusieurs fonctions telles que le téléchargement, la récupération, la gestion et le stockage d'images.
1. Service miroir
Le service de mise en miroir est utilisé pour gérer les miroirs, permettant aux utilisateurs de découvrir, d'obtenir et d'enregistrer des miroirs. Le service d'image fourni dans OpenStack est Glance, et ses principales fonctions sont les suivantes
Interroger et obtenir les métadonnées de l'image et l'image elle-même
Enregistrez et téléchargez des images de machine virtuelle, y compris la création, le téléchargement, le téléchargement et la gestion d'images
Conserver les informations sur l'image, y compris les métadonnées et l'image elle-même
Prend en charge plusieurs façons de stocker des images, y compris les systèmes de fichiers ordinaires, Swift, Amazon S3, etc.
Exécutez la commande create snapshot sur l'instance de machine virtuelle pour créer une nouvelle image ou sauvegarder l'état de la machine virtuelle
2. La version de l'API Images
L'API RESTful fournie par Glance a actuellement deux versions: API v1 et API v2
La v1 ne fournit que des fonctions de base pour les opérations de miroir et de membre, y compris la création, la suppression, le téléchargement, la liste, la requête d'informations détaillées, la mise à jour et la création, la suppression et la liste des membres du client miroir
En plus de prendre en charge toutes les fonctions de la v1, la v2 ajoute principalement l'ajout, la suppression, la modification de la position du miroir, les opérations de métadonnées et d'espace de nom, et les opérations de marque de miroir
Les deux versions ont le même support pour le stockage en miroir, la v1 est obsolète depuis la version N et le chemin de migration est remplacé par la v2
3. Format miroir
Format de disque du fichier image de la machine virtuelle
raw: format de disque non structuré, vitesse d'accès très rapide, mais ne prend pas en charge l'expansion dynamique, qui consomme beaucoup au début
vhd: ce format est couramment utilisé dans VMware, Xen, VirtualBox et autres hyperviseurs
vhdx: une version améliorée du format vhd qui prend en charge des tailles de disque plus grandes
vmdk: un format de disque de machine virtuelle plus général
vdi: format de disque pris en charge par l'hyperviseur VirtualBox et l'émulateur QEMU
iso: le format de fichier utilisé pour le contenu des données du disque compact (CD-ROM)
ploop: pris en charge par virtuozzo, le format de disque utilisé pour exécuter les conteneurs OS
qcow2: pris en charge par la simulation QEMU, extensible dynamiquement et prend en charge le format de disque Copy on Write
aki: format du noyau Amazon stocké dans Glance
ari: format de disque RAM virtuel Amazon (Ramdisk) stocké dans Glance
ami: format de machine Amazon stocké dans Glance
4. Format miroir
Mirror bare: Miroir sans conteneur ni "enveloppe" de métadonnées
ovf: Open Virtualization Format
ova: format de périphérique de virtualisation ouvert stocké dans Glance
aki: format du noyau Amazon stocké dans Glance
ari: format de disque RAM virtuel Amazon (Ramdisk) stocké dans Glance
Docker: format de conteneur de fichier d'archive tar de Docker du système de fichiers de conteneur stocké dans Glance
5. État du miroir
État un
en file d'attente: il s'agit d'un état d'initialisation. Le fichier miroir vient d'être créé et seules ses métadonnées sont disponibles dans la base de données Glance. Les données mises en miroir n'ont pas été téléchargées dans la base de données.
enregistrement: est un état de transition où les données originales de l'image sont téléchargées dans la base de données, indiquant que l'image est en cours de téléchargement
uploading: indique que l'appel de soumission de données d'importation a été effectué et que PUT / file n'est pas autorisé à être appelé dans cet état (l'état d'enregistrement exécutera PUT / file, qui est une autre méthode de téléchargement)
importing: indique que l'appel d'importation est terminé, mais que l'image n'est pas encore prête à être utilisée
État deux
active: indique que lorsque les données du miroir sont téléchargées avec succès, elles deviennent un miroir disponible dans Glance
désactivé: signifie que tout utilisateur non administrateur n'a pas le droit d'accéder aux données du miroir, et il est interdit de télécharger des miroirs, ainsi que d'interdire les opérations d'exportation et de clonage de miroir
tué: indique qu'une erreur s'est produite pendant le processus de téléchargement de l'image et que l'image n'est pas lisible
supprimé: l'image sera automatiquement supprimée dans un proche avenir. L'image ne peut plus être utilisée, mais Glance conserve toujours les informations pertinentes et les données originales de l'image.
pending_delete: similaire à supprimé, Glance n'a pas effacé les données d'image, mais l'image dans cet état ne peut pas être restaurée
6. Autorité d'accès
Public: peut être utilisé par tous les projets
Privé: utilisé uniquement par le projet où se trouve le propriétaire du miroir
Partagé (partagé): une image non partagée peut être partagée avec d'autres projets, ce qui est réalisé grâce aux opérations des membres du projet (membre- *)
Protégé: cette image ne peut pas être supprimée
7. Schéma d'architecture
Le client est l'utilisateur de l'application du service Glance, qui est l'outil de ligne de commande OpenStack, le service Horizon ou Nova
glance-api est un processus de service exécuté en arrière-plan du système. C'est l'entrée de Glance. Il fournit l'API REST en externe, est responsable de la réception des requêtes RESTful des utilisateurs et de la réponse aux requêtes miroir, aux appels d'acquisition et de stockage.
glance-registry est le processus du service d'enregistrement glancei exécuté en arrière-plan du système, responsable du traitement des requêtes RESTful liées aux métadonnées d'image. Les métadonnées comprennent des informations telles que la taille et le type d'image. Si la requête reçue par Glance-api est une opération liée aux métadonnées d'image, glance-api la transmettra à glance-registry. Glance-registry analysera le contenu de la requête et interagira avec la base de données. Stockez, traitez et récupérez les métadonnées en miroir. glance-api fournit une API en externe. L'API de gllance-registry n'est utilisée que par glance-api
Le module DB de Glance stocke des métadonnées en miroir et des bases de données telles que MYSQL, MariaDB et SQLite peuvent être utilisées. Les métadonnées de l'image sont stockées dans la base de données via glance-registry. Notez que l'image elle-même (données de bloc) est stockée dans divers backends de stockage via le pilote de stockage glance
Store Backend Glance lui-même ne stocke pas d'images, il stocke les images dans le système de stockage backend. Les données de l'image elle-même sont stockées dans divers backends via glance_store et peuvent être obtenues à partir de celui-ci. Prend en charge le stockage local, le stockage d'objets, le périphérique de bloc RBD, le stockage distribué Sheepdog, le stockage de blocs de cendre, le stockage de données VMware
Le backend à utiliser est configuré dans /etc/glancelglance-api.conf [glance_store]
8. Flux de travail
Les opérations OpenStack nécessitent une authentification (AuthN) et une autorisation (AuthZ) par Keystone, et Glance ne fait pas exception. Glance est une architecture C / S qui fournit une API REST, et les utilisateurs peuvent effectuer diverses opérations de mise en miroir via l'API REST. [Glance Domain Controller est un middleware principal, équivalent à un ordonnanceur, et son rôle est de distribuer les opérations des services internes de Glance aux couches fonctionnelles suivantes
Registry Layer: est une couche facultative qui contrôle l'interaction sécurisée entre Glance Domain Controller et GlanceDB en utilisant un service distinct
Glance DB: est la bibliothèque principale utilisée par le service Glance, qui est partagée par tous les composants qui dépendent de la base de données dans Glance. (Cette bibliothèque stocke certaines informations de métadonnées, pas une base de données en miroir)
Glance Store: Utilisé pour organiser et traiter l'interaction entre Glance et divers backends de stockage, et fournit une interface unifiée pour accéder au stockage backend. Toutes les opérations de fichier miroir sont effectuées en appelant la bibliothèque Glance Store, qui est responsable de l'interaction avec le terminal de stockage externe ou le système de stockage de fichiers local
Deux, déployez le regard
1. Créez une instance de base de données et un utilisateur de base de données (ct)
mysql -u racine -p
CRÉER UN COUP D'ŒIL DE BASE DE DONNÉES;
DONNEZ TOUS LES PRIVILÈGES SUR UN coup d'œil. * TO 'glance' @ 'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
DONNEZ TOUS LES PRIVILÈGES SUR UN coup d'oeil. * TO 'glance' @ '%' IDENTIFIED BY 'GLANCE_DBPASS';
privilèges de vidage;
quitter
2. Créez des utilisateurs et modifiez les fichiers de configuration
#Avant de créer un utilisateur, vous devez d'abord exécuter le script de variable d'environnement administrateur (il a été défini dans ~ / .bashrc ici)
openstack user create --domain default --password GLANCE_PASS glance ### 创建 glance 用户
#Ajoutez l'utilisateur glance au projet de service et disposez des autorisations d'administrateur pour ce projet; pour enregistrer l'API glance, vous devez disposer des autorisations d'administrateur pour le projet de service
openstack role add --project service --user glance admin
#Créer un service de service, le nom du service est un coup d'oeil, le type est une image; après la création, vous pouvez utiliser openstack
vue de la liste des services
service openstack create --name glance --description Image «OpenStack Image»
3. Créez un point de terminaison d'API de service de mise en miroir
Créez un point de terminaison d'API pour le service de mise en miroir. OpenStack utilise trois points de terminaison d'API pour représenter trois services: administrateur, interne et public
openstack endpoint create --region RegionOne image public http: // ct: 9292
openstack endpoint create --region RegionOne image internal http: // ct: 9292
openstack endpoint create --region RegionOne image admin http: // ct: 9292
4. Installez et modifiez le progiciel openstack-glance, fichier de configuration glance
miam -y installer openstack-glance
#Modifier le fichier de configuration de glance, glance a deux fichiers de configuration: /etc/glance/glance-api.conf et /etc/glance/glance-registry.conf
cp -a /etc/glance/glance-api.confản,.bak}
grep -Ev '^ $ | #' /etc/glance/glance-api.conf.bak> /etc/glance/glance-api.conf
Ajouter la configuration glance-api.conf
# Paramètres modifiés entrants
openstack-config --set /etc/glance/glance-api.conf connexion à la base de données
mysql + pymysql: // regard: GLANCE_DBPASS @ ct / glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http: // ct: 5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http: // ct: 5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct: 11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type mot de passe
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Par défaut
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Par défaut
openstack-config --set /etc/glance/glance-api.conf service keystone_authtoken nom_projet
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken nom d'utilisateur regard
openstack-config --set /etc/glance/glance-api.conf mot de passe keystone_authtoken GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf paste_deploy saveur keystone
openstack-config --set /etc/glance/glance-api.conf glance_store stocke le fichier, http
openstack-config --set /etc/glance/glance-api.conf fichier glance_store default_store
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir / var / lib / glance / images /
Modifier le fichier de configuration glance-registry.conf
## Avant de modifier le fichier de configuration, sauvegardez d'abord les informations du commentaire du filtre
cp -a /etc/glance/glance-registry.conf{,.bak}
grep -Ev '^ $ | #' /etc/glance/glance-registry.conf.bak> /etc/glance/glance-registry.conf
# 修改 配置 文件 参数
openstack-config --set /etc/glance/glance-registry.conf connexion à la base de données mysql + pymysql: // regard: GLANCE_DBPASS @ t / glance
openstack-config --set / etc / glance / glance-registry .conf keystone_authtoken www_authenticate_uri http: // ct: 5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http: // ct: 5000
openstack-config --set / etc / glance / glance-registry .conf keystone_authtoken memcached_servers ct: 11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type mot de passe
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken
nom_domaine_par défaut set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Par défaut
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken nom_projet service
openstack-config --set /etc/glance/glance-registry.conf nom d'utilisateur keystone_authtoken regard
openstack-config --set / etc / glance / glance -registry.conf mot de passe keystone_authtoken GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy saveur keystone
5. Initialisez la base de données Glance et générez des structures de table associées;
su -s / bin / sh -c "glance-manage db_sync" regard
6. Activez le service glance (après ouverture ici, un répertoire / var / lib / glance / image sera généré pour stocker l'image)
systemctl activer openstack-glance-api.service
systemctl démarrer openstack-glance-api.service
7. Donnez au service openstack-glance-api.service l'autorisation d'écriture sur le périphérique de stockage (-h: valeur de la modification de fichier du lien symbolique / lien logiciel)
chown -hR regard: glance / var / lib / glance /
8. Importation miroir
#Téléchargez d'abord l'image cirros dans / opt du nœud de contrôle (l'emplacement du fichier est personnalisé), puis importez un coup d'œil, et enfin vérifiez si la création est réussie
openstack image create --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
9. Deux façons d'afficher la mise en miroir
liste d'images OpenStack
或者
image liste regard