<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[vlT | Lorenzo Veronesi]]></title><description><![CDATA[vlT | Lorenzo Veronesi]]></description><link>https://lorenzoveronesi.it</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1748427894887/54323aa3-02c3-45da-85ff-d3dc95ff397e.png</url><title>vlT | Lorenzo Veronesi</title><link>https://lorenzoveronesi.it</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 20 May 2026 07:40:00 GMT</lastBuildDate><atom:link href="https://lorenzoveronesi.it/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Rundeck su Fedora 39]]></title><description><![CDATA[Introduzione
Rundeck è una piattaforma open source di automazione IT che consente di eseguire task automatizzati su vari nodi (PC remoti / Virtual Machine). È particolarmente utile per amministratori di sistema e team di sviluppo che necessitano di a...]]></description><link>https://lorenzoveronesi.it/rundeck-su-fedora-39</link><guid isPermaLink="true">https://lorenzoveronesi.it/rundeck-su-fedora-39</guid><category><![CDATA[rundeck]]></category><category><![CDATA[Fedora]]></category><category><![CDATA[Linux]]></category><category><![CDATA[automation]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Sat, 24 Feb 2024 16:09:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1708946425787/c6354b03-9891-40fb-ae27-ea82eadf0907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4 id="heading-introduzione"><strong>Introduzione</strong></h4>
<p>Rundeck è una piattaforma open source di automazione IT che consente di eseguire task automatizzati su vari nodi (PC remoti / Virtual Machine). È particolarmente utile per amministratori di sistema e team di sviluppo che necessitano di automatizzare operazioni routine. In questo articolo, vedremo come poter installare l'ultima release di Rundeck su una macchina Fedora 39, configurando il server per essere raggiungibile attraverso l'indirizzo IP da browser e vedremo come impostare un primo progetto (con connessioni in SSH) , e come utilizzare un file YAML per l'inventario dei nodi.</p>
<h4 id="heading-prerequisiti"><strong>Prerequisiti</strong></h4>
<ul>
<li><p>Una macchina con Fedora 39 installato.</p>
</li>
<li><p>Accesso a internet.</p>
</li>
<li><p>Privilegi di root o sudo.</p>
</li>
</ul>
<h4 id="heading-installazione-di-rundeck"><strong>Installazione di Rundeck</strong></h4>
<ol>
<li><p><strong>Aggiungere la repository di rundeck sulla macchina</strong></p>
<p> Per poter installare rundeck la prima cosa da fare è aggiungere la repository ufficiale di rundeck sul nostro sistema fedora</p>
<pre><code class="lang-bash"> curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/rpm-setup.sh 2&gt; /dev/null | bash -s rundeck
</code></pre>
</li>
<li><p><strong>Aggiornare il sistema</strong></p>
<p> Prima di iniziare ad installare, è consigliabile aggiornare il sistema per assicurarsi che tutti i pacchetti siano aggiornati:</p>
<pre><code class="lang-bash"> dnf update -y
</code></pre>
</li>
<li><p><strong>Installare Java</strong></p>
<p> Rundeck richiede Java per funzionare. È possibile installare Java utilizzando il comando seguente:</p>
<pre><code class="lang-bash"> dnf install java-11-openjdk -y
</code></pre>
</li>
<li><p><strong>Installare il pacchetto di Rundeck</strong></p>
<p> A questo punto, possiamo installare il pacchetto di rundeck e le sue dipendenze con il comando seguente:</p>
<pre><code class="lang-bash"> dnf install -y rundeck python3-pip
</code></pre>
</li>
<li><p><strong>Impostiamo le regole Firewall per fedora</strong></p>
<p> Dopo l'installazione, è necessario impostare le corrette regole firewall per permettere la raggiungibilità del server di rundeck dall'esterno.</p>
<p> Iniziamo con i primi due comandi che creano l'eccezione sul firewall di fedora per la porta 4440 (utilizzata da rundeck per esporre la WebUI) sia su porta TCP che UDP</p>
<pre><code class="lang-bash"> firewall-cmd  --add-port=4440/tcp --permanent
 firewall-cmd  --add-port=4440/udp --permanent
</code></pre>
<p> ora un volta impostate le eccezioni dovremmo riavviare il firewall in modo che vengano applicate le modifiche:</p>
<pre><code class="lang-bash"> firewall-cmd --reload
</code></pre>
</li>
<li><p><strong>Avviare e abilitare Rundeck</strong></p>
<p> Ora che abbiamo concluso con l'installazione dei pacchetti necessari dobbiamo avviare il servizio Rundeck e assicurarsi che venga avviato automaticamente all'avvio del sistema:</p>
<pre><code class="lang-bash"> systemctl start rundeckd &amp;&amp; systemctl <span class="hljs-built_in">enable</span> rundeckd
</code></pre>
<p> L'installazione di rundeck è conclusa , al momento però abbiamo ancora una configurazione fondamentale da dover effettuare affinchè il nostro server sia correttamente raggiungibile tramite web browser.</p>
</li>
</ol>
<h3 id="heading-configurazione-del-grailsserverurl"><strong>Configurazione del</strong> <code>grails.serverURL</code></h3>
<p>Per consentire l'accesso a Rundeck dall'indirizzo IP e quindi dall'esterno via browser, è necessario modificare il file di configurazione <code>rundeck-config.properties</code> situato nella cartella di configurazione di rundeck <code>/ect/rundeck</code> :</p>
<ol>
<li><p>Aprire il file di configurazione con un editor di testo (ad esempio NANO):</p>
<pre><code class="lang-bash"> nano /etc/rundeck/rundeck-config.properties
</code></pre>
</li>
<li><p>Modificare la riga <code>grails.serverURL</code> con l'indirizzo IP della LAN e la porta su cui è in ascolto Rundeck (di solito la porta 4440):</p>
<pre><code class="lang-plaintext"> grails.serverURL=http://&lt;Indirizzo_IP_LAN&gt;:4440
</code></pre>
<p> salviamo le modifiche al file digitando CTRL+X e dando yes per la modifica del file</p>
</li>
<li><p>Riavviare il servizio Rundeck per applicare le modifiche:</p>
<pre><code class="lang-bash"> systemctl restart rundeckd
</code></pre>
</li>
</ol>
<h3 id="heading-pro-e-contro">Pro e Contro</h3>
<p><strong>Pro</strong></p>
<ul>
<li><p><strong>Flessibilità</strong>: Rundeck supporta una vasta gamma di scenari di automazione IT.</p>
</li>
<li><p><strong>Interfaccia Utente</strong>: Fornisce un'interfaccia web per una gestione semplice.</p>
</li>
<li><p><strong>Estensibilità</strong>: Si integra facilmente con altri strumenti e servizi.</p>
</li>
</ul>
<p><strong>Contro</strong></p>
<ul>
<li><p><strong>Curva di apprendimento</strong>: Richiede tempo per imparare tutte le funzionalità e configurazioni.</p>
</li>
<li><p><strong>Risorse</strong>: Può essere esigente in termini di risorse sulla macchina host.</p>
</li>
</ul>
<h3 id="heading-conclusioni">Conclusioni</h3>
<p>In conclusione, Rundeck offre un'eccellente soluzione per coloro che cercano di migliorare le proprie operazioni IT attraverso l'automazione. Con la giusta configurazione e comprensione delle sue funzionalità, Rundeck può diventare uno strumento centrale nella gestione delle infrastrutture IT, permettendo alle organizzazioni di risparmiare tempo, ridurre gli errori e aumentare la produttività.</p>
]]></content:encoded></item><item><title><![CDATA[Docker su Fedora 38]]></title><description><![CDATA[Introduzione
Docker è una container-engine , open-source che permette, lo sviluppo la distribuzione e l'esecuzione di applicazioni confinate in un container
Un container è un'unità software standard che impacchetta il codice e tutte le sue dipendenze...]]></description><link>https://lorenzoveronesi.it/docker-su-fedora-38</link><guid isPermaLink="true">https://lorenzoveronesi.it/docker-su-fedora-38</guid><category><![CDATA[Docker]]></category><category><![CDATA[containers]]></category><category><![CDATA[Fedora]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Fri, 28 Apr 2023 08:06:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1682669042997/23f70584-214b-4842-8856-68786db2a4df.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4 id="heading-introduzione">Introduzione</h4>
<p>Docker è una container-engine , open-source che permette, lo sviluppo la distribuzione e l'esecuzione di applicazioni confinate in un <strong>container</strong></p>
<p>Un container è un'unità software standard che impacchetta il codice e tutte le sue dipendenze in modo che l'applicazione venga eseguita in modo rapido e affidabile e garantendo all'applicazione di poter girare in modo rapido e affidabile su qualuque infrastruttura la ospiti</p>
<p>Container Docker è dunque un pacchetto di software leggero, autonomo ed eseguibile che include tutto il necessario per permettere ad un'applicazione di girare correttamente con tutto il necessario: <strong>codice, runtime, strumenti di sistema, librerie di sistema e impostazioni.</strong></p>
<h4 id="heading-installazione-di-docker-su-fedora">Installazione di Docker su Fedora</h4>
<p>in questo articolo vedremo come poter installare <strong>docker</strong> su Fedora 38 usando la repository ufficiale di docker</p>
<p>innanzitutto dobbiamo verificare i prerequisiti per poter aggiungere la repository, per farlo controlliamo che sul nostro sistema sia installato il pacchetto <code>dnf-plugins-core</code> (che fornisce i comandi per gestire i repository DNF) e configurare il repository.</p>
<blockquote>
<p><strong>NOTA:</strong> sule ultime release di Fedora il pacchetto <code>dnf-plugins-core</code> è preinstallato nel sistema.</p>
</blockquote>
<p>per avere la certezza che il pacchetto sia già presente lanciamo il comando:</p>
<pre><code class="lang-bash">sudo dnf -y install dnf-plugins-core
</code></pre>
<p>nel caso il pacchetto fosse già installato nel sistema avremo questo output:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682588488511/fb6269ec-704d-4414-a291-9ff6f283ebc2.png" alt class="image--center mx-auto" /></p>
<p>ora che i prerequisiti sono sistemati utilizeremo il <strong>config-manager</strong> di dnf per importare la repository ufficiale di docker, possiamo farlo lanciando il comando:</p>
<pre><code class="lang-bash">sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682588397221/c16c1c00-fb60-49f4-83a6-e4df27a8f245.png" alt class="image--center mx-auto" /></p>
<p>una volta importata la repository ufficiale siamo pronti ad installare i pacchetti di docker sul sistema:</p>
<pre><code class="lang-bash">sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682588645382/3a98ff99-f7bb-4308-9d35-9f7af4afe1aa.png" alt class="image--center mx-auto" /></p>
<p>attendiamo qualche minuto affichè tutti i pacchetti e le loro dipendenze vengano installati nel sistema.</p>
<h4 id="heading-configurazione-di-base">Configurazione di base</h4>
<p>Ora che <strong>docker</strong> è installato nel sistema, effettuiamo giusto due configurazioni di base fondamentali al suo corretto funzionamento.</p>
<p>quando viene installata un'istanza di docker, nel sistema viene creato il gruppo docker, a cui dovremmo aggiungere il nostro utente per la corretta esecuzione del servizio, inseriamo l'utente con il comando:</p>
<pre><code class="lang-bash">sudo usermod -aG docker <span class="hljs-variable">$USER</span>
</code></pre>
<p>il comando così configurato usando la variabile <strong>$USER</strong> aggiungerà l'utente con cui siete loggati sul terminale direttamente all'interno del gruppo</p>
<p>ultimo ma non meno importante avviamo e impostiamo il servizio di docker per lo start all'avvio del nostro server:</p>
<pre><code class="lang-bash">systemctl <span class="hljs-built_in">enable</span> --now docker
</code></pre>
<h4 id="heading-docker-container-di-test">Docker - container di test</h4>
<p>il nostro server docker è up&amp;running e possiamo ora verificarne il corretto finzionamento lanciando intanto il comando:</p>
<pre><code class="lang-bash">docker --version
</code></pre>
<p>che ci restituirà come output il versioning di docker e ci darà inoltre una prima conferma del suo funzionamento:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682589322798/f37786b1-586b-4446-ab81-a821d38eb185.png" alt class="image--center mx-auto" /></p>
<p>per testare la completa funzionalità del container-engine, lanceremo il deploy di un immagine di test per averne la piena conferma, possiamo farlo lanciando il comando:</p>
<pre><code class="lang-bash">sudo docker run hello-world
</code></pre>
<p>il cui output, se l'istanza è correttamente installata e funzionante sarà:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682589940448/ee804ddf-2a99-4e23-9673-ec437eda4d2f.png" alt class="image--center mx-auto" /></p>
<h4 id="heading-conclusioni">Conclusioni</h4>
<p>in questo articolo abbiamo visto i passaggi per poter effettuare un'installazione del container-engine <strong>docker</strong> su Fedora, configurando le impostazioni di base per il suo corretto funzionamento e lanciando il deploy di un'immagine di test direttamente dal docker-hub (repository ufficiale delle immagini docker)</p>
<p>per questo articolo è tutto, se avete dubbi o domande lascio aperta la sezione commenti.</p>
<p>Grazie per la lettura!!</p>
]]></content:encoded></item><item><title><![CDATA[Cockpit - Una WebUI per i nostri server Linux]]></title><description><![CDATA[Introduzione
Cockpit è un'interfaccia grafica basata sul web per i server Linux
Questo tool permette di accedere al proprio server tramite un browser web e poter così eseguire, una numerosa serie di attività quali avviare un container (podman), ammin...]]></description><link>https://lorenzoveronesi.it/cockpit-una-webui-per-i-nostri-server-linux</link><guid isPermaLink="true">https://lorenzoveronesi.it/cockpit-una-webui-per-i-nostri-server-linux</guid><category><![CDATA[cockpit]]></category><category><![CDATA[Linux]]></category><category><![CDATA[server administration]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Mon, 24 Apr 2023 16:28:36 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1682353663310/163b7502-7845-4281-9746-735b1840c6d3.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4 id="heading-introduzione">Introduzione</h4>
<p>Cockpit è un'interfaccia grafica basata sul web per i server Linux</p>
<p>Questo tool permette di accedere al proprio server tramite un browser web e poter così eseguire, una numerosa serie di attività quali avviare un container (podman), amministrare l’archiviazione (es LVM e partitioning dei dischi), visionare i log o configurare le reti e perfino collegarsi alla shell bash da browser.</p>
<p>Supporta la gestione di diversi server, tramite una singola dashboard. Non sono richiesti poi i privilegi di amministratore. Per funzionare infatti, crea una sessione al login dell’utente, e sfrutta i suoi stessi permessi, al netto che per eseguire task amministativi ci occorrerà comunque un'utenza con permessi ammnistrativi <strong>sudo</strong></p>
<p>inoltre cockpit nasce con l'idea di essere una WebUI modulare a cui poter aggiungere pacchetti per la gestione di varie funzionalità del server</p>
<p><a target="_blank" href="https://cockpit-project.org/applications.html">Cockpit | additional application</a></p>
<p>Di seguito invece panoramica della tabella di supporto per le principali versioni di cockpit</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682352482435/c2219808-003e-4cc4-84a1-c0f66a680fee.png" alt /></p>
<p>Vediamo come installarlo e configurarlo sulle principali distribuzioni, <strong>Fedora</strong> / <strong>CentOS RHEL</strong> / <strong>Ubuntu</strong> e <strong>Debian</strong></p>
<blockquote>
<p><strong>NOTA:</strong></p>
<p>Cockpit è raggiungibile sulla porta TCP 9090 del tuo server</p>
<p><a target="_blank" href="https://IPAddress:9090"><code>https://IPAddress:9090</code></a></p>
<p>di default non è possibile loggarsi come root su cockpit , è possibile abilitare accesso con utenza root modificando il file di configurazione <strong>disallowed-users</strong> che si trova sotto al percorso <strong>/etc/cockpit</strong> ed eliminando <strong>root</strong> dalla lista</p>
</blockquote>
<h4 id="heading-installazione-di-cockpit-su-fedora"><em>Installazione di cockpit su Fedora</em></h4>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682350649943/8364bc83-07d7-4adb-9b0c-0a2a67208e78.png" alt /></p>
<p>Su Fedora installare cockpit è relativamente seplice in quanto cockpit fa parte , come altri tool, della repository dei pacchetti standard</p>
<ul>
<li>installiamo il pacchetto di cockpit dalla repository di fedora</li>
</ul>
<pre><code class="lang-bash">sudo dnf install -y cockpit
</code></pre>
<ul>
<li>abilitiamo il servizio di cockpit all'avvio del sistema</li>
</ul>
<pre><code class="lang-bash">sudo systemctl <span class="hljs-built_in">enable</span> --now cockpit.socket
</code></pre>
<ul>
<li>consentiamo al servizio di cockpit l'accesso tramite firewall</li>
</ul>
<pre><code class="lang-bash">sudo firewall-cmd --add-service=cockpit --permanent
</code></pre>
<ul>
<li>lanciamo un reload delle regole del firewall per rendere raggiungibile la UI</li>
</ul>
<pre><code class="lang-bash">sudo firewall-cmd --reload
</code></pre>
<h4 id="heading-installazione-di-cockpit-su-centos"><em>Installazione di cockpit su CentOS</em></h4>
<p>Cockpit è disponibile in CentOS 7 e versioni successive:</p>
<ul>
<li>installiamo il pacchetto di cockpit tramite YUM</li>
</ul>
<pre><code class="lang-bash">sudo yum install cockpit
</code></pre>
<ul>
<li>abilitiamo il servizio di cockpit all'avvio del sistema</li>
</ul>
<pre><code class="lang-bash">sudo systemctl <span class="hljs-built_in">enable</span> --now cockpit.socket
</code></pre>
<ul>
<li>apriamo le porte del firewall di CentOS necessarie per raggiungere cockpit</li>
</ul>
<pre><code class="lang-bash">sudo firewall-cmd --permanent --zone=public --add-service=cockpit
</code></pre>
<pre><code class="lang-bash">sudo firewall-cmd --reload
</code></pre>
<h4 id="heading-installazione-di-cockpit-su-rhel-red-hat-enterprise-linux"><em>Installazione di cockpit su RHEL (Red Hat Enterprise Linux)</em></h4>
<blockquote>
<p><strong>NOTA:</strong> cockpit è preinstallato sulle ultime versioni di RHEL (Red Hat Enterprise Linux 8 e 9), ed è out-of-the-box pronto per l'utilizzato, dovremmo solamente abilitarne il servizio.</p>
</blockquote>
<ul>
<li>abilitiamo il servizio di cockpit all'avvio del sistema</li>
</ul>
<pre><code class="lang-bash">sudo systemctl <span class="hljs-built_in">enable</span> --now cockpit.socket
</code></pre>
<ul>
<li>verifichiamo che al servizio di cockpit sia consentito l'accesso tramite firewall</li>
</ul>
<pre><code class="lang-bash">sudo firewall-cmd --list-services
</code></pre>
<ul>
<li>qualora non fosse presente tra i servizi consetiti, inseriamo eccezzione</li>
</ul>
<pre><code class="lang-bash">sudo firewall-cmd --add-service=cockpit --permanent
</code></pre>
<pre><code class="lang-bash">sudo firewall-cmd --reload
</code></pre>
<h4 id="heading-installazione-di-cockpit-su-ubuntu"><em>Installazione di cockpit su Ubuntu</em></h4>
<p>Cockpit è disponibile per Ubuntu dalla 17.04 e versioni successive e disponibile come backport ufficiale per 16.04 LTS e versioni successive.</p>
<p>Si consiglia di installare o aggiornare l'ultima versione dai backport. Questo repository è abilitato per impostazione predefinita, ma se hai personalizzato le fonti apt potrebbe essere necessario abilitarle manualmente.</p>
<ul>
<li>installazione del pacchetto di cockpit</li>
</ul>
<pre><code class="lang-bash">. /etc/os-release
</code></pre>
<pre><code class="lang-bash">sudo apt install -y -t <span class="hljs-variable">${VERSION_CODENAME}</span>-backports cockpit
</code></pre>
<blockquote>
<p><strong>NOTA:</strong> Quando aggiorni i pacchetti relativi a Cockpit e le eventuali dipendenze, assicurati di utilizzare -t ...-backports come sopra, in modo che i backport siano inclusi.</p>
</blockquote>
<h4 id="heading-installazione-di-cockpit-su-debian"><em>Installazione di cockpit su Debian</em></h4>
<p>Cockpit è disponibile in Debian dalla versione 10 (Buster) e successive.</p>
<ul>
<li>Per ottenere l'ultima versione, si consiglia di abilitare il repository backport (come root):</li>
</ul>
<pre><code class="lang-bash">. /etc/os-release
</code></pre>
<pre><code class="lang-bash">sudo <span class="hljs-built_in">echo</span> <span class="hljs-string">"deb http://deb.debian.org/debian <span class="hljs-variable">${VERSION_CODENAME}</span>-backports main"</span> &gt; /etc/apt/sources.list.d/backports.list
</code></pre>
<pre><code class="lang-bash">sudo apt update
</code></pre>
<ul>
<li>una volta abilitato il repository installiamo cockpit</li>
</ul>
<pre><code class="lang-bash">apt install -t <span class="hljs-variable">${VERSION_CODENAME}</span>-backports cockpit
</code></pre>
<blockquote>
<p><strong>NOTA:</strong> Quando aggiorni i pacchetti relativi a Cockpit e le eventuali dipendenze, assicurati di utilizzare -t ...-backports come sopra, in modo che i backport siano inclusi.</p>
</blockquote>
<h4 id="heading-conclusioni"><em>Conclusioni</em></h4>
<p>una volta effettuata installazione sulla distribuzione di riferimento dovremmo poter raggiungere il nostro server all'indirizzo: <a target="_blank" href="https://IPAddress:9090"><code>https://IPAddress:9090</code></a> dalla quale potremmo gestire tutti gli aspetti principali, di seguito uno screen della dashboard:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682352675450/85c27d06-5973-4ee7-a0e7-6f053bda5e65.png" alt class="image--center mx-auto" /></p>
<p>in questo articolo abbiamo quindi visto che cos'è cockpit e come possa tornare utile agli amministratori di server linux, abbiamo visto come installarlo su diverse distribuzioni e come reggiungerlo via browser, adesso possiamo amministrare in comodità i nostri server dall'interfaccia we di cockpit.</p>
]]></content:encoded></item><item><title><![CDATA[Ansible (automation tool) su Fedora 38]]></title><description><![CDATA[Introduzione
In questo articolo, vedremo come poter installare Ansible su Fedora 38 passo per passo e una volta completatp avremo un piccolo ambiente funzionante con un'istallazione di ansible, che controllerà, nel nostro caso, solamente un nodo remo...]]></description><link>https://lorenzoveronesi.it/ansible-automation-tool-su-fedora-38</link><guid isPermaLink="true">https://lorenzoveronesi.it/ansible-automation-tool-su-fedora-38</guid><category><![CDATA[Fedora]]></category><category><![CDATA[ansible]]></category><category><![CDATA[ansible-playbook]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Mon, 24 Apr 2023 12:27:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1682339450375/1a030605-0be6-4d49-aa63-d2b401f1f357.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4 id="heading-introduzione">Introduzione</h4>
<p>In questo articolo, vedremo come poter installare Ansible su Fedora 38 passo per passo e una volta completatp avremo un piccolo ambiente funzionante con un'istallazione di ansible, che controllerà, nel nostro caso, solamente un nodo remoto</p>
<h4 id="heading-che-cose-ansible">Che cos'è Ansible</h4>
<p>Ansible è uno strumento di automazione gratuito e open source (senza agent) che gestisce macchine Linux remote tramite protocollo ssh. Il sistema su cui viene installato ansible solitamente è noto come <strong>Control Node</strong> e le macchine remote gestite da ansible sono chiamate solitamente <strong>Managed Node</strong></p>
<h4 id="heading-prerequisiti">Prerequisiti</h4>
<ul>
<li><p>Installazione minima di Fedora (almeno due macchine), nel nostro caso utilizzeremo 2 VM (virtual machine) in ambiente virtualizzato vSphere</p>
</li>
<li><p>Utente con diritti di ammistrazione <strong>sudo</strong> su entrambe le macchine (per comodità utilizzeremo utenza <strong>root</strong>)</p>
</li>
<li><p>Macchine già abilitate all'accesso SSH attraverso la porta 22</p>
</li>
<li><p>Connettività di rete su entrambe le macchine</p>
</li>
</ul>
<h4 id="heading-ambiente-di-laboratorio">Ambiente di Laboratorio</h4>
<p>il nostro laboratorio in ambiente VMware vSphere sarà quindi composta da 2 VM Fedora Linux 38 con installazione minima (solo componenti base e Terminal) così suddivise:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682273967134/61ab4738-5bc4-4790-ad15-a8dd9f62c893.png" alt /></p>
<ul>
<li><p>Control Node - <strong>ansible-cn</strong> (hostname) - <strong>192.168.8.119</strong> (ipv4)</p>
</li>
<li><p>Managed Node - <strong>managed-node</strong> (hostname) - <strong>192.168.8.120</strong> (ipv4)</p>
</li>
</ul>
<p>su entrambe le vm utilizzeremo solamente utenza di <strong>root</strong> a scopo puramente dimostrativo e per comodità, in ambienti di produzione non utilizzare <strong>MAI</strong> utenza di root per effettuare operazioni di control e automation</p>
<h4 id="heading-aggiorniamo-le-2-macchine-fedora">Aggiorniamo le 2 macchine Fedora</h4>
<p>Prima di proseguire con installare e configurare il nostro ambiente di ansible, su entrambe le VM Fedora38 effettuiamo log in e lanciamo il comando:</p>
<pre><code class="lang-bash">sudo dnf update -y
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682274561874/6efad939-ba53-4277-86b2-8edac5afb10b.png" alt class="image--center mx-auto" /></p>
<p>una volta lanciato il comando ed effettuato update su entrambe le VM, facciamo anche un reboot in modo da partire da una situazione il più pulito possibile</p>
<pre><code class="lang-bash">sudo reboot
</code></pre>
<h4 id="heading-installiamo-ansible-con-dnf-il-package-manager-di-fedora">Installiamo Ansible con dnf (il package manager di fedora)</h4>
<p>Su Fedora38 installare Ansible è relativamente semplice in quanto il suo pacchetto, come le sue dipendenze sono disponibili nei repository ufficiali di Fedora.</p>
<p>Eseguiamo quindi semplicemente il comando dnf per installarlo:</p>
<pre><code class="lang-bash">sudo dnf install -y ansible
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682274886019/6ba7f12f-0310-418e-a9af-79eda65365d2.png" alt class="image--center mx-auto" /></p>
<p>attendiamo giusto qualche minuto che il pacchetto con tutte le sue dipenzenze venga installato nel sistema</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682274964884/6baaf623-acff-4a8d-8c7a-b40d4e6d065d.png" alt class="image--center mx-auto" /></p>
<p>e una volta completata l'installazione, proseguiamo verificando il corretto funzionamento di Ansible usando il comando:</p>
<pre><code class="lang-bash">ansible --version
</code></pre>
<p>che dovrebbe restituirci come output il versioning di ansible core e i vari componenti che lo compongono , come i file di configurazione</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682275108734/5fd3621c-c085-4c34-b176-d040a121301d.png" alt class="image--center mx-auto" /></p>
<h4 id="heading-generazione-delle-chiavi-ssh-per-lutenza-che-fara-automation">Generazione delle chiavi SSH per l'utenza che farà automation</h4>
<p>In questo passaggio vedremo come generare la chiave SSH dell'utenza <strong>root</strong> che useremo tramite ansible per effettuare automation sui managed node</p>
<blockquote>
<p><strong>IMPORTANTE:</strong> nell'articolo utilizzeremo utenza di root , ma le operazioni sono valide per qualunque utenza vogliate creare ed utilizzare , la cosa importante è che su entrambi i sistemi l'utenza xxx (la vostra utenza con nome da voi scelto) esista e abbia privilegi <strong>sudo</strong></p>
</blockquote>
<p>generiamo quindi la chiave ssh per l'utenza scelta (in questo caso <strong>root</strong>) e proseguiamo condividendo la chiave ssh suui vari sistemi remoti (nel nostro caso <strong>managed-node</strong>)</p>
<p>per poter generare la chiave ssh , portiamoci prima di tutto sul percorso home dell'utente scelto, per farlo dovremo essere loggati sul terminale con quell'utenza e successivamente lanciare il comando:</p>
<pre><code class="lang-bash"><span class="hljs-built_in">cd</span>
</code></pre>
<p>e premere <code>invio</code>, questo comando ci riporterà direttamente alla home dell'utente, utilizziamo subito dopo il comando:</p>
<pre><code class="lang-bash">ls -1A
</code></pre>
<p>questo comando ci darà anche come output le cartelle <strong>nascoste</strong> sotto la cartella principale della nostra utenza , la cartella che ci interessa in questo momento sarà la cartella <strong>.ssh</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682275681143/dc05b36d-ae47-46ec-83c9-0f70159b557d.png" alt /></p>
<p>proseguiamo lanciamo il comando per generare la nuova chiave SSH</p>
<pre><code class="lang-bash">ssh-keygen
</code></pre>
<p>il comando chiederà diversi input, premiamo solo <code>invio</code> senza inserire nulla e drovremmo avere un output come il seguente:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682276000876/21cc5ab6-bf60-4ffe-9e65-f4edd68589d7.png" alt /></p>
<p>avremo quindi generato due file sotto la cartella <strong>.ssh</strong> , che sono <strong>id_rsa</strong> e <strong>id_rsa.pub</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682276141963/c8d000ef-6f18-4143-ab64-af97a0ed8ef9.png" alt /></p>
<p>questa chiave <strong>id_rsa</strong> verrà utilizzata dall'automazione di ansible per la connessione in SSH alle macchine remote (<strong>managed-node</strong>) e l'autenticazione avverrà grazie alla chiave e <strong>quindi senza password</strong></p>
<p>per far si che il tutto funzioni dobbiamo prima condividere la chiave generata con il <strong>managed-node</strong> e possiamo farlo utilizzando il comando</p>
<pre><code class="lang-bash">ssh-copy-id root@192.168.8.120
</code></pre>
<blockquote>
<p><strong>NOTA:</strong> il comando <strong>ssh-copy-id</strong> utilizza la connessione <strong>ssh</strong> per connettersi al server remoto e copiare l'id sull'utenza con cui ci colleghiamo (sempre <strong>root</strong> nel nostro caso).</p>
<p>Il comando è così composto, dunque, perchè copierà la chiave ssh dall'utenza di <strong>root</strong> della VM <strong>ansible-cn (192.168.8.119)</strong> all'utenza di <strong>root</strong> della VM <strong>managed-node (192.168.8.120)</strong>.</p>
<p><strong>NB:</strong> il comando va quindi eseguito dal Control Node di ansible e l'operazione andrà ripetuta per tutti i vari nodi che vorremmo connettere alla nostra istanza, nel nostro caso solamente uno <strong>managed-node</strong></p>
</blockquote>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682276562777/f79ee3f0-34e1-476c-ab6d-ebf383404875.png" alt class="image--center mx-auto" /></p>
<p>un volta completato, dovremmo aver copiato correttamente la chiave SSH sul <strong>managed-node</strong> ed essere qundi in grado di collegarci e di gestirlo senza password. Sotto l'utenza di <strong>root</strong> del <strong>managed-node</strong>, nella cartella nascosta <strong>.ssh</strong> della sua home directory, dovremmo avere un file chiamato <strong>autorizhed_keys</strong>, il quale viene generato appunto quando vengono copiate delle chiavi da altre istanze (altri server o VM)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682277166912/ded3b46a-6489-4c9b-a775-731b7836584a.png" alt /></p>
<p>navigando all'interno del file dovremmo vedere la chiave e il certificato generato sul control-node <strong>ansible-cn.</strong></p>
<h4 id="heading-configurazione-e-testing-dellinstallazione-di-ansible">Configurazione e Testing dell'installazione di Ansible</h4>
<p>Per testare l'installazione ansible, proveremo a gestire il sistema remoto <strong>managed-node (192.168.8.120)</strong> per farlo dovremmo prima settare alcune configurazioni di ansible tra cui:</p>
<ul>
<li><p><strong>ansible.cfg</strong></p>
<p>  file che contenente le configurazioni base di ansible</p>
</li>
</ul>
<ul>
<li><p><strong>hosts</strong></p>
<p>  che farà da database dell'inventario delle macchine gestite</p>
</li>
</ul>
<p>portiamoci quindi da terminale sotto al persorso <code>/etc/ansible</code> nel quale troveroemo i file di configurazione, con il comando:</p>
<pre><code class="lang-plaintext">cd /etc/ansible
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682326588021/bd36c5a9-855c-4ca0-a23b-dd66489e060f.png" alt /></p>
<p>partiamo editando il file <strong>ansible.cfg</strong> utilizando l'editor di testo <strong>nano</strong> (già presente in fedora) lanciamolo con il comando:</p>
<pre><code class="lang-bash">sudo nano ansible.cfg
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682329077018/974b00bf-8ff8-450c-94b3-106985d4b0d0.png" alt /></p>
<p>ci si aprirà l'editor di testo <strong>nano,</strong> con caricato il file <strong>ansible.cfg</strong> dal quale potremmo apportare le modifiche appunto alla configurazione di ansible, inseriamo nel file le linee a seguire:</p>
<pre><code class="lang-plaintext">[defaults]
inventory = ./hosts
remote_user = root
host_key_checking = False

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
</code></pre>
<p>con quanto inserito sopra setteremo alle configurazioni di ansible , in ordine, che il file dell'inventario sarà appunto il file <strong>hosts</strong> presente nella medesima directory sotto <code>/etc/ansible</code> e che l'utenza che dovrà utilizzare per effetuare task di automation sarà appunto <strong>root</strong>.</p>
<p>nella seconda parte della configurazione <strong>[privilege_escalation],</strong> definirà l'elevazione dell'utenza come sudo , nel caso aveste usato un'utenza creata ad-hoc.</p>
<p>inseriamo quindi le configurazioni all'interno del file:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682331367963/29e34e7a-9e21-4ea2-9444-b435a7560566.png" alt class="image--center mx-auto" /></p>
<p>e premiamo <code>CTRL+O</code> per salvare le modifiche e successivamente <code>CTRL+X</code> per chiudere l'editor.</p>
<p>ora ripetiamo il passaggio precedente editando anche il file <strong>hosts</strong>, nel quale aggiungeremo il nostro <strong>managed-node (192.168.8.120)</strong> , in modo tale che ansible possa distinguere i diversi sistemi inventariati.</p>
<p>dalla folder di ansible dunque, lanciamo il comando:</p>
<pre><code class="lang-bash">sudo nano hosts
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682331649447/828a78ed-e96f-43fc-8269-2a74cf87e979.png" alt /></p>
<p>e ci si aprirà nuovmente l'editor di testo <strong>nano,</strong> con caricato il file <strong>hosts</strong> nel quale inseriremo tutte le macchine <strong>managed</strong> al nostro inventario,nel nostro caso inseriremo:</p>
<pre><code class="lang-plaintext">[managed-node]
192.168.8.120
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682331793069/52e83632-5cc8-4e11-8c15-2539fa9fe45d.png" alt /></p>
<p>premiamo <code>CTRL+O</code> per salvare le modifiche e successivamente <code>CTRL+X</code> per chiudere l'editor.</p>
<p>Ora possiamo finalmente testare la nostra installazione di ansible con un paio di semplici comandi</p>
<p><strong>test del ping del nodo remoto</strong></p>
<pre><code class="lang-bash">ansible managed-node -m ping
</code></pre>
<p>il cui output (se abbiamo configurato tutto a dovere) dovrebbe restituirci:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682332016457/1da010ab-535b-4cfb-958e-adfb1abf28ff.png" alt /></p>
<p>ora lanciamo un ulteriore comando un pò più "avanzato" , con il quale faremo eseguire ad ansible un comando bash sul sistema remoto:</p>
<p><strong>esecuzione di un comando bash sul nodo remoto</strong></p>
<pre><code class="lang-bash">ansible managed-node -m shell -a <span class="hljs-string">'cat /etc/os-release'</span>
</code></pre>
<p>il comando lancierà il comando bash <code>cat /etc/os-release</code> (che ci consente di avere come output info sulla distribuzione linux) sul nodo remoto, che dovrebbe restituirci come output:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682332256832/896840c2-182f-496f-9f9b-d73382955600.png" alt class="image--center mx-auto" /></p>
<p>fin qua tutto perfetto, i comandi sopra ci confermano che la connettività è presente tra il <strong>control-node</strong> e il <strong>managed-node,</strong> poiché il test del ping pong e del recupero info da shell ci han restituito esito positivo.</p>
<h4 id="heading-ansible-creazione-di-un-playbook">Ansible - Creazione di un Playbook</h4>
<p>In questa parte ci addentriamo, nel lato divertente di ansible i <strong>PlayBook</strong></p>
<p>i <strong>PlayBook,</strong> sono dei file <strong>YAML</strong> che permettono di costruire dei task di automazione che ansbile può utilizzare per compiere azioni.</p>
<p>creeremo ora un playbook di esempio per installare <strong>vsftpd</strong> (servizio per creare server FTP /FTPS) sul nostro <strong>managed-node (192.168.8.120)</strong></p>
<p>sotto il percorso <code>/etc/ansible</code> creaimo la folder <strong>playbook</strong></p>
<pre><code class="lang-bash">mkdir playbook &amp;&amp; <span class="hljs-built_in">cd</span> playbook
</code></pre>
<p>ora all'interno di questa cartella (che ospiterà tutti i <strong>PlayBook</strong> che creeremo in futuro) creiamo dunque un nuovo file avvalendoci sempre del nostro editor di testo <strong>nano</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682333318218/a141348f-016f-4ad5-9a17-d33ac28e9843.png" alt /></p>
<pre><code class="lang-bash">sudo nano vsftpd.yaml
</code></pre>
<p>nano ci aprirà un editor vuoto con caricato il nuovo file, inseriamo queste linee</p>
<pre><code class="lang-yaml"><span class="hljs-meta">---</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Playbook</span> <span class="hljs-string">to</span> <span class="hljs-string">Install</span> <span class="hljs-string">FTP</span> <span class="hljs-string">Server</span> <span class="hljs-string">(vsftpd)</span>
  <span class="hljs-attr">hosts:</span> <span class="hljs-string">managed-node</span>
  <span class="hljs-attr">tasks:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Install</span> <span class="hljs-string">vsftpd</span>
    <span class="hljs-attr">package:</span>
      <span class="hljs-attr">name:</span> <span class="hljs-string">vsftpd</span>
      <span class="hljs-attr">state:</span> <span class="hljs-string">present</span>

  <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Start</span> <span class="hljs-string">vsftpd</span> <span class="hljs-string">service</span>
    <span class="hljs-attr">service:</span>
      <span class="hljs-attr">name:</span> <span class="hljs-string">vsftpd</span>
      <span class="hljs-attr">state:</span> <span class="hljs-string">started</span>
      <span class="hljs-attr">enabled:</span> <span class="hljs-literal">yes</span>
</code></pre>
<p>questo playbook installerà e attiverà il servizio <strong>vsftpd</strong> , nel playbook viene definito anche il nodo remoto su cui effettuare l'installazione:</p>
<p><code>hosts: managed-node</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682333584705/86d361e7-f78c-478f-be24-990f49c2c085.png" alt class="image--center mx-auto" /></p>
<p>premiamo nuovamente <code>CTRL+O</code> per salvare le modifiche e successivamente <code>CTRL+X</code> per chiudere l'editor.</p>
<p>Siamo finalmente pronti a lanciare il nostro <strong>PlayBook</strong>, lanciamolo utilizzando il comando:</p>
<pre><code class="lang-bash">ansible-playbook vsftpd.yaml
</code></pre>
<p>che dovrebbe restituirci come output:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682333713999/0c122f39-8fae-4774-8e57-2a41c4710f62.png" alt /></p>
<p>dove il risultato è visibile nella sezione PLAY RECAP con 3 ok in verde per ogni task compiuto dal <strong>PlayBook</strong>.</p>
<p>possiamo inoltre effettivamente verificare che il servizio si sia avviato corrrettamente sul nodo remoto, lanciando un'ulteriore comando ansible:</p>
<pre><code class="lang-bash">ansible managed-node -m shell -a <span class="hljs-string">'systemctl status vsftpd'</span>
</code></pre>
<p>se tutto è avvenuto con successo e l'installazione come da output precedente è andata a buon fine sul nodo remoto, ci aspettiamo il seguente output:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682333962001/431ac212-4e08-4702-ad2e-c6f2a5652c68.png" alt /></p>
<p>che ci conferma che il servizio è installato e attivo sul nostro <strong>managed-node (192.168.8.120)</strong></p>
<h4 id="heading-conclusioni">Conclusioni</h4>
<p>in questo articolo abbiamo visto passo per passo, come installare e configurare ansible sul <strong>control-node (base Fedora)</strong>, come aggiugere e gestire un <strong>managed-node (base Fedora)</strong> effettuando autenticazione sullo stesso in modalità passwordless grazie alla chuiave <strong>ssh</strong>, abbiamo visto una panoramica dei comandi principali che ansible può eseguire e abbiammo creato ed eseguito un <strong>PlayBook.</strong></p>
<p>per questo articolo è tutto, se avete dubbi o domande lascio aperta la sezione commenti.</p>
<p>Grazie per la lettura!!</p>
]]></content:encoded></item><item><title><![CDATA[VMware VCP-DCV 2023- 2V0-21.20 Exam]]></title><description><![CDATA[Introduzione
Prima di tutto iniziamo dall'acronimo: VCP-DCV che sta per VMware Certified Professional - Data Center Virtualization, in questo articolo infatti entremo nel dettaglio sulla certificazione VCP-DCV di VMware che è la prima certificazione ...]]></description><link>https://lorenzoveronesi.it/vmware-vcp-dcv-2023-2v0-2120-exam</link><guid isPermaLink="true">https://lorenzoveronesi.it/vmware-vcp-dcv-2023-2v0-2120-exam</guid><category><![CDATA[vmware]]></category><category><![CDATA[Certification]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Mon, 27 Mar 2023 14:21:15 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679929460929/f4d4679d-486c-43b8-91d6-cc8db7f245ec.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4 id="heading-introduzione">Introduzione</h4>
<p>Prima di tutto iniziamo dall'acronimo: <strong>VCP-DCV</strong> che sta per <strong>VMware Certified Professional - Data Center Virtualization,</strong> in questo articolo infatti entremo nel dettaglio sulla certificazione VCP-DCV di VMware che è la prima certificazione professionale in ambito virtualizzazione che è possibile ottenere da VMWare</p>
<h4 id="heading-obiettivo-della-certifica">Obiettivo della Certifica</h4>
<p>La certificazione VCP-DCV convalida le competenze dei candidati a implementare, gestire e risolvere i problemi di un'infrastruttura vSphere, utilizzando le <strong>Best Practice</strong> per fornire un base potente, flessibile e sicura per l'agilità aziendale che può accelerare la trasformazione al cloud computing.</p>
<h4 id="heading-requisiti">Requisiti</h4>
<p>Intraprendere questo percorso di certificazione presuppone uno o più requisiti come da percoso alla certifica estratto dal sito di VMware.</p>
<p>Quello su cui ci concentreremo in questo articolo è il percorso alla certifica per chi non <strong>possiede alcuna certifica VMWare.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679678025043/43a5e37f-3e71-430d-a30b-0e39f555a368.png" alt class="image--center mx-auto" /></p>
<p>i requisiti sono principalmente 3 , divisi in STEP come da schermata sopra e che riassumendo sono:</p>
<ul>
<li><p><strong>STEP 1 : (Raccomandato) Prendere familiarità ed Esperianza con Sphere 7.x o vSphere 8.x</strong></p>
<p>  questo step è fortemente raccomandato e VMware stabilisce che questo requisito sia minimo di 6 Mesi</p>
</li>
<li><p><strong>STEP 2 : (Obbligatorio) Partecipare a uno dei corsi di formazione richiesti</strong></p>
<p>  solitamente i corsi utilizzati da VMware per sviluppare questo esame e fortemente consigliati per sua la preparazione sono:</p>
<p>  <a target="_blank" href="https://mylearn.vmware.com/gw/mylearn/course/course-details/100035?tabId=0">VMware vSphere: Install, Configure, Manage [V8]</a></p>
<p>  <a target="_blank" href="https://mylearn.vmware.com/gw/mylearn/course/course-details/100039?tabId=2">VMware vSphere: Operate, Scale and Secure [V8]</a></p>
<p>  <a target="_blank" href="https://mylearn.vmware.com/mgrReg/courses.cfm?ui=www_edu&amp;a=one&amp;id_subject=93058">VMware vSphere: Install, Configure, Manage [V7]</a></p>
<p>  <a target="_blank" href="https://mylearn.vmware.com/mgrReg/courses.cfm?ui=www_edu&amp;a=one&amp;id_subject=93065">VMware vSphere: Optimize and Scale [V7]</a></p>
</li>
<li><p><strong>STEP 3: (Obbligatorio) Superare UNO degli esami di certifica</strong></p>
<p>  esami necessari per conseguire la Certificazione</p>
<p>  <a target="_blank" href="https://www.vmware.com/learning/certification/vcp-dcv-8-exam.html">VMware vSphere 8.x Professional (2V0-21.23)</a></p>
<p>  <a target="_blank" href="https://www.vmware.com/learning/certification/vcp-dcv-7-exam.html">Professional VMware vSphere 7.x (2V0-21.20)</a></p>
</li>
</ul>
<h4 id="heading-materiali">Materiali</h4>
<p>Di seguito una serie di materiali utili al fine di partecipare al corso di certifica e a posteriori quiz per lo studio in preparazione dell'esame:</p>
<p>PDF per la preparazione dell'esame VCP-DCV: <a target="_blank" href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/certification/vmw-vcp-dcv-certification-preparation-guide.pdf">certification-preparation-guide</a></p>
<p>Quiz con domande attuali [update: Marzo 2023]: <a target="_blank" href="https://en.daypo.com/2v0-21-20-2023-update.html">VMware 2V0-21.20 Exam - DUMP QUIZ</a></p>
<p>Pagina di Certifica di VMware: <a target="_blank" href="https://www.vmware.com/learning/certification/vcp-dcv.html">VMware Certified Professional - Data Center Virtualization 2023(VCP-DCV 2023)</a></p>
<h4 id="heading-conclusioni">Conclusioni</h4>
<p>La prima certificazione di VMWare come abbiamo visto nei paragrafi precendenti , richiede molto impegno e soprattutto studio , il percorso stabilito da VMware è neccessario al fine che la certifica sia effettivamente rilasciata a chi ha accumulato abbastanza competenze per essere un professionista certificato su vSphere.</p>
]]></content:encoded></item><item><title><![CDATA[Gestire come Template le VM in vSphere]]></title><description><![CDATA[Introduzione
In questo articolo vedremo come è possibile gestire le VM (virtual machine) su vCenter per l'utilizzo come modelli per il deploy di un set di macchine identiche in ambienti vSphere
Un template, è la versione “master” (intesa come immagin...]]></description><link>https://lorenzoveronesi.it/gestire-come-template-le-vm-in-vsphere</link><guid isPermaLink="true">https://lorenzoveronesi.it/gestire-come-template-le-vm-in-vsphere</guid><category><![CDATA[vmware]]></category><category><![CDATA[vsphere]]></category><category><![CDATA[template]]></category><category><![CDATA[esxi]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Thu, 23 Mar 2023 17:01:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679590822687/baa3d5da-ddb9-47ad-8ef6-a74c514a12f1.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4 id="heading-introduzione">Introduzione</h4>
<p>In questo articolo vedremo come è possibile gestire le VM (virtual machine) su vCenter per l'utilizzo come modelli per il deploy di un set di macchine identiche in ambienti vSphere</p>
<p>Un template, è la versione “master” (intesa come immagine Gold) di una VM, una sorta di "modello di base" dal quale è possibile creare e distribuire nuove macchine virtuali identiche già "preconfezionate" secondo le varie esigenze dei nostri clienti.</p>
<p>I Template sono solitamente composti da questi elementi:</p>
<ul>
<li><p>Sistema Operativo Guest (es. Windows Server / Red Hat / Linux)</p>
</li>
<li><p>Configurazioni del OS: Applicazioni, Servizi (ad es. Server FTP su linux), Policy o customizzazioni</p>
</li>
<li><p>Configurazioni legate alle risorse della VM (es. vCPU, vRAM) o altri dispositivi già configurati</p>
</li>
</ul>
<p>Creare una VM come template ci permette di mettere in pratica ciò che viene definito "provisioning delle VM", consentendoci di evitare la ripetizione di azioni volte a creare macchine virtuali sulla nostra infrastruttura che hanno caratteristiche comuni se non addirittura idendiche.</p>
<p>Una VM può essere <strong>convertita in template</strong> oppure <strong>clonata da un template</strong> (provisioning VM)</p>
<h4 id="heading-convertire-la-vm-in-template"><strong>Convertire la VM in Template</strong></h4>
<p>Bisogna inanzitutto apprendere che convertire una VM in un template renderà la VM di origine un oggetto diverso, una sorta di immagine da riutilizzare per creare altre macchine identiche partendo dal nostro set preconfigurato</p>
<p>NOTA: il prerequisito per convertire la VM in template è che la stessa sia in stato <strong>PowerOFF</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679653162576/388e9013-d193-4c0b-869b-c4fbb6cbcef3.png" alt class="image--center mx-auto" /></p>
<p>nella schermata riporta sopra vi è un esempio di una VM (RHEL[9.1]) creata come "master" che viene convertita in modello facendo:</p>
<pre><code class="lang-plaintext">Tasto Destro sulla VM target -&gt; Modello -&gt; Converti in modello
</code></pre>
<p>Essendo ora diventata un oggetto "Template" il file VMX di configurazione della macchina verrà convertito in VMTX , inoltre la VM ora non potrà più essere accesa , ma potrà essere usata per creare velocemente modelli identici di VM partendo da questa immagine.</p>
<p>Una volta trasformata in template facendo tasto destro sull'oggetto creato avremo a disposizioni altre due azioni interessanti di cui vedremo qui di seguito le funzioni.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679652945388/7b87b7f9-9434-4681-b9de-8e5fcaa30484.png" alt class="image--center mx-auto" /></p>
<h4 id="heading-provisioning-di-una-vm-da-template"><strong>Provisioning di una VM da Template</strong></h4>
<p>Per distribuire una macchina virtuale da un template, è sufficiente selezionare "Nuova Macchina virtuale da questo modello" dal menù contestuale (tasto destro sulla VM), la quale ci aprirà la procedura guidata per distribuire la VM,</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679589874500/7883c0ce-c6f6-4572-9f3e-28e068994973.png" alt class="image--center mx-auto" /></p>
<p>selezionando il nuovo nome che gli verrà assegnato, il datastore e il formato del disco su cui devono essere distribuiti i file della VM e dove andrà posizionata all'interno del nostro cluster (su quale nodo ESXi) e anche l'eventuale folder.</p>
<h4 id="heading-converti-in-macchina-virtuale"><strong>Converti in macchina virtuale</strong></h4>
<p>Selezionando questa opzione sarà possibile riconvertire in VM il nostro template, questa operazione può tornare utile per rendere nuovamente disponibile la VM , accenderla , effettuare ad esempio del patching / aggiunta software o configurazioni e riportarla infine nuovamante in template aggiornato, oppure tenerla come VM non avendo magari più necessità di tenerla come template.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679590101286/458f51c9-4ad2-4a25-9529-7e19fdd2070b.png" alt class="image--center mx-auto" /></p>
<h4 id="heading-conclusioni">Conclusioni</h4>
<p>Tutte le operazioni sui template sono disponibili solamente attraverso interfaccia web del vCenter e non direttamente dai nostri host ESXi; <strong>infatti non è possibile gestire i template da Host Web Client</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679652985403/e72de9b2-d285-46da-945c-7afca3f46eb1.png" alt class="image--center mx-auto" /></p>
<p>Per vedere tutti i template disponibili, da vSphere Client, si deve selezionare la modalità di visualizzazione <strong>VMs and Template</strong> selezionata nello screen sopra.</p>
]]></content:encoded></item><item><title><![CDATA[VCP-DCV un grande obbiettivo!]]></title><description><![CDATA[Dopo tanti sacrifici , impegno , studio e lavoro , oggi finalmente ho raggiunto uno dei miei più grandi obbiettivi! la certificazione VCP-DCV di VMware
è un obbiettivo che mi ero posto all'incirca 5 anni fà , era il 2019 , quando da appassionato e "s...]]></description><link>https://lorenzoveronesi.it/vcp-dcv-un-grande-obbiettivo</link><guid isPermaLink="true">https://lorenzoveronesi.it/vcp-dcv-un-grande-obbiettivo</guid><category><![CDATA[vmware]]></category><category><![CDATA[Certification]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Thu, 23 Mar 2023 09:32:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679487720372/1a45a640-8710-474a-8d37-0ea12be3db76.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dopo tanti sacrifici , impegno , studio e lavoro , oggi finalmente ho raggiunto uno dei miei più grandi obbiettivi! la certificazione <strong>VCP-DCV di VMware</strong></p>
<p>è un obbiettivo che mi ero posto all'incirca 5 anni fà , era il 2019 , quando da appassionato e "smanettone" mi sono affacciato alla tecnologia di virtualizzazione di VMware.</p>
<p>Arrivando da un passato di assiduo utilizzatore di VirtualBox , avevo già delle conosceze riguardo al Virtualizzare, all'inizio era poco più di un gioco quando virtualizzai la prima volta un'installazione di ESXi e creai la mia prima VM Ubuntu in un ambiente nested (oltretutto)</p>
<p>Mi resi subito conto della versatilità del prodotto, e capii che VMware vSphere poteva essere il prodotto che cercavo da tempo, e cominciai ad impiegare un sacco del mio tempo anche fuori l'orario lavorativo allo studio di questa tecnologia.</p>
<p>A distanza di 5 anni, oggi,con molta esperienza lavorativa alle spalle e con un percorso seguito per 3 mesi (corso alla certifica) finalmente posso dire di essere molto più di uno "smanettone", ora sono un <strong>Professionista</strong> di questa tecnologia e la certifica era il tassello che mancava a raggiungere questo obbiettivo.</p>
<p>Per questo tranguardo devo soprattuto ringraziare una persona <a target="_blank" href="https://www.linkedin.com/in/alessandro-romeo-87185aa6/">Alessandro Romeo</a> che nell'ultimo anno e mezzo è stato una guida che mi ha portato a raggiungere questo obbiettivo, è un grande esperto nel settore e per chi avesse voglia di seguire il suo lavoro, lascio link del suo blog: <a target="_blank" href="http://aleadmin.it">aleadmin.it</a></p>
<p>l'idee future ora oltre allo sviluppo del mio blog è implementare una sorta di "percorso alla certifica" che possa essere seguito da chi, come me, vorrà intraprendere questo lungo , faticoso , ma molto appagante cammino.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679563887626/0074d61e-76a9-4950-8667-60c7b88d4427.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Benvenuti sul mio blog!]]></title><description><![CDATA[Lavoro come Senior System Administrator, principalmente sulle seguenti tecnologie: VMware vSphere 7.0, 6.7, 6.5 e 6.0, Microsoft Windows Server , Red Hat Enterprise Linux
Appassionato di Virtualizzazione, Programmazione e Videogiochi , mi piace esplo...]]></description><link>https://lorenzoveronesi.it/benvenuti-sul-mio-blog</link><guid isPermaLink="true">https://lorenzoveronesi.it/benvenuti-sul-mio-blog</guid><category><![CDATA[Welcome]]></category><dc:creator><![CDATA[Lorenzo Veronesi]]></dc:creator><pubDate>Fri, 17 Mar 2023 16:47:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679487175314/4330696e-aeea-4918-82ea-51a2d95df029.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Lavoro come Senior System Administrator, principalmente sulle seguenti tecnologie: VMware vSphere 7.0, 6.7, 6.5 e 6.0, Microsoft Windows Server , Red Hat Enterprise Linux</p>
<p>Appassionato di Virtualizzazione, Programmazione e Videogiochi , mi piace esplorare ogni giorno nuove tecnologie e consolidare le mie competenze soprattutto lato VMware e Linux</p>
<p>L’idea di aprire un Blog nasce dall’esigenza di utilizzarlo per condividere i miei progetti e le mie idee su tutte le tecnologie a cui mi approccio</p>
]]></content:encoded></item></channel></rss>