Portainer per Docker: come installarlo
Portainer rappresenta un modo conveniente per gestire ambienti container distribuiti. Il software viene installato come un container Docker e può quindi essere eseguito praticamente ovunque. In questo articolo vi mostriamo la routine di installazione da seguire e vi forniamo alcuni consigli utili.
Utilizzate Portainer per gestire i vostri cluster Kubernetes su un VPS di IONOS.
Cos’è Portainer?
Portainer è già stato introdotto come un’alternativa flessibile a OpenShift nel nostro articolo al riguardo. A differenza di OpenShift, Portainer non è una distribuzione Kubernetes a sé stante. Il software open source, infatti, centralizza e unifica la gestione delle infrastrutture cluster esistenti attraverso l’utilizzo di un’interfaccia grafica basata sul web. Oltre alla “Community Edition” (CE) gratuita, è anche disponibile una versione a pagamento completa di supporto aziendale.
L’obiettivo principale di Portainer è quello di unificare la gestione delle implementazioni Kubernetes esistenti. Portainer consente ai team DevOps di configurare, proteggere e gestire centralmente gli ambienti multi-cluster. Inoltre, anche i team di sviluppo possono trarre vantaggio dal software, che facilita anche la distribuzione, la gestione e la risoluzione dei problemi delle applicazioni.
Convenientemente, Portainer non è solo adatto come interfaccia di gestione per Kubernetes ma consente anche la gestione di cluster o container basata su Docker e Docker Swarm. Il software può essere installato praticamente ovunque e può essere eseguito su ambienti cloud e dispositivi edge così come sulla vostra infrastruttura informatica on-premises, cioè in loco. Nei paragrafi seguenti vi mostriamo come installare Portainer per Docker.
Seguite il nostro tutorial su Docker per impostare Docker sul vostro sistema locale.
Come installare Portainer per Docker?
Per capire come installare Portainer, bisogna comprenderne l’architettura di base, composta da due componenti che vengono installati individualmente come container Docker:
- Un server Portainer come istanza centralizzata. Include un database e richiede un livello di archiviazione per la memorizzazione dei dati. Il server Portainer gestisce l’ambiente Docker locale e, se necessario, altri ambienti collegati tramite agenti.
- Più agenti Portainer, se necessario, per gestire ulteriori ambienti. Un’istanza dell’agente Portainer viene eseguita su ogni nodo del cluster da gestire.
Sia il server Portainer che gli agenti vengono eseguiti come contenitori sull’infrastruttura esistente. Ciò perché gli agenti comunicano con il server e affinché questa interazione funzioni, il server e gli agenti devono essere sulla stessa rete. Inoltre, vi sono anche degli agenti edge che vengono eseguiti come istanze su dispositivi remoti. La particolarità di questi agenti è che comunicano con il server attraverso i confini della rete tramite un tunnel TLS criptato.
Di seguito vi mostreremo l’installazione del server e dell’agente Portainer per Docker (standalone) in riferimento alla Community Edition (CE) versione 2.9.3 e utilizzando Docker Desktop come base. Quest’ultimo è eseguibile solo su Windows e macOS, sebbene l’installazione su Linux sia quasi identica. Fate attenzione che per l’uso produttivo, i server e gli agenti vengono eseguiti su macchine diverse.
Installare il server Portainer per Docker Desktop
Dato che il server Portainer è disponibile come immagine Docker, il processo di installazione è abbastanza semplice. Di seguito vi mostriamo come fare in pochi semplici passaggi.
- Per prima cosa, bisognerà creare un volume Docker che contenga i dati gestiti dal server Portainer:
docker volume create Portainer_data
- Successivamente, dovrete verificare che il volume Docker chiamato ‘Portainer_data’ esista:
docker volume ls
- A questo punto si potrà passare all’installazione del server Portainer vero e proprio. Avviate il server come container Docker a partire dall’immagine Docker corrispondente. A meno che l’immagine non sia locale, verrà scaricata automaticamente:
docker run -d -p 8000:8000 -p 9443:9443 --name Portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v Portainer_data:/data \
cr.Portainer.io/Portainer/Portainer-ce:2.9.3
- Successivamente, dovrete controllare che il container Docker chiamato ‘Portainer’ sia in esecuzione:
docker ps
Configurare il server Portainer per Docker
Se il server Portainer è stato installato correttamente, l’interfaccia web di Portainer sarà accessibile sull’host locale alla porta specificata. In questo caso, è la porta 9443. Arrivati a questo punto dovrete configurare il server Portainer.
- Per prima cosa, è necessario richiamare l’interfaccia web di Portainer nel browser: https://localhost:9443.
- Quando si usa Portainer per la prima volta, bisognerà creare un utente admin prima di impostare Portainer.
Come impostazione predefinita, l’installazione di Portainer utilizza un certificato SSL auto firmato per proteggere l’interfaccia web tramite HTTPS. Quando si effettua l’accesso, è probabile visualizzare un messaggio di avviso a seconda del browser e del sistema operativo utilizzati, che può essere aggirato in pochi clic, come mostrato nelle schermate seguenti.
Aggiornare il server Portainer per Docker Desktop
Il processo di aggiornamento del server Portainer è strettamente legato alla routine di installazione. Pertanto, anche in questo caso ve ne mostriamo i passaggi:
- Per prima cosa, bisognerà fermare il container in esecuzione del server Portainer:
docker stop Portainer
- Successivamente, dovrete rimuovere il container:
docker rm Portainer
- In preparazione per l’aggiornamento, scaricate l’ultima immagine del server Portainer:
docker pull cr.Portainer.io/Portainer/Portainer-ce:2.9.3
- Per eseguire l’aggiornamento, riavviate il container del server Portainer dall’immagine corrente:
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 \
--name=Portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v Portainer_data:/data \
cr.Portainer.io/Portainer/Portainer-ce:2.9.3
Installare l’agente Portainer per Docker
L’agente Portainer non è necessario per eseguire un’installazione locale su Docker. Tuttavia, se si desidera gestire più ambienti in modo centralizzato, è possibile installare l’agente su ogni macchina da collegare. Dato che l’agente Portainer è disponibile come container Docker, il processo di installazione è semplice. Tutto quello che dovete fare è eseguire il seguente comando sul sistema di destinazione:
docker run -d -p 9001:9001 --name Portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
cr.Portainer.io/Portainer/agent:2.9.3