0:00 – Старт
1:00 – Представление экспертов
2:00 – Что такое виртуализация? Какие виды бывают?
11:33 – Как изменился рынок в 2023 году
17:17 – Насколько востребованы в России бесплатные Open Source платформы (Xen, KVM)?
19:52 – Результаты опроса «Какая система виртуализации используется в вашей компании»?
36:25 – Кадровый вопрос
46:05 – Результат опроса «Какова ваша стратегия относительно систем виртуализации»?
52:12 – Что стало после введения санкций с инсталляциями VMware ESXi и Microsoft Hyper-V? Насколько востребованы в России бесплатные Open Source платформы (Xen, KVM)?
59:14 – Какие сертификаты нужны для российских систем виртуализации?
1:01:57 – Зачем нужно платить за российские аналоги, если можно получить ту же функциональность бесплатно на KVM?
1:25:28 – На какие параметры смотреть при выборе коммерческой российской системы виртуализации?
1:31:54 – Результаты опроса «Основной сценарий использования систем виртуализации»
1:33:00 – Результаты опроса «Что вас останавливает от перехода на российские системы виртуализации»?
1:44:14 – Какие аппаратные платформы поддерживаются? Какие серверные операционные системы можно виртуализировать на российских платформах? Есть ли российские системы для виртуализации рабочих мест (VDI)? (ведущий решил задать три темы сразу)
1:53:49 – Какими компетенциями нужно обладать ИТ-специалистам на стороне заказчика?
2:03:32 – ТОП-10 распространенных ошибок при внедрении и эксплуатации?
2:25:07 – Результаты опроса «Каково ваше мнение о российских системах виртуализации после эфира»?
Category: Новости
Terraform cycles
Решил я заняться развертыванием AWS Lambda Function и API Gateway через Terraform.
Вводные были следующие:
- API Gateway создается на основе OpenAPI-шаблона, который вызывает Lambda Functions. Соответственно, в шаблоне должен быть указан Lambda invocation url (lambda типа как prerequisite);
- Lambda Function должна запускаться только из API Gateway – для разрешения (permission) в качестве source_arn необходимо указать API Gateway execution arn (API gateway prerequisite).
Сначала я создавал lambda function с помощью штатных ресурсов AWS-provider: aws_lambda_function, aws_lambda_permission и archive_file. Проблем с закольцовкой не было: Terraform умело разруливал порядок создания ресурсов.
Но потом лямбда функций стало больше, и я решил использовать принцип DRY (don’t repeat yourself). В Terraform эту роль играют модули.
Я начал использовать публичный модуль для создания лямбд отсюда – и меня догнали Terraform Cycle Error на этапе terraform validate.
Отрицание
Не может такого быть, повторял я и варьировал различные варианты кода.
Неужели придется отказаться от модуля в случае создания таких функций???
Гнев
Пока я изучал модуль, обнаружил в нем входную переменную putin_khuylo, содержащую по умолчанию значение true.
Торг
Внимательное изучение выходных значений модуля подсказало наличие выходного значения function_arn_static, которые должны помочь избежать зацикливания.
НО НЕТ!
Депрессия
Был еще один вариант:
- выполнить команду terraform -grath -show-cycles;
- полученный текстовый вывод скормить graphviz либо graphviz онлайн.
Увы, установить утилиту я не мог, а онлайн-утилита вылетала по памяти.
В теории этот путь поможет в разрезании цикла, показав ресурсы, участвующие в цикле.
Принятие
С горя я решил задать вопрос ChatGPT: как избежать зацикливания в данном случае.
Внезапно, мэтр программирования IaC Terraform посоветовал ресурс aws_lambda_function создавать в модуле, а aws_lambda_permission оставить в корневом файле.
Да-да, это то самое чувство, когда соседский мальчик умнее тебя 🙁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
provider "aws" { region = "us-east-1" } locals { list1 = { lambda1 = { name = "lambda1" path = "../lambda1" } lambda2 = { name = "lambda1" path = "../lambda1" } } list2 = { lambda1 = aws_apigatewayv2_api.example_api.execution_arn lambda2 = aws_apigatewayv2_api.example_api.execution_arn } } module "lambda" { source = "../lambda" for_each = local.list1 name = each.value.name ... } data "template_file" "example_api" { template = "${file("example_api.tpl")}" vars = { lambda_invocation_url = module.lambda.lambda_function_invoke_url } } resource "aws_apigatewayv2_api" "example_api" { name = "example_api" protocol_type = "HTTP" body = data.template_file.example_api.rendered } resource "aws_lambda_permission" "example_permission" { for_each = local.list2 statement_id = "AllowAPIGatewayInvoke" action = "lambda:InvokeFunction" function_name = module.lambda.lambda_function_arn principal = "apigateway.amazonaws.com" source_arn = each.value } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
provider "aws" { region = "us-east-1" } resource "aws_lambda_function" "example_lambda" { filename = "lambda_function.zip" function_name = "example_lambda" role = aws_iam_role.lambda_exec.arn handler = "lambda_function.handler" runtime = "nodejs14.x" source_code_hash = filebase64sha256("lambda_function.zip") environment { variables = { EXAMPLE_VAR = "example_value" } } } resource "aws_iam_role" "lambda_exec" { name = "lambda_exec_role" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { Service = "lambda.amazonaws.com" } } ] }) } resource "aws_iam_role_policy_attachment" "lambda_exec_policy" { policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" role = aws_iam_role.lambda_exec.name } output "lambda_function_arn" { value = aws_lambda_function.example_lambda.invoke_arn } |
Так как функций было несколько, то их входные значения для модуля (имя, путь и т.д.) генерировались в разделе locals. Для использования цикла for_each в ресурсе aws_lambda_permissions потребовалось хранить source_arn в отдельной локальной переменной. УРА, terraform validate пройден.
Правда, на этапе terraform plan выяснилось, что модуль требует для своей работы Python и иногда падает, если в runtime вашей функции указана странная версия Python’а, и в Runner для CI/CD что-то пошло не так 🙂
На этом я решил психануть закопать стюардессу написать свой модуль создания лямбда функции без Питона и Путина.
Релиз Код Безопасности vGate 4.7
Код безопасности выпустил свежую версию своего продукта для защиты виртуальных сред vGate 4.7.
Ключевое отличие обновленной версии продукта – возможность управления различными платформами виртуализации из одной консоли. Реализована поддержка средств управления KVM-серверами на базе Proxmox и OpenNebula.
Полный список нового функционала:
- Реализована возможность использования vGate в неоднородных виртуальных инфраструктурах, где в качестве платформ виртуализации используются vSphere, KVM, Скала-Р, Proxmox и OpenNebula одновременно.
- Реализована поддержка средств управления KVM-серверами на базе Proxmox и OpenNebula.
- Добавлены политики безопасности сервера авторизации vGate: “Блокирование параллельных сеансов АВИ”, “Соответствие требованиям сложности пароля”, “Тайм-аут сессии в веб-консоли”, “Архивация базы аудита”. Данные политики позволяют администратору информационной безопасности устанавливать настройки сервера авторизации vGate.
- Добавлена привилегия “Администратор сетей vGate”, которая может быть предоставлена администратору информационной безопасности. Привилегия дает возможность просмотра и редактирования параметров межсетевого экрана vGate.
- Реализована возможность защиты файла экспорта конфигурации паролем.
- Реализована поддержка персонального идентификатора JaСarta в веб-консоли.
- Выполнен перенос функций синхронизации настроек серверов авторизации vGate, экспорта и импорта конфигурации, настройки персонального идентификатора из консоли управления в вебконсоль.
Подробная документация:
- Release Notes. Описание основных особенностей и ограничений, которые необходимо учитывать при эксплуатации vGate 4.7 на базе VMware vSphere.
- Troubleshooting. Решение типовых проблем.
- Руководство администратора. Принципы функционирования. Сведения о назначении и функциональных возможностях vGate R2.
- Руководство администратора. Установка, настройка и эксплуатация. Сведения для установки, обновления и удаления vGate R2.
- Руководство пользователя. Работа в защищенной среде. Сведения для работы в защищенной среде.
- Руководство администратора. Быстрый старт. Сведения для первоначальной настройки и эксплуатации vGate R2.
Российские инструменты миграции между средами виртуализации и облаками
Если перед вами стоит задача мигрировать с одном среды виртуализации на другую, то при большом количестве виртуальных машин вам могут потребоваться средства автоматизации.
Для индивидуальной миграции есть простые варианты.
Самые простой вариант – встроенное в менеджер виртуализации средство. Для продуктов на базе OVirt оно представляет собой virt-v2v или virt-p2v.
Метод посложнее, но, на мой взгляд, более универсальный – использовать СРК и ВД для создания резервного копии из одной среды виртуализации и восстановления в другой. Из российских СРК и ВД самый рабочий вариант – КиберПротект КиберБэкап.
Но также на рынке представлены средства массовой миграции:
ХайСтекс Акура aka Hystax Acura. Позволяет выполняет переезд и в облака Yandex Cloud, SberCloud, VK Cloud, CROC Cloud, а также работать с локальной инфраструктурой на базе VMware и OpenStack.
Mind Migration. Позволяет менять среды виртуализации и облачные решения VMware -> Базис, Private -> Public, AWS -> Яндекс.Облако, VK Cloud -> Sbercloud. Поддерживает большой стек технологий виртуализации.
Документация на систему виртуализации SpaceVM
Для системы виртуализации Space доступна документация:
- Дорожная карта Space VM
- ОБЛАЧНАЯ ПЛАТФОРМА «SPACEVM» Руководство системного программиста
- ОБЛАЧНАЯ ПЛАТФОРМА «SPACEVM» Руководство оператора
- Дорожная карта Space VDI
- ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ «SPACE DISPATCHER» Руководство системного программиста
- ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ «SPACE DISPATCHER» Руководство оператора
Релиз RVTools 4.4.1
Rob de Veij выпустил обновление своей отличной утилиты инвентаризации VMware vSphere — RVTools версии 4.4.1.
В этой версии используются свежие версии фреймворков, а также есть другие исправления:
- Теперь для разработки используется Visual Studio 2022, VMware vSphere Management SDK 8.0
- Log4net обновлен до версии 2.0.15
- RVToolsPasswordEncryption теперь использует mac-адрес вместо фиксированной строки для шифрования пароля
- На странице вкладки vInfo появились новые колонки: Total Disk capacity MiB, Folder ID, FT role, Reboot powerOff, EFI Secure boot option и SMBIOS UUID.
- На вкладке vCPU новый столбец: “Numa Hotadd Exposed” – раскрывается ли виртуальная топология NUMA при включенном горячем добавлении процессора.
- На странице вкладки vDisk новые колонки: Disk UUID, Sharing mode
- На всех связанных страницах вкладок VM столбцы тегов перемещены непосредственно перед столбцом “Datacenter”
- На всех страницах вкладок, связанных с ВМ: Изменен текст всплывающей подсказки VM UUID на “VirtualCenter-specific 128-bit UUID of a virtual machine”
- На странице вкладки vSource добавлены новые столбцы: Version, Patch level и VI SDK Server
- На странице вкладки vHealth: /storage/archive исключен для проверки “free disk capacity”, так как раздел /storage/archive может быть заполнен by design
- Исправление ошибки на странице вкладки vInfo: колонка “Primary IP Address” не показывала правильное значение
- Исправление ошибки на странице вкладки vNetwork: определение того, является ли ip-адрес ipv4 или ipv6, не всегда проходило успешно
VMware ESXi Host Client 2 теперь и в vSphere 7
С выходом VMware ESXi 8 компания VMware представила новый веб-клиент для управления хостом: новые иконки; фреймворк Clarity; несколько тем, включая тёмную, и их кастомизация; навигация TAB-ом. Заметки о релизе для ESXi 8 – VMware Host Client 2.5.0 Release Notes.
Несколько обзоров:
- ESXi Host Client usability updates
- VMware ESXi 8.0 New Host Client 2 and Logo
- Новая версия ESXi Host Client 2 в обновленной платформе VMware vSphere 8
К нашей радости, компания VMware решила не останавливаться на достигнутом и портировала клиента на ESXi 7 – теперь он стал доступен c версии ESXi 7 update 3i.
Кибер Бэкап. Дорожная карта
Компания Киберпротект анонсировала скорый выход 16 версии Кибер Бэкапа и планы по развитию:
Релиз RVTools 4.3.2
Rob de Veij выпустил обновление своей отличной утилиты инвентаризации VMware vSphere — RVTools версии 4.3.2.
В этой версии используются свежие версии фреймворков, а также есть другие исправления:
- используется .NET Framework версии 4.6.2 вместо 4.6.1.
- используется Newtonsoft.Json версии 13.0.1 вместо 12.0.3.
- исправлена ошибка: таймаут соединения для огромных сред vSphere.
- исправлена ошибка: изменена целевая платформа для RVToolsMergeExcelFiles на “Any CPU”, что позволило использовать платформу X64 и избежать исключения System.OutOfMemoryException для огромных сред vSphere.
- исправлена ошибка: удаленные выходные строки для отладки из RVToolsMergeExcelFiles.
Релиз РЕД Виртуализация 7.3
Компания «РЕД СОФТ» объявила о выходе новой версии своего продукта — РЕД Виртуализация 7.3.
Основные изменения в версии 7.3:
- система построена на oVirt 4.4.9;
- в качестве хостовой ОС и ОС виртуальной машины управления (Hosted Engine) используется РЕД ОС 7.3 и ее пакетная база с LTS-ядром Linux 5.15.35;
- обновлены основные компоненты гипервизора: qemu-kvm 5.1.0, libvirt 7.5.0;
- обеспечена возможность создания гиперконвергентной среды совместно с GlusterFS;
- обеспечен мониторинг базовых метрик гипервизора и виртуальных машин с использованием Grafana;
- появился механизм доставки обновлений по сети как для гипервизора, так и для виртуальной машины управления.