Usar el conjunto de librerías vSphere SDK
Instrumentación y uso del conjunto de librerías vSphere SDK
Instrumentación y uso del conjunto de librerías vSphere SDK
Última actualización: 1/7/2020
Es posible automatizar las acciones en su infraestructura utilizando el conjunto de librerías vSphere SDK.
En esta guía, se explica la instrumentación y el uso en varios idiomas.
En esta guía, utilizaremos una máquina virtual instalada en Debian 9, instrumentada a partir de las plantillas disponibles en su Private Cloud.
Se deben instalar los siguientes paquetes:
apt-get install python git python-pip
Descargue el conjunto de librerías vSphere SDK con el siguiente comando:
git clone https://github.com/vmware/vsphere-automation-sdk-python.git
Se creará el directorio «/vsphere-automation-sdk-python». Acceda a la carpeta correspondiente para ejecutar el comando de instalación:
pip install --upgrade --force-reinstall -r requirements.txt --extra-index-url file:///<absolute_path_to_sdk>/lib
En este ejemplo, el comando es el siguiente:
pip install --upgrade --force-reinstall -r requirements.txt --extra-index-url file:///root/vsphere-automation-sdk-python/lib
El kit de desarrollo de software (SDK) ya está instalado. Ahora podemos ejecutar algunas secuencias de comandos.
En este primer ejemplo, vamos a probar la conexión y desconexión a la utilidad vCenter. Esto también nos permitirá comprobar si todo se ha instalado correctamente.
#!/usr/bin/env python
import time
import atexit
import ssl
from pyVim import connect
from pyVmomi import vim
def vconnect():
s = ssl.SSLContext(ssl.PROTOCOL_TLS)
s.verify_mode = ssl.CERT_NONE
service_instance = connect.SmartConnect(host="pcc-149-202-xxx-xxx.ovh.com",
user="damien",
pwd="MyPassword",
sslContext=s)
atexit.register(connect.Disconnect, service_instance)
print("Connecting....")
time.sleep(2)
print("Disconnecting..")
vconnect()
En este ejemplo, vamos a obtener un listado de todas las máquinas virtuales en el Private Cloud:
#!/usr/bin/env python
import time
import atexit
import ssl
from pyVim import connect
from pyVmomi import vim
def vconnect():
s = ssl.SSLContext(ssl.PROTOCOL_TLS)
s.verify_mode = ssl.CERT_NONE
service_instance = connect.SmartConnect(host="pcc-149-202-xxx-xxx.ovh.com",
user="damien",
pwd="MyPassword",
sslContext=s)
atexit.register(connect.Disconnect, service_instance)
print("Connecting....")
time.sleep(2)
content = service_instance.RetrieveContent()
container = content.rootFolder
viewType = [vim.VirtualMachine]
recursive = True
containerView = content.viewManager.CreateContainerView(container, viewType, recursive)
children = containerView.view
for child in children:
summary = child.summary
print(summary.config.name)
time.sleep(2)
print("Disconnecting...")
vconnect()
En esta guía, utilizaremos una máquina virtual instalada en Debian 18.04, instrumentada a partir de las plantillas disponibles en su Private Cloud.
Se deben instalar los siguientes paquetes:
apt-get install lib32z1 lib32ncurses5 uuid uuid-dev libssl-dev perl-doc libxml-libxml-perl libcrypt-ssleay-perl libsoap-lite-perl libdata-compare-perl libmodule-build-perl libuuid-perl libsocket6-perl libnet-inet6glue-perl libarchive-zip-perl
cpan install Crypt::OpenSSL::RSA UUID::Random Exception::Class Crypt::X509 List::MoreUtils
Descargue el conjunto de librerías vSphere SDK en este enlace:
https://my.vmware.com/group/vmware/get-download?downloadGroup=VS-PERL-SDK67
Descargue la versión compatible con su sistema operativo.
En este ejemplo, vamos a descargar «VMware-vSphere-Perl-SDK-6.7.0-8156551.x86_64.tar.gz»
Utilice el siguiente comando para descomprimir el archivo que acaba de descargar:
tar –zxvf VMware-vSphere-Perl-SDK-6.7.0-8156551.x86_64.tar.gz
Utilice el siguiente comando para iniciar el instalador:
cd vmware-vsphere-cli-distrib
Y luego:
./vmware-install.pl
Una vez leídas las condiciones, acéptelas para continuar, haciendo clic en «Aceptar»
.
Al final de la instalación, se instalarán otros módulos. Haga clic en «Aceptar»
para continuar con la instalación.
Para completar la instalación, debe seleccionar un directorio en el que se instalará el kit de desarrollo de software (SDK). El directorio por defecto es «/usr/bin».
En este primer ejemplo, vamos a probar la conexión y desconexión a la utilidad vCenter. Esto también nos permitirá comprobar si todo se ha instalado correctamente.
#!/usr/bin/perl
use strict;
use VMware::VIRuntime;
Opts::set_option('server', 'pcc-149-202-xxx-xxx.ovh.com');
Opts::set_option('username', 'damien');
Opts::set_option('password', 'MyPassword')
print "Connecting \n";
Util::connect();
Util::disconnect();
print "Disconnected \n";
En este ejemplo, vamos a obtener un listado de todas las máquinas virtuales en el Private Cloud:
#!/usr/bin/perl
use strict;
use Data::Dumper;
use VMware::VIRuntime;
Opts::set_option('server', 'pcc-149-202-xxx-xxx.ovh.com');
Opts::set_option('username', 'damien');
Opts::set_option('password', 'MyPassword');
print "Connecting \n";
Util::connect();
my $vm_views =
Vim::find_entity_views(view_type => 'VirtualMachine',
properties => ['name'], );
foreach my $view ( sort @$vm_views) {
print ' - '.$view->{'name'}, "\n";
}
Util::disconnect();
print "Disconnected \n";
En este ejemplo, vamos a utilizar una secuencia de comandos ya creada y que se encuentra en el directorio «vmware-vsphere-cli-distrib/apps/vm/».
Esta es la lista de secuencias de comandos disponibles en este directorio:
ls vmware-vsphere-cli-distrib/apps/vm/
guestinfo.pl sharesmanager.pl snapshotmanager.pl vdiskcreate.pl vmclone.pl vmcontrol.pl vmcreate.pl vminfo.pl vmmigrate.pl vmreconfig.pl vmregister.pl vmsnapshot.pl vmtemplate.pl
Vamos a crear la instantánea «test» en la máquina virtual «Debian 1»
Para ello, escriba el siguiente comando:
perl snapshotmanager.pl --server pcc-149-202-xxx-xxx.ovh.com --username damien --password MyPassword --operation create --vmname Debian1 --snapshotname test
Interactúe con nuestra comunidad de usuarios en https://community.ovh.com/en/.
Please feel free to give any suggestions in order to improve this documentation.
Whether your feedback is about images, content, or structure, please share it, so that we can improve it together.
Your support requests will not be processed via this form. To do this, please use the "Create a ticket" .
Thank you. Your feedback has been received.
¡Acceda al espacio de la OVHcloud Community! Resuelva sus dudas, busque información, publique contenido e interactúe con otros miembros de la comunidad.
Discuss with the OVHcloud community