Знакомство с VMware PowerCLI Core (часть 1)
PowerCLI Core был разработан VMware Fling Labs, чтобы позволить пользователям Linux, Mac и Docker использовать те же командлеты PowerShell, которые ранее были доступны только в Windows. Это означает, что системные администраторы теперь могут иметь многоплатформенный язык сценариев, который позволяет им управлять своей инфраструктурой VMware из любой операционной системы, поскольку он делает сценарии PowerShell, написанные для Windows, переносимыми на другие операционные системы без каких-либо изменений в их сценариях. PowerCLI Core был выпущен только в октябре 2016 года, поэтому он довольно новый, и чтобы представить его возможности нашим читателям VirtualizationAdmin.com, я попросил Люка Декенса, долгое время работавшего в VMware vExpert и Microsoft MVP, дать нам краткое руководство. PowerShell — любимый инструмент Люка, и он очарован всеми аспектами автоматизации и DevOps. Люк также регулярно выступает на конференциях, и его блог можно найти здесь:
http://lucd.info/
Вы также можете следить за Люком в Твиттере (@LucD22) здесь:
https://twitter.com/LucD22
Теперь давайте послушаем и посмотрим, как Люк демонстрирует обоснование и возможности PowerCLI Core…
Это дивный новый (открытый) мир!
Поскольку картинка говорит больше, чем тысяча слов, о чем вам говорит следующее?
Давайте посмотрим поближе. Кажется, это окно терминала в системе Linux. Ах, подождите, эта команда «uname» покажет нам, где это работает.
Хорошо, кажется, это недавняя сборка Ubuntu 16.4. В этом нет ничего особенного.
Но тогда следующая команда «powershell», которая выглядит странно неуместной в системе Linux? Разве PowerShell не был новым языком сценариев от Microsoft для систем Windows?
Ну, не больше. 18 августа 2016 г. Microsoft объявила об открытии исходного кода следующего выпуска PowerShell. Новая версия PowerShell v6 работает не только на платформах Windows, но также в нескольких дистрибутивах Linux и в Mac OS X:
Полный исходный код PowerShell 6 опубликован в репозитории Github и открыт для комментариев сообщества.
Все это может считаться еще одним доказательством знака «Под новым руководством», который мы видели в недавних объявлениях Microsoft!
VMware
Microsoft не только открыла PowerShell, но и повела другие компании по новому пути.
Одним из первых и успешных адаптеров Windows-версии PowerShell была компания VMware. В 2007 году они начали со своего VI Toolkit, набора PowerShell PSSnapin для автоматизации администрирования своей среды vSphere. И совсем недавно они выпустили VMware PowerCLI 6.5R1. Новая версия с новым названием продукта и всеми модулями.
Но возвращаясь к «открытому» миру, тем же 18 августа 2016 года VMware также объявила, что они присоединяются к инициативе Microsoft со сборкой PowerCLI Core.
Таким образом, теперь вы можете автоматизировать управление своими продуктами VMware с новых платформ, таких как Linux и Mac OS X, но по-прежнему используя те же навыки PowerShell, которые вы приобрели на платформах Windows. Возможно, вы также видели демонстрацию этого с Джеффри Сновером и Аланом Ренуфом, когда было объявлено о PowerShell Core.
Чтобы немного поумерить ваш энтузиазм, обратите внимание, что PowerShell Core и PowerCLI Core по-прежнему являются «альфа-кодом». Так что даже не думайте пока управлять своими производственными средами с помощью этих версий!
Мотивация
Так как крупные компании обычно не имеют привычки делать что-то бесплатно, я хотел немного углубиться в обоснование того, почему такая компания, как, например, VMware, присоединилась к этой открытой инициативе Microsoft.
У меня была короткая сессия вопросов и ответов с Аланом Ренуфом, старшим менеджером линейки продуктов по API, SDK, CLI в VMware.
Вопрос: VMware была одной из первых сторонних компаний, внедривших PowerShell (с 2007 г.). Потребовалось ли много усилий, чтобы в последнее время запрыгнуть в «открытый» вагон, то есть в PowerShell Core?
Алан: Знаете ли вы, что PowerCLI (для Windows) появился, когда администраторам VMware понадобился простой способ отключения приводов CD-Rom на нескольких виртуальных машинах? С момента первоначального варианта использования и принятия решения об использовании PowerShell в качестве платформы для обеспечения автоматизации и интеграции продуктов VMware для системных администраторов у VMware сложились прекрасные отношения с Microsoft, фактически мы уже давно работаем с ними, чтобы сделать PowerShell Core В реальности и, конечно же, PowerCLI Core последовал вскоре после этого, Microsoft нужны были ранние последователи, чтобы убедиться, что у них есть функциональность PowerShell Core, чтобы существующие поставщики PowerShell могли легко перейти на версию Core.
В VMware, как вы знаете, у нас нет жестких привязок к ОС — мы виртуализируем их все. Со временем мы наблюдаем растущую популярность использования Mac OS и Linux для настольных ПК, а также множество различных версий ОС, которые виртуализируются и используются в качестве серверной операционной системы. Этим пользователям ОС по-прежнему требовалась возможность автоматизации и интеграции с продуктами VMware, поэтому переход на PowerCLI Core и предоставление возможности этим пользователям не составило труда!
Теперь все наши клиенты могут использовать один и тот же инструмент командной строки, независимо от их ОС. И пользуйтесь преимуществами не только PowerCLI Core, но и огромного количества информации сообщества и многолетних сценариев, которые были им доступны.
В: PowerShell Core написан для многих платформ (Windows, Linux, Mac OS). Планируете ли вы сделать все функции PowerCLI доступными на всех платформах хостинга, на которых будет доступен PowerShell Core? Вызывает ли это дополнительные технические проблемы, которые необходимо решить?
Алан: При перемещении командлетов из PowerShell и.Net в PowerShell Core и.Net Core действительно необходимо вносить изменения, поэтому PowerCLI не полностью функционален и доступен в качестве поддерживаемого продукта с первого дня.
Не все функции были перенесены в ядро.net, поэтому, во-первых, нужно убедиться, что то, что вам нужно, действительно есть, и если нет, то какие альтернативы вы можете использовать, во-вторых, не все функции или командлеты PowerShell есть, поэтому вам снова нужно разобраться, на что больше нельзя положиться, и найти способ обеспечить это. После их завершения вам необходимо убедиться, что вы не использовали какие-либо специфические функции Windows. Если да, то вам нужно попытаться сделать это универсальным, найти способ, которым вы можете использовать что-то «кроссплатформенное», чтобы его действительно можно было использовать в любой ОС.
Короче говоря, да, мы хотели бы поддерживать все версии ОС, для которых доступно ядро PowerShell (и многое другое, см. VMware Photon), но очевидно, что для окончательного переноса всего продукта требуется время.
В: Код PowerShell Core теперь общедоступен на GitHub. Это то, что может быть в будущем PowerCLI? Возможно ли «открытое» ядро PowerCLI? Видите ли вы какой-либо выигрыш в том, что в конечном итоге откроете (часть) исходный код PowerCLI?
Алан: Долгосрочное видение PowerCLI уже некоторое время заключается в том, чтобы открыть исходный код продукта и сделать его доступным на GitHub. К сожалению, это не так просто, как щелкнуть выключателем, это требует множества изменений в способе проектирования, разработки и тестирования продукта, не говоря уже о юридических дискуссиях! Разрешить другим вносить свой вклад, видеть код и то, как мы добиваемся чего-то, — это хорошо для сообщества, но это займет больше времени, потерпите меня!
В: На последней конференции VMworld вы объявили об изменении названия продукта с vSphere PowerCLI на VMware PowerCLI. Не могли бы вы еще раз объяснить, в чем заключается идея этого изменения имени? И влияет ли это на PowerCLI для PowerShell Core?
Алан: Поскольку первоначальная версия PowerCLI или, как она тогда называлась, «VI Toolkit», была ориентирована на обеспечение автоматизации и интеграции продуктов, связанных с vSphere, в последнее время вы увидите, как она распространилась на другие области, такие как SRM, vRealize Operations, vCloud Air., vCloud Director, Horizon View, Horizon Mirage и Workspace Environment Manager.
Как видите, это больше не продукт vSphere. Мое видение состоит в том, чтобы предоставить единый интерфейс для всех продуктов VMware, позволяющий нашим клиентам один раз изучить интерфейс командной строки и сделать его доступным для разных продуктов и платформ, чтобы автоматизировать и интегрировать все, что связано с VMware.. Как видите, мы движемся в правильном направлении, и наши клиенты, похоже, довольны направлением, в котором мы движемся!
Спасибо, Алан, за эти вопросы и ответы. Впереди много интересного!!
Продолжение следует
Во второй части этой статьи мы впервые познакомимся с PowerCLI Core и приведем несколько примеров сценариев, с которыми вы сможете поиграть.