vSphere Integrated Containers

Pubblicato da Andrea il

Volendo espandere la nostra infrastruttura per lo sviluppo di alcuni servizi ho voluto testare la piattaforma container di VMware compatibile Docker.

E’ possibile scaricare dal sito VMware in formato OVA la versione 1.2 del VIC vSphere Integrated Containers, la licenza è inclusa in vSphere Enterprise Plus e vSphere Operations Management Enterprise Plus, oppure eseguire un lab base a questo indirizzo https://my.vmware.com/en/group/vmware/evalcenter?p=vic-17-hol.

La descrizione di questo prodotto presa da GitHub (https://github.com/vmware/vic) è “a container runtime for vSphere, allowing developers familiar with Docker to develop in containers and deploy them alongside traditional VM-based workloads on vSphere clusters, and allowing for these workloads to be managed through the vSphere UI in a way familiar to existing vSphere admins”, in pratica permette attraverso i comandi docker di istanziare applicazioni su Host Docker o su VM connesse a Virtual Container Host (VCH) all’interno di vApp (https://blogs.vmware.com/cloudnative/2017/09/12/vsphere-integrated-containers-v1-2/).

L’installazione è stata semplice, ho scaricato il file OVA in “C:\temp”.

Utilizzando una VM windows 10, su cui ho Docker Toolbox for Windows (https://www.docker.com/products/docker-toolbox), VMware OVF Tool (https://www.vmware.com/support/developer/ovf/) e VMware PowerCLI (https://my.vmware.com/group/vmware/details?downloadGroup=PCLI650R1&productId=614), ho fatto il deploy in una infrastruttura vSphere 6.5.

Ricordatevi di abilitare sulla Windows PowerShell l’execution policy a Remote Signed se la utilizzate:

Set-ExecutionPolicy RemoteSigned

Abbiamo bisogno di creare un VIC bridge portgroup dalla PowerCLI, uno per HOST che pensiamo di istanziare:

$creds = get-credential
Connect-VIServer server.domain.com -credential $creds
get-vdswitch
$vds = DSwitch0 (inserite il nome del distribuited virtual switch che volete usare)
new-vdportgroup -name vic-bridge1 -vdswitch $vds -vlanid 300 (inserite la VLAN del primo Host VIC)
new-vdportgroup -name vic-bridge2 -vdswitch $vds -vlanid 301 (inserite la VLAN del secondo Host VIC)

Siccome PowerCLI non supporta SHA256 nei Manifest file dobbiamo convertire in SHA1 il file (nell’esempio la versione 1.2.0):
ovftool.exe –shaAlgorithm=SHA1 C:\temp\vic-v1.2.0-d0ea01c2.ova C:\temp\vic-v1.2.0.ova

Siamo quindi pronti a fare il deploy con i seguenti comandi:

$ova = “C:\temp\vic-v1.2.0.ova”
$ovacfg = Get-OvfConfiguration $ova
$pass = ‘P@ssw0rd!’
$vmhost = ‘host1.domain.com’
$ds = get-datastore -name ‘DATASTORE0’
$ovacfg.appliance.root_pwd.value = $pass
$ovacfg.appliance.permit_root_login.value = $true
$ovacfg.IpAssignment.IpProtocol.value = ‘IPv4’
$ovacfg.network.ip0.value = ‘10.0.1.10’
$ovacfg.network.DNS.value = ‘10.0.1.1’
$ovacfg.network.fqdn.value = ‘vic.domain.com’
$ovacfg.network.gateway.value = ‘10.0.1.254’
$ovacfg.network.netmask0.value = ‘255.255.255.0’
$ovacfg.network.searchpath.value = ‘domain.com’
$ovacfg.NetworkMapping.Network.value = ‘LAN DOMAIN’
Import-VApp -Source $ova -OvfConfiguration $ovacfg -Name ‘vic’ -VMHost $vmhost -Datastore $ds -DiskStorageFormat Thin
get-vm -name ‘vic’ | Start-VM

Partita la VM potete accedere alla configurazione iniziale dell’appliance tramite l’indirizzo https://ip:9443.

Ricordatevi di registrare l’IP sul DNS!

Seguendo questa guida è possibile installare il PlugIn per il vCenter:

https://vmware.github.io/vic-product/assets/files/html/1.2/vic_vsphere_admin/install_vic_plugin.html

Ora testate se l’installazione è andata a buon fine tramite l’interfaccia HTML5.

Ora è possibile fare il deploy dal prompt della VM Windows 10 dei VCH tramite l’applicazione vic-machine-windows, si trova nei vSphere Integrated Containers Engine Binaries.

Ottenete il vCenter Thumbprint dalla PSC sotto Certificate Store.

E’ necessario abilitare la porta 2377/tcp in outbound dagli host ESXi (modificate i parametri in rosso):

vic-machine-windows update firewall –target vcenter_address –user user –password “P@ssw0rd!” –compute-resource Cluster –thumbprint 74:86:5F:64:18:A0:F4:B9:11:ED:35:42:E4:F5:E3:D0:2A:E7:FC:46 –allow

E poi lanciare il deploy dei VCH, di seguito l’esempio del primo dei due che ho istanziato:

vic-machine-windows create –target vcenter_address –user user –password “P@ssw0rd!” –name VCH1 –compute-resource Cluster /Resources/‘Server Pool’ –public-network “LAN DOMAIN” –bridge-network “vic-bridge1” –image-store “DATASTORE0” –volume-store “DATASTORE0”:default –no-tlsverify –thumbprint 74:86:5F:64:18:A0:F4:B9:11:ED:35:42:E4:F5:E3:D0:2A:E7:FC:46

Ora tramite l’interfaccia di VIC potete aggiungere i due VCH, creando le credenziali con il certificato che potete trovare nella cartella creata durante il deploy e questo sarà il risultato.


0 commenti

Leave a Reply

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.