Arquivo da categoria: Vmware

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!