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.

instagram viewer

È 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.

Quale sistema di container dovresti usare: Kubernetes o Docker?

La scelta di un sistema di contenitori per è una scelta semplice tra due sistemi. Dovresti scegliere Kubernetes o Docker?

Leggi Avanti

CondividereTweetE-mail
Argomenti correlati
  • Linux
  • Ubuntu
  • Sviluppo di app
Circa l'autore
Mwiza Kumwenda (43 articoli pubblicati)

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.

Altro da Mwiza Kumwenda

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti