DevOps ha cambiato notevolmente il modo in cui gli ingegneri e gli sviluppatori di software sviluppano e distribuiscono applicazioni. Una delle tecnologie al centro di questa rivoluzione è Kubernetes.
Esploriamo come puoi installare un'istanza locale di Kubernetes su Ubuntu usando MicroK8s (MicroKates). Con questa configurazione in atto, puoi ospitare facilmente applicazioni container in modo sicuro, affidabile e altamente scalabile.
Perché usare MicroK8s?
Kubernetes è una piattaforma open source che aiuta a semplificare le operazioni DevOps automatizzando la distribuzione, la scalabilità e la gestione delle applicazioni containerizzate. Kubernetes è anche popolarmente conosciuto come K8s, il nome derivato dal conteggio delle otto lettere tra K e S nel nome Kubernetes. Pensa a MicroK8 come a un'istanza di Micro Kubernetes.
La maggior parte degli ambienti cloud pubblici e privati di livello di produzione che eseguono Ubuntu utilizzano Charmed Kubernetes per la gestione delle app containerizzate. La sfida con Charmed Kubernetes, tuttavia, è che è affamato di risorse e richiede un buon livello di conoscenza per essere configurato correttamente.
È qui che entra in gioco MicroK8s. MicroK8s è un Kubernetes upstream piccolo e leggero che può essere eseguito sul PC di uno sviluppatore, su un dispositivo IoT o su dispositivi edge in modo nativo senza la necessità di una macchina virtuale. MicroK8s è multipiattaforma e può essere eseguito su entrambe le architetture Intel e ARM.
MicroK8s ti offre uno dei modi migliori per familiarizzare con Kubernetes, con il minimo attrito. È un Kubernetes upstream certificato dalla Cloud Native Computing Foundation (CNCF), che garantisce che le implementazioni di Kubernetes sono conformi e interoperabili in base al settore specificato standard.
Passaggio 1: installazione di MicroK8 su Ubuntu
Puoi facilmente installare MicroK8s su Ubuntu usando il comando snap.
sudo snap install microk8s --classic
In alternativa, puoi installare MicroK8 dalla GUI utilizzando Ubuntu Software Center. Basta cercare microk8s e quindi fare clic su Installare pulsante.
Passaggio 2: configurazione del firewall per MicroK8s
Per garantire una comunicazione senza interruzioni tra i pod e con Internet, dovresti abilitare la comunicazione in entrata e in uscita sull'interfaccia di rete del contenitore del tuo firewall.
Un pod è la più piccola unità di calcolo distribuibile in Kubernetes; può essere un singolo o un gruppo di contenitori con storage condiviso e risorse di rete, ecc.
sudo ufw consenti l'accesso a cni0 && sudo ufw consenti l'accesso a cni0
Quindi, esegui il seguente comando:
sudo ufw default allow routed
Per saperne di piùCome configurare il firewall di Ubuntu con UFW
Passaggio 3: aggiunta dell'utente al gruppo MicroK8s
Al momento, dovrai usare il sudo comando per eseguire la maggior parte dei comandi MicroK8s. Sebbene questa sia una buona misura di sicurezza su un server di produzione, potrebbe non essere necessaria su una macchina di sviluppo.
Aggiungi il tuo utente al gruppo MicroK8s per evitare di usare sudo.
sudo usermod -aG microk8s $USER
Inoltre, rendi il tuo utente attuale il proprietario del ~/.kube directory.
sudo chown -f -R $USER ~/.kube
Affinché le modifiche abbiano effetto, ricaricare i gruppi di utenti eseguendo il comando seguente:
newgrp microk8s
Per saperne di più: Come gestire i gruppi di utenti su Linux
Passaggio 4: abilitazione di componenti aggiuntivi importanti
Per impostazione predefinita, MicroK8s contiene il minimo indispensabile per ottenere un ingombro minimo sui dispositivi edge e IoT. Tuttavia, puoi installare alcuni componenti aggiuntivi importanti per gestire i servizi MicroK8s. Abilita i componenti aggiuntivi DNS, dashboard e storage con il microk8s comando.
microk8s abilita l'archiviazione del dashboard DNS
Il componente aggiuntivo DNS potrebbe essere richiesto da altri servizi, quindi si consiglia di abilitarlo sempre.
L'add-on dashboard offre una panoramica grafica dei servizi in MicroK8s; puoi utilizzarlo anche per la gestione dei servizi.
È possibile visualizzare un elenco dei componenti aggiuntivi MicroK8 disponibili eseguendo il comando:
stato microk8s
Passaggio 5: visualizzazione del dashboard di MicroK8s
Ora che hai abilitato il componente aggiuntivo della dashboard, puoi accedere facilmente alla dashboard di MicroK8s dal tuo browser web.
Innanzitutto, è necessario l'indirizzo IP del pod della dashboard. Puoi ottenerlo eseguendo il comando:
microk8s kubectl ottiene tutti --all-namespaces
Dall'output del comando sopra, noterai che il kubernetes-dashboard il servizio è in esecuzione sull'indirizzo IP 10.152.183.35 ed è in ascolto sulla porta TCP 443. Tieni presente che questo indirizzo IP potrebbe essere diverso da quello utilizzato dal tuo servizio dashboard perché è generato in modo casuale.
Nel tuo browser, vai all'indirizzo IP elencato. In questo caso, sarà https://10.152.183.35:443. Assicurati di puntare all'URL corretto.
Per motivi di sicurezza, la dashboard di Kubernetes ti richiederà i dettagli di autenticazione per accedere. È possibile accedere al token del dashboard predefinito eseguendo il comando seguente. Quindi copia il kubernetes.io/service-account-token presentato e incollarlo nell'input del token.
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system descrive segreto $token
La dashboard presenta una panoramica dei carichi di lavoro, dei servizi, della configurazione, dei cluster, ecc. di MicroK8.
Passaggio 6: creazione di un servizio con MicroK8s
Per vedere i MicroK8 in azione, creiamo una distribuzione del servizio microbot che contenga due pod. Crea il pod usando il kubectl comando:
microk8s kubectl crea microbot di distribuzione --image=dontrebootme/microbot: v1
Ridimensiona il pod del microbot utilizzando il comando seguente.
microk8s distribuzione scala kubectl microbot --replicas=2
Crea un servizio per esporre la distribuzione del microbot.
microk8s kubectl esporre microbot di distribuzione --type=NodePort --port=80 --name=microbot-service
Ora abbiamo distribuito due pod microbot con il nome servizio/servizio-microbot. Puoi visualizzare i dettagli del servizio microbot e di altri servizi eseguendo il comando seguente:
microk8s kubectl ottiene tutti --all-namespaces
Noterai che il servizio microbot è in esecuzione su una NodePort, quindi puoi accedervi tramite il browser del tuo PC. In questo caso, il servizio è in esecuzione sulla porta 30353 generata casualmente.
Nel tuo browser, vai all'URL http://localhost: 30353, dove 30353 è il numero di porta elencato nell'output sopra. Assicurati di utilizzare il numero di porta corretto.
Kubernetes contro Docker: quale scegliere?
Questa guida ha esaminato come installare un footprint minimo di Kubernetes localmente sul tuo PC o dispositivo periferico. Kubernetes fa parte del flusso di lavoro di molti sviluppatori ed è ampiamente utilizzato per la distribuzione di applicazioni containerizzate su larga scala in produzione.
Kubernetes viene utilizzato per gestire o orchestrare un gruppo di contenitori, ad es. contenitori docker, con facilità. Standalone Docker, invece, viene utilizzato principalmente per la gestione di singoli container. La scelta se utilizzare Docker o Kubernetes dipenderà dalle competenze del tuo team e dalle dimensioni del software da distribuire alla produzione.
La scelta di un sistema di contenitori per è una scelta semplice tra due sistemi. Dovresti scegliere Kubernetes o Docker?
Leggi Avanti
- Linux
- Ubuntu
- Sviluppo di app
Mwiza sviluppa software di professione e scrive ampiamente su Linux e programmazione front-end. Alcuni dei suoi interessi includono storia, economia, politica e architettura d'impresa.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti