VMware PowerCLI no Red Hat 7

Quem usa VMware e está acostumado a usar o PowerCLI mas sempre achou ruim o fato de ser uma ferramenta que só funciona no Windows, essa semana tivemos uma boa noticia: foi disponibilizado como um Vmware Fling o PowerCLI para Linux e Mac OS, o projeto se aproveita do lançamento do powershell core e .net core que a Microsoft lançou esse ano para outras plataformas. Fiz os testes no Redhat e funcionou legal, tive alguns problemas de performance com alguns comandos do PowerCLI, mas a possibilidade de rodar os scripts em Linux já me animou e com certeza usarei. Lembrando que o powershell para Linux ainda não é a versão final, então usem em produção por sua conta e risco 😛
Links:
PowerCli: https://labs.vmware.com/flings/powercli-core
Powershell: https://github.com/PowerShell/PowerShell/releases/

Vou mostrar aqui como instalei no RedHat 7, para instalação no Ubuntu e outros baseados em Debian verifique o pdf de instruções disponíveis no link logo acima. Para instalação via docker segue o link: https://hub.docker.com/r/vmware/powerclicore/ .

O primeiro problema que tive foi na hora de tentar conectar ao Vpshere pelo PowerCli e vi que a versão do libcurl do Redhat tinha algum problema com a conexão ssl, então vamos ver as dependências antes de instalar o que queremos. Usei os seguintes pacotes: libcurl-openssl-7.43.0-1.1.el7 e libcurl-openssl-devel-7.43.0-1.1.el7 , vamos baixa-los:

[root@localhost ~]# wget http://ftp.riken.jp/Linux/cern/centos/7/cern/x86_64/Packages/libcurl-openssl-7.43.0-1.1.el7.cern.x86_64.rpm
[root@localhost ~]# wget http://ftp.riken.jp/Linux/cern/centos/7/cern/x86_64/Packages/libcurl-openssl-devel-7.43.0-1.1.el7.cern.x86_64.rpm

Após baixar, instale os pacotes:

[root@localhost ~]# yum install libcurl-openssl-7.43.0-1.1.el7.cern.x86_64.rpm
[root@localhost ~]# yum install libcurl-openssl-devel-7.43.0-1.1.el7.cern.x86_64.rpm

Normalmente instalará as libs na pasta /opt/shibboleth/lib64/, adicionei a pasta ao $LD_LIBRARY_PATH:

[root@localhost ~]# export LD_LIBRARY_PATH=/opt/shibboleth/lib64/:$LD_LIBRARY_PATH

Agora baixe o PowerCLI_Core.zip aqui: https://labs.vmware.com/flings/powercli-core
e depois baixe a ultima versão do powershell para linux:

[root@localhost ~]# wget https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.11/powershell-6.0.0_alpha.11-1.el7.centos.x86_64.rpm

Instale:

[root@localhost ~]# yum install powershell-6.0.0_alpha.11-1.el7.centos.x86_64.rpm

Descompacte o PowerCLI_Core.zip, ele deve conter dois arquivos que usaremos: PowerCLI.Vds.4523941.zip e PowerCLI.ViCore.4523941.zip:

[root@localhost ~]# unzip PowerCLI_Core.zip

Vamos para a pasta dos módulos do powershell, se ela não existir será necessário criar, e vamos descompactar os dois arquivos de antes nela:

[root@localhost ~]# cd /root/.local/share/powershell/Modules
[root@localhost ~]# unzip ~/PowerCLI.Vds.4523941.zip
[root@localhost ~]# unzip ~/PowerCLI.ViCore.4523941.zip

Agora já deveremos ter acesso aos comandos do powerCLI, primeiro importe o modulo e então é só começar a brincar. Usei o set-powercliconfiguration para ignorar o erro de certificado não confiável , como informado pelo próprio faq do PowerCLI, como estou apenas testando não tive problema com isso.

[root@localhost ~]# powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS /root> Get-Module -ListAvailable PowerCLI* | Import-Module
PS /root> set-powercliconfiguration -InvalidCertificateAction Ignore
PS /root> Connect-VIServer -server vsphereserver -User usuario@vsphere.local -Password senha
PS /root> Get-VM

Você também pode rodar os scripts powershell sem precisar abrir o console, que é o queremos não é?, usando o comando: powershell -File nomedoscript.ps1

Fiz um teste com um pequeno script para mostrar os snapshots :

[root@localhost ~]# vim teste.ps1
Get-Module -ListAvailable PowerCLI* | Import-Module
Connect-VIServer -server nomedoservidorvsphere -User usuario@vsphere.local -Password senha
get-vm | get-snapshot | format-list vm,name,description

Agora só executar direto do shell:

[root@localhost ~]# powershell -File teste.ps1

Referências:
https://labs.vmware.com/flings/powercli-core
https://github.com/PowerShell/PowerShell/releases/
http://ftp.riken.jp/Linux/cern/centos/7/cern/x86_64/repoview/letter_l.group.html
https://hub.docker.com/r/vmware/powerclicore/
https://labs.vmware.com/flings/about

PowerCLI Core is now available on Docker Hub!

Anúncios

Uma consideração sobre “VMware PowerCLI no Red Hat 7”

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s