KubeVirt#
Требования к установке#
- Образ с Хайстекс Акура (предоставляется по запросу).
-
Ресурсы для запуска виртуальной машины, созданной на основе образа Хайстекс Акура:
- 8 vCPUs,
- 16 ГБ оперативной памяти,
- 250 ГБ SSD диска.
-
Ресурсы для запуска виртуальной машины для облачного агента. ВМ создается в каждом целевом/отказоустойчивом проекте:
- 2 vCPUs,
- 4 ГБ оперативной памяти,
- 20 ГБ диска.
-
Сетевое подключение между исходной площадкой и виртуальной машиной Хайстекс Акура по портам tcp/443 и udp/12201.
-
Сетевое подключение для пользователя Акуры по tcp/443 (UI/API) и tcp/4443 (интерфейс первоначальной настройки, закрывается после ее прохождения).
Этапы установки#
Подготовка на стороне облака#
KubeVirt включает в себя сервис под названием Containerized Data Importer (CDI), который может либо загрузить образ виртуальной машины по указанному URL, либо принять данные образа напрямую от клиента. Ниже приведён пример настройки для второго варианта:
1. Перенаправьте порт.
В первом терминале введите команду, чтобы перенаправить CDI Upload Proxy на локальную машину:
kubectl port-forward --namespace kubevirt deployment/cdi-uploadproxy 8443:8443
Если команда завершится с ошибкой, проверьте, что указано корректное пространство имен (namespace). Выполните команду kubectl get deployment -A, чтобы вывести список всех deployment во всех пространствах имён и определить, в каком из них находится cdi-uploadproxy.
2. Загрузите образы.
Во втором терминале выполниите команды, чтобы загрузить образы контроллера
virtctl image-upload pvc acura-controller-pvc --size=200Gi --storage-class=<STORAGE-CLASS> --volume-mode=block --access-mode=ReadWriteOnce --image-path=<CONTROLLER-IMAGE-PATH> --uploadproxy-url=https://127.0.0.1:8443 --insecure
и облачного агента
virtctl image-upload pvc acura-cloudagent-pvc --size=10Gi --storage-class=<STORAGE-CLASS> --volume-mode=block --access-mode=ReadWriteMany --image-path=<AGENT-IMAGE-PATH> --uploadproxy-url=https://127.0.0.1:8443 --insecure
Замените:
<CONTROLLER-IMAGE-PATH>— на имя файла образа контроллера (включая расширение).<AGENT-IMAGE-PATH>— на имя файла образа облачного агента (включая расширение).<STORAGE-CLASS>— на один из доступных классов хранилища. Выполните командуkubectl get sc, чтобы получить их список.
3. Разверните виртуальную машину контроллера.
Сохраните конфигурацию в файл acura-controller.yaml и выполните команду kubectl apply -f acura-controller.yaml, чтобы создать виртуальную машину контроллера.
Пример конфигурации виртуальной машины Акуры:
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
name: acura-controller
spec:
runStrategy: Always
template:
metadata:
name: acura-controller
spec:
domain:
cpu:
cores: 4
resources:
requests:
memory: "16Gi"
devices:
disks:
- name: rootdisk
disk:
bus: virtio
- disk:
bus: virtio
name: cloudinitdisk
interfaces:
- name: default
masquerade: {}
networks:
- name: default
pod: {}
volumes:
- name: rootdisk
persistentVolumeClaim:
claimName: acura-controller-pvc
- name: cloudinitdisk
cloudInitNoCloud:
userData: |-
#cloud-config
Примечания:
-
Не разворачивайте облачного агента вручную. Акура автоматически создаёт экземпляры облачного агента с эфемерными дисками, используя PVC облачного агента в качестве шаблона.
-
В данном примере порты Акуры не опубликованы во внешнюю сеть. Используйте подходящий способ публикации портов, чтобы обеспечить подключения с исходной площадки и доступ для пользовательских операций.
Конфигурирование Акуры#
Откройте веб-браузер и перейдите по адресу https://<IP_адрес_Акуры>/. Вы будете перенаправлены к мастеру настройки Хайстекс. После выполнения всех действий установка будет завершена. После завершения вы сможете начать использовать Хайстекс Акура.
Шаг 1. Создание пользователя-администратора.
Введите название организации и новые учётные данные пользователя администратора Хайстекс. Используйте эту учетную запись для входа в панель управления Хайстекс Акура и управления системой.

После нажатия кнопки "Далее" мастер установки подтвердит правильность введённых данных и уведомит вас в случае ошибки.
Шаг 2. Настройка SMTP.
Warning
Для продолжения развёртывания требуется SMTP-сервер с шифрованием TLS/SSL.
Укажите полученный вами от Хайстекс лицензионный ключ, а также настройки доступа к вашему почтовому серверу, который будет использоваться для отправки уведомлений от Акуры и для создания периодических отчётов.
Если вы предпочитаете общедоступный SMTP-сервер, связанный с вашим адресом электронной почты (Gmail, Yahoo и т. д.), пожалуйста, найдите его настройки в Интернете. В случае частного SMTP-сервера обратитесь к своему администратору сети для получения более подробной информации.

После нажатия кнопки "Далее" мастер установки подтвердит правильность введённых данных и уведомит вас в случае ошибки. Для проверки функциональности образец уведомления будет отправлен на указанный "Тестовый email".
Шаг 3. Настройка целевого облака.
Заполните все поля, предоставив сведения о конфигурации облака. Нажмите на значок «?» для получения подсказок о полях.

После нажатия кнопки "Далее" мастер установки подтвердит правильность введённых данных и уведомит вас в случае ошибки.
Шаг 4. Выполните вход.
После завершения проверки нажмите на кнопку "Выполните вход" и войдите в панель управления Акуры. Примите предупреждения сертификата, если это необходимо.

Поздравляем! Теперь вы можете использовать Хайстекс Акура! Просто введите на странице входа логин и пароль пользователя-администратора, указанные на первом шаге инициализации.
Особенности эксплуатации и ограничения#
Идентификаторы и имена ресурсов
Для удобства поиска Акура генерирует собственные уникальные идентификаторы для каждого создаваемого ресурса и сохраняет их в метке hxreplica/resource-id.
Эти идентификаторы добавляются в качестве суффикса имени для всех создаваемых ресурсов, кроме смигрированных виртуальных машин: Акура использует имя машины из плана миграции без добавления суффикса. При этом метки с идентификатором ресурса на мигрированных ВМ всё равно сохраняются.
Имена flavor
Имена flavor для KubeVirt в Акуре являются синтетическими и имеют формат, аналогично для VMware, {cpu}-{ram}.
Например, flavor 2-4 создаёт виртуальную машину с 2 CPU ядрами и 4 ГБ оперативной памяти.
Настраивается flavor через одниоименный параметр в плане миграции, см. раздел синтаксис описания машины.
Поддержка снапшотов
Продукт всегда работает в режиме без снапшотов, со следующими стандартными ограничениями:
-
Хранится только одна точка восстановления.
-
Машина блокируется при наличии активных операций восстановления.
-
Следующая репликация после восстановления будет полной.
-
Отсутствуют автоматические операции failback и загрузка данных при failover (при этом failback в виде обратной миграции возможен).
Облачные диски
Облачные диски, создаваемые Акурой, представляют собой PVC. Решение предоставляет возможность настроить какой класс хранилища используется для PVC:
- на уровне облака - в настройках облака параметр "Класс хранения по умолчанию",
- на уровне виртуальной машины - параметр "Класс хранения" в меню "Изменить настройки репликации".
Правила для настройки классов хранилища:
- класс хранилища указывается строкой,
- регистр имеет значение,
- имя должно точно совпадать с
metadata.name, - допускается указание нескольких классов хранилища через запятую:
- порядок задания классов важен,
- первый диск смигрированной машины будет первого класса, второй диск — второго, и так далее,
- если дисков больше, чем классов, то для неучтённых дисков используется последний класс из списка.
Тип подключения диска настраивайте через параметр disk_bus в плане миграции. По умолчанию используется virtio, однако при необходимости можно указать scsi.
Диски облачного агента всегда используют дисковую шину scsi (и загрузочный диск, и подключаемые диски). Это позволяет подключать очень большое количество дисков.
В настоящий момент количество подключаемых дисков для облачного агента ограничено 30.
Маркировка ресурсов
В Kubernetes теги называются метки (labels). Акура использует метки для хранения идентификаторов ресурсов, а также для ряда других целей. Установите дополнительный параметр облака "Установить тег по умолчанию", чтобы помечать все ресурсы, создаваемые Акурой, указанным тегом.