Серия «Поиграйте с корпоративными платформами облачных вычислений» (4): Обзор службы Openstack Mirror Service
Серия «Поиграйте с корпоративными платформами облачных вычислений» (4): Обзор службы Openstack Mirror Service

Введение в сервис Glance

В Openstack Glance в основном предоставляет услуги зеркалирования, а создание виртуальных машин требует поддержки Glance. У Glance есть две важные службы: Glance-api и Glance-Registry, в основном принимающие запросы на создание, удаление и чтение образов облачной системы, а Glance-Registry в основном выполняет услуги регистрации облачных систем.

Glance не требуется настраивать очередь сообщений, но Glance необходимо настроить центр сертификации Keystone. По умолчанию Glance сохраняет загруженные изображения в каталоге /var/lib/glance/images/.

Glance поддерживает различные форматы. изображения,включая raw, vhd, vhdx, vmdk, vdi, iso, qcow2, aki, ami и т. д. Узнайте больше об услугах облачных вычислений Openstack.,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

Архитектура сервиса Glance

В Openstack Архитектура сервиса Glance показана ниже:

В приведенной выше архитектуре Glance API отвечает за получение запросов REST API, аналогично nova-api, и использует другие модули для выполнения таких операций, как поиск, получение, загрузка и удаление изображений. Этот модуль по умолчанию прослушивает порт 9292. Glance-Registry отвечает за взаимодействие с базой данных MySQL, прослушивание порта 9191, используемого для хранения или получения метаданных изображения, и предоставление интерфейсов REST, связанных с метаданными. В базе данных Glance-Registry есть две таблицы: одна — таблица изображений, в которой хранятся формат и размер изображения, другая — таблица свойств изображения, в которой хранится настроенная информация об изображении.

Хранилище изображений — это уровень интерфейса хранилища, и через этот интерфейс Gloss получает изображения. Сам Image Store поддерживает S3 от Amazon, Swift от Openstack, Ceph, Sheepdog, ClusterFS и другие распределенные хранилища. Следует отметить, что Image Stoge — это в основном интерфейс для сохранения и получения изображений. Это всего лишь уровень интерфейса. Конкретная реализация также требует поддержки внешнего хранилища.

Возможности сервиса Glance

Служба изображений используется для управления изображениями, позволяя пользователям находить, получать и сохранять изображения. Glance предоставляет услуги зеркалирования в OpenStack. Его основные функции следующие:

  • Запросить и получить метаданные зеркала и самого зеркала
  • Зарегистрируйтесь изагрузитьвиртуальная машиназеркало,включатьзеркало Создание、загрузить、скачатьи управление
  • Поддерживать информацию о зеркале, включая метаданные и само зеркало.
  • Поддерживает несколько способов хранения зеркала, включая обычные файловые системы, Swift, Amazon S3 и т. д.
  • Выполните команду создания моментального снимка на экземпляре виртуальной машины, чтобы создать новое зеркало.,Или сделайте резервную копию состояния виртуальной машины
версия API мага

RESTful API, предоставляемый Glance, в настоящее время имеет только две версии: API v1 и API v2.

  • Версия 1 предоставляет только базовые функции зеркала и операций с элементами.,В том числе создание зеркала, удаление, загрузка, список, запрос подробной информации, обновление.,а такжезеркало租户成员Создание、удалитьисписок。
  • Помимо поддержки всех функций v1, v2,В основном добавляет операции добавления, удаления, изменения, метаданных и пространства имен местоположения зеркала.,и зеркальная маркировка.

Обе версии имеют одинаковую поддержку хранилища изображений. Версия v1 устарела, начиная с версии N, а путь миграции заменен на версию v2.

Формат изображения

Формат диска файла образа виртуальной машины
Язык кода:javascript
копировать
raw  #Неструктурированный формат диска  
vhd  #Формат универсально применим к VMware, Xen, VirtualBox и другим программам управления виртуальными машинами.  
vhdx  #Расширенная версия формата VHD, поддерживающая диски большего размера.  
vmdx  #Более распространенный формат диска виртуальной машины  
vdl  #Форматы дисков, поддерживаемые гипервизором VirtualBox и эмулятором QEMU  
iso  #Формат файла, используемый для содержимого данных компакт-диска (CD-ROM)  
ploop  #Поддерживается Virtualzzo, форматом диска для запуска контейнеров ОС.  
qcow2  #Поддерживается моделированием QEMU, динамически расширяется, поддерживает запись копировать (Copy on Запись) формат диска  
aki  Формат ядра #Amazon, хранящийся в Glance  
ari  Формат диска виртуальной памяти #Amazon (Ramdisk), хранящийся в Glance  
ami  Машинный формат #Amazon хранится в Glance
Формат контейнера файла образа виртуальной машины
Язык кода:javascript
копировать
bare  #зеркало без контейнера и «конверта» метаданных  
ovf  #открытый формат виртуализации  
ova  #Открытый формат устройства виртуализации, хранящийся в Glance  
aki  Формат ядра #Amazon, хранящийся в Glance  
ari  Формат диска виртуальной памяти #Amazon (Ramdisk), хранящийся в Glance  
Docker  # Docker tar-архив файловой системы контейнера, хранящийся в Glance

Если вы не уверены, какой формат контейнера выбрать, безопаснее всего указать пустой формат контейнера. Подробнее об услугах облачных вычислений Openstack Серия обучающих статей,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

Статус зеркала

Процесс загрузки изображения на распознавание:

Язык кода:javascript
копировать
queued  #Процесс инициализации, файл зеркала только что создан, в базе данных Glance есть только его метаданные, а данные зеркала еще не загружены в базу данных. 
saving  #Процесс импорта базы данных представляет собой переходное состояние, при котором исходные данные зеркала загружаются в базу данных, что свидетельствует о загрузке зеркала.  
uploading  #Отправить в процесс идентификации Служить, указывающий, что был выполнен вызов отправки импортных данных. Вызов PUT/file не разрешен в этом состоянии (PUT/file будет выполнен в состоянии сохранения, что является еще одним методом загрузки).  
importing  Статус #Подготовлено к использованию, указывающий, что вызов импорта завершен, но зеркало еще не готово к использованию. 

Статус после завершения загрузки изображения

Язык кода:javascript
копировать
active  # означает, что его можно использовать  
deactivated  #Указывает разрешения, доступные только администраторам  
killed  #Указывает на ошибку при загрузке зеркала  
deleted  #зеркало скоро будет автоматически удалено, зеркало недоступно (данные сохранены)  
pending_delete  #Аналогично удалению, но не подлежит восстановлению после удаления
Права доступа
Язык кода:javascript
копировать
Общественный  #Может использоваться всеми проектами  
Частный #Используется только проектами, где находится владелец зеркала  
Общий  #Закрытое зеркало можно использовать совместно с другими проектами. Это достигается с помощью операции участника проекта (member-*).  
Защищено  #Такое зеркало нельзя удалить

Анализ рабочего процесса

Красное поле — это процесс службы для аутентификации и авторизации клиентских запросов: все операции openstack требуют аутентификации личности и авторизации через keystone, и взгляд не является исключением. Если авторизация прошла успешно, служба просмотра будет запрошена после того, как служба просмотра получит запрос. внешний запрос перейдет к keystone для аутентификации, чтобы проверить, был ли этот запрос авторизован. После прохождения аутентификации запрос будет передан на серверную часть.

  • Auth (авторизация): используется для управления Права зеркала. доступа,Решатьзеркало Доступна ли информация?Исправлять。

Контроллер домена Gloss в желтом поле является основным промежуточным программным обеспечением, которое эквивалентно планировщику. Его функция заключается в распределении операций внутренних служб Gloss по различным функциональным уровням, расположенным ниже.

  • 1) Политика (определение правил): Определите правила доступа для операций зеркала.
  • 2)Quota(лимит квоты):Администратор определил пользователязеркалобольшой или маленькийзеркалозагрузитьверхний предел。
  • 3) Местоположение: взаимодействуйте с фоном через glook_store.,При добавлении нового местоположения в этот слой проверьте правильность URI местоположения.,Предотвратите дублирование положения зеркала.

Метаданные изображения в синем поле хранятся в базе данных посредством реестра взглядов. Само изображение (фрагмент данных) хранится в различных серверных системах хранения через драйвер хранилища Gloss.

  • 1)Registry Слой: Control Glance с помощью отдельной Служить Контроллери Взгляд Безопасное взаимодействие между БД.
  • 2) Glance DB: хранит метаданные зеркала.
  • 3) Glance Store: используется для управления взаимодействием между Glance и различными серверными хранилищами и предоставляет унифицированный интерфейс для доступа к внутреннему хранилищу.

Зеленый квадрат — это серверная часть магазина, которая хранит данные самого изображения во внутренней системе хранения.

  • БД (база данных): реализует API для взаимодействия с базой данных, преобразует зеркало в формат ответа и сохраняет его в базе данных.

Установите и настройте Glance

Выполнить команду:

Язык кода:javascript
копировать
yum install -y openstack-glance

Узел Glance успешно установлен.

Изменить файл конфигурации Glance

После установки Glance,Нам необходимо настроить компонент Glance.,Откройте файл конфигурации /etc/glance/glance-api.conf компонента Glance.,в этом файле[database]Добавьте в модуль следующий контент:

Язык кода:javascript
копировать
connection= mysql+pymysql://glance:glance@192.168.136.101/glance

В приведенной выше конфигурации mysql+pymysql представляет используемую базу данных, цифра после двух дефисов представляет имя пользователя и пароль, используемые для входа в базу данных, а взгляд за дефисом представляет конкретное имя базы данных. После завершения настройки. , файл выглядит следующим образом:

Инициализируйте базу данных Glance

После завершения конфигурации базы данных,Мы можем инициализировать базу данных Glance.,Выполнить команду:

Язык кода:javascript
копировать
su -s /bin/sh -c "glance-manage db_sync" glance

Вот и все. Результат выполнения этой команды следующий:

Уведомление,Как видно из картинки выше,При выполнении вышеуказанной команды появляется предупреждающее сообщение.,Нам не нужно беспокоиться об этом здесь,Если на предыдущем шаге не было обнаружено ошибок.,Просто продолжайте. После инициализации базы данных,нас Выполнить команду:

Язык кода:javascript
копировать
mysql -h 192.168.136.101 -uglance -pglance -e "use glance; show tables;"

Чтобы обнаружить эффект инициализации базы данных Glance, результаты выполнения этой команды следующие:

Как видно на рисунке выше, наша база данных Glance была успешно инициализирована и создана! Подробнее об услугах облачных вычислений Openstack Серия обучающих статей,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

конфигурация glight-api

В описанной выше установке и предварительной настройке Glance мы выполнили установку Glance, настройку и инициализацию базы данных. Затем настройте Glance’s Keystone и запустите службу Glance.

первый,Начнем с конфигурации gl-api.,Открытьglance-apiиз Конфигурациядокумент/etc/glance/glance-api.conf,找到其中из[keystone_authtoken]модуль,Добавьте следующий контент в модуль:

Язык кода:javascript
копировать
[keystone_authtoken]
auth_uri=http://192.168.136.101:5000
auth_url=http://192.168.136.101:35357
memcached_servers=192.168.136.101:11211
auth_type=password
project_domain_name=default
user_domain_name=default
project_name=service
username=glance
password=glance

В приведенной выше конфигурации auth_type представляет тип аутентификации, project_domain_name представляет домен проекта по умолчанию, user_domain_name представляет домен пользователя по умолчанию, project_name представляет собой имя проекта, имя пользователя и пароль представляют собой имя пользователя и пароль. Содержимое этой конфигурации должно соответствовать нашей предыдущей конфигурации. узла keystone, файл после завершения настройки выглядит следующим образом:

после,нас再找到[paster_depoy]модуль,Добавьте в этот модуль следующее содержимое:

Язык кода:javascript
копировать
[paste_deploy]
flavor=keystone

Приведенная выше конфигурация указывает на соответствующую конфигурацию включения вышеуказанного ключевого элемента. Измененный файл конфигурации выглядит следующим образом:

Следующий,нас再找到[glance_store]модуль,Добавьте в этот модуль следующий контент:

Язык кода:javascript
копировать
[glance_store]
stores=file,http
default_store=file
filesystem_store_datadir=/var/lib/glance/images

Приведенное выше содержимое конфигурации в основном настраивает локальную файловую систему и расположение файла изображения. Готовый файл конфигурации выглядит следующим образом:

После того, как вся Конфигурация выполнена, заполняем команду:

Язык кода:javascript
копировать
grep "^[a-Z]" /etc/glance/glance-api.conf

Проверятьконфигурация Все полезное Конфигурация под файл glight-api, результаты такие:

размещение в реестре взглядов

После завершения настройки glight-api.,Далее у нас идет Конфигурацияglance-registry.,glance-registryиз Конфигурациядокумент为/etc/glance/glance-registry.conf,Должен Конфигурациядокументиконфигурация Разница между файлом glight-api заключается в том, что в нем нет конфигурации, связанной с glare_store. В конечном итоге полезный контент в файле конфигурации glight-registry выглядит следующим образом:

служба взгляда запускается

После выполнения всех вышеперечисленных конфигураций,Можем начать взгляд Служить,Выполнить команду:

Язык кода:javascript
копировать
systemctl start openstack-glance-api
systemctl start openstack-glance-registry

Службу Glance можно запустить. После запуска службы Glance мы видим, что текущее устройство начинает прослушивать порты 9191 и 9292 (9191 — порт прослушивания glance-registry, а 9292 — порт прослушивания glance-api), как показано ниже:

Glance KeytoneРегистрация

Ранее мы настроили и реализовали регистрацию узла Glance на Keystone. Сегодня мы реализуем регистрацию узла Glance на Keystone.

первый,Давайте сначала создадим сервис Glance’s Service Служить на Openstack.,Выполнить команду:

Язык кода:javascript
копировать
openstack service create --name glance --description "Openstack Glance" image

Результат выполнения этой команды следующий:

Следующий,Мы собираемся создать конечную точку API для зеркала Служить.,Создаем публичные, внутренние и административные конечные точки соответственно.,Выполнить команду:

Язык кода:javascript
копировать
openstack endpoint create --region RegionOne image public http://192.168.136.101:9292
openstack endpoint create --region RegionOne image internal http://192.168.136.101:9292
openstack endpoint create --region RegionOne image admin http://192.168.136.101:9292

Результаты выполнения трех вышеуказанных команд следующие:

Подробнее об услугах облачных вычислений Openstack Серия обучающих статей,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

Тест загрузки изображений Glance

Наконец, мы проверили предыдущую конфигурацию, загрузили изображение и зарегистрировали его в узле Glance, чтобы проверить работу Glance.

первый,Давайте сначала посмотрим на зеркало в нынешней системе.,Выполнить команду:

Язык кода:javascript
копировать
openstack image list
glance image-list

Вы можете просматривать изображения в текущей системе Glance по отдельности. Выполнение двух вышеуказанных команд происходит следующим образом:

Как видно из картинки выше,В нынешней системе нет зеркала. Следующий,Начнем с зеркала,Выполнить команду:

Язык кода:javascript
копировать
wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

Результат выполнения этой команды следующий:

Следующий,Пробуем использовать только что скачанное зеркало.,Зарегистрируйтесь на узле взгляда,Выполнить команду:

Язык кода:javascript
копировать
openstack image create "test-img" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public

Вы можете завершить регистрацию зеркала Результат выполнения этой команды следующий:

после,нас再次Выполнить команду:

Язык кода:javascript
копировать
openstack image list
glance image-list

Результаты двух вышеуказанных команд следующие:

Кроме того, как видно из рисунка выше, наше место хранения изображений Glance расположено в каталоге /var/lib/glance/images/, что соответствует нашей конфигурации места хранения изображений в glance-api.

Видно, что наша регистрация и настройка Glance Keystone прошла успешно!

Вышеупомянутое — это наше знакомство с принципом, установкой и настройкой сервиса Glance.

Ссылка для справки: https://blog.csdn.net/weixin_40228200. /article/details/125118744 https://blog.csdn.net /KY06_Xxy/article/details/110959473

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose