GNU/Linux >> Linux Esercitazione >  >> Linux

Nozioni di base su Kubernetes per amministratori di sistema

Nella prima di una serie in due parti, questo articolo esamina le somiglianze e le differenze nei contenitori, nelle macchine virtuali e sui pro e contro di ciascuna tecnologia. Guardo anche Kubernetes (spesso scritto come K8s) e perché è nato.

Contenitori

Nei termini più semplici, pensa ai container come scatole standard di software che possono essere utilizzate come unità di distribuzione autonoma in qualsiasi infrastruttura. I contenitori vengono forniti in bundle con il codice e tutte le dipendenze all'interno. Sono leggeri, autonomi e contengono tutti i runtime, le impostazioni e gli strumenti di sistema necessari per eseguire le applicazioni.

Macchine virtuali

Le macchine virtuali (VM) sono programmi in modalità sandbox (macchine guest) che si comportano proprio come macchine fisiche e vengono eseguiti su hardware fisico e sistemi operativi (macchine host). La virtualizzazione è come creare più macchine all'interno di una macchina. Il software all'interno della macchina virtuale non interferisce con il sistema operativo host. Ciò rende le macchine virtuali ideali per testare applicazioni beta, sezionare e studiare file infetti da virus ed esplorare qualsiasi altro software che non si desidera posizionare su un sistema fisico. I sistemi host di macchine virtuali sono progettati e attrezzati per ospitare più macchine virtuali, da poche a diverse dozzine a seconda delle tecnologie e dell'hardware coinvolti.

[ Ai lettori è piaciuto anche: Automatizzare l'implementazione della macchina virtuale con Ansible:Design ]

Ogni macchina virtuale utilizza la propria CPU virtuale, memoria, disco rigido, schede di rete (schede di interfaccia di rete), che vengono mappate alle risorse fisiche della macchina. Fondamentalmente, le macchine virtuali sono ambienti di test che possono farti risparmiare denaro, tempo e altre risorse grazie alla loro disponibilità, tempi di costruzione rapidi e portabilità tra host. Le macchine virtuali forniscono ambienti sicuri per testare il software e le applicazioni più recenti senza il rischio di danneggiare il sistema host fisico.

Nota:sebbene le macchine virtuali e gli host siano logicamente separati l'uno dall'altro, le macchine virtuali stesse non sono né più né meno sicure di un sistema operativo autonomo su una macchina fisica. E i sistemi in rete, fisici o virtuali, sono ugualmente vulnerabili agli attacchi e alle sfide basati sulla rete.

Esistono differenze fondamentali tra VM e container

Ora che conosci la definizione e alcuni casi d'uso per VM e container, puoi confrontare le principali differenze tra VM e container nella tabella seguente:

Kubernetes

Kubernetes è un sistema open source per automatizzare la distribuzione, il ridimensionamento e la gestione delle applicazioni containerizzate. K8s, precedentemente noto come Borg, è stato utilizzato da Google prima che diventasse un progetto open source. Ora è mantenuto e gestito dalla CNCF (Cloud Native Computing Foundation). I K8 raggruppano i contenitori in un'unità logica chiamata pod. I pod formano applicazioni. I pod consentono inoltre una facile gestione e individuazione.

Perché dovremmo usare Kubernetes?

Quando i microservizi e il cloud hanno iniziato a crescere, è stato necessario gestire migliaia di container in esecuzione su un sistema. Ciò era dovuto in parte ai requisiti di disponibilità elevata e ad altre necessità.

I principali vantaggi di Kubernetes includono:

  • Lancio e rollback automatizzati:aiuta con l'implementazione automatica delle modifiche assicurandosi che tutti i pod non si interrompano contemporaneamente. Monitora lo stato di salute e può essere utilizzato per annullare le modifiche.
  • Scoperta del servizio e bilanciamento del carico:aiuta a fornire ai pod (che sono wrapper per i container) i propri indirizzi IP e un unico nome DNS. K8s aiuta anche a bilanciare il carico.
  • Topologia del servizio:aiuta a instradare il traffico del servizio in base alla topologia del cluster.
  • Orchestrazione dell'archiviazione:monta il sistema di archiviazione di tua scelta, come l'archiviazione locale o i servizi di archiviazione del provider cloud.
  • Ridimensionamento:aumenta o diminuisce l'applicazione in base all'utilizzo della CPU tramite CLI o GUI.
  • Auto-riparazione:riavvia i contenitori non riusciti, elimina i contenitori che non rispondono alle richieste degli utenti e aiuta a richiamare i contenitori che non rispondono al controllo dello stato.

Casi d'uso, efficienza e riduzione dei costi

Hai visto i vantaggi dei K8, ma ora ti mostrerò perché qualsiasi azienda può trarre vantaggio da Kubernetes. Le aziende hanno bisogno che i loro prodotti siano disponibili per i loro clienti in modo rapido e affidabile. Kubernetes aiuta a realizzare esattamente questo. Suddivide i tuoi componenti in microservizi, che possono essere al centro dei team più piccoli. Le parti vengono successivamente integrate insieme tramite API. In questo modo, ogni team ha un focus minore e rende più veloce il processo di rilascio generale.

Scalabilità migliorata

Nei tempi moderni, in cui il carico dell'utente cambia in modo dinamico, non si sa mai quando si verificheranno i tempi di inattività. Diciamo che hai una vendita lampo programmata in un giorno particolare. In quel giorno, la disponibilità della tua applicazione ai clienti è d'obbligo. Kubernetes aiuta a ridimensionare i pod, che mantengono la funzionalità. Inoltre, quando la vendita è terminata, ridimensiona i pod, il che fornisce una riduzione automatica dei costi.

Disponibile per ambienti multi-cloud

Il più grande vantaggio di Kubernetes è che aiuta le aziende a distribuire le proprie app su vari ambienti cloud pubblici e privati. Ti consente di utilizzare cloud ibridi, che evitano il blocco del fornitore. Consente inoltre alle aziende di migrare i propri carichi di lavoro, offrendo loro il massimo ritorno sull'investimento (ROI).

[ Impara le basi dell'uso di Kubernetes in questo cheat sheet gratuito. ] 

Concludi

Questo singolo articolo non può coprire tutti i casi d'uso per Kubernetes, ma ora hai un'idea di come è nato K8, di cosa si tratta e cosa può fare per te.


Linux
  1. 10 guide ai contenitori per gli amministratori di sistema

  2. Demistificare Ansible per gli amministratori di sistema Linux

  3. 5 suggerimenti avanzati di rsync per gli amministratori di sistema Linux

  4. 80 strumenti di monitoraggio Linux per SysAdmins

  5. Porta seriale virtuale per Linux

VLAN per amministratori di sistema:le basi

I primi cinque plugin di Vim per gli amministratori di sistema

Guida rapida ad Ansible per amministratori di sistema Linux

Traefik per i contenitori Docker su Ubuntu

30 Esercizi sulle autorizzazioni Linux per amministratori di sistema

40 utili comandi di rete Linux per i moderni amministratori di sistema