VMware vSphere предоставляет разнообразный выбор SDK для автоматизации рабочих процессов. Пользователи часто задаются вопросом выбора SDK для автоматизации конкретных задач. Вот некоторые рекомендации по использованию различных SDK для задач автоматизации.
Выбор SDK
Основные API vSphere разделены на три категории на основе используемого протокола. Библиотеки наборов инструментов для разработки программного обеспечения vSphere также классифицируются на основе них.
vSphere Web Services (VIM) API - это популярные API, охватывающие большую часть инфраструктуры vSphere с использованием протокола SOAP. pyvmomi, govmomi и vSphere Management Java SDK широко используют эти API. Все устаревшие функции, предшествующие vSphere 6.5, доступны только в этих SDK.
vSphere Automation API - API автоматизации vSphere следует архитектуре REST на основе ресурсов, которая была введена в vSphere 6.5. VMware vSphere Automation SDK оптимизированы для разработки приложений с использованием этих API. Эти SDK доступны только на языках Java и Python и используют протокол-последователь JSON RPC. Некоторые популярные функции, такие как библиотека контента, тегирование, vSphere с Kubernetes и т.д., доступны только на этой платформе SDK. Несколько важных замечаний здесь:
Функции, такие как управление виртуальными машинами, управление хостами и кластерами, и другие функции, представленные до vSphere 6.5, также частично доступны в vSphere Automation API.
Хотя название этого SDK гласит "SDK автоматизации vSphere", оно не ограничивается только vSphere. У них есть клиентские байндинги для VMware Cloud и NSX on VMware Cloud. Это может быть использовано для автоматизации архитектуры Software Defined Datacenter (SDDC).
Virtual Infrastructure JSON API (VI JSON API) - для разработчиков, которым не нравятся тонкости SOAP, эти API предоставляют интерфейсы REST для всех указанных выше API веб-служб vSphere (VIM). В настоящее время с этими API не связано никаких SDK.
Давайте сосредоточимся только на SDK, основанных на vSphere Web Services (VIM) API и vSphere Automation API. Нам нужно убедиться, что клиентские байндинги функций vSphere доступны с правильными SDK. Руководство по API и документация по языку программирования SDK могут быть хорошей отправной точкой. Для более быстрого понимания вы можете обратиться к таблице ниже, чтобы определить подходящие SDK и руководства по программированию.
Основные функции vSphere в пакетах разработки SDK:
Если вы заинтересованы в создании байндингов к языку программирования на других языках с использованием сторонних инструментов, вы можете использовать WSDL, поставляемые в vSphere Management SDK, или использовать спецификации VI JSON.
При выборе SDK учитывайте ваши навыки в языке программирования, конкретные требования вашего проекта и наличие ресурсов и примеров для выбранного SDK. Кроме того, имейте в виду, что VMware может выпускать обновления и новые SDK, выводить SDK из эксплуатации, поэтому рекомендуется проверять официальную документацию для получения самой последней информации.