GNU/Linux >> Linux Esercitazione >  >> Cent OS

Cos'è Istio? - Architettura, caratteristiche, vantaggi e sfide

Introduzione

La protezione e il monitoraggio dei carichi di lavoro è la massima priorità quando si lavora con i microservizi. Il monitoraggio è un compito difficile se eseguito manualmente. Gli sviluppatori devono configurare ogni servizio per garantire una comunicazione sicura all'interno del sistema. Inoltre, devono monitorare gli scambi, il che richiede tempo. Tempo che si sarebbe potuto dedicare allo sviluppo dell'app stessa.

Al contrario, esiste una soluzione molto più semplice:utilizzare una piattaforma mesh di servizi come Istio .

In questo tutorial imparerai a conoscere Istio, la sua architettura e come viene utilizzata.

Cos'è Istio? – Definizione di Istio Service Mesh

Istio è un'implementazione della rete di servizi open source che gestisce la comunicazione e la condivisione dei dati tra i microservizi. La piattaforma viene aggiunta per ridurre la complessità della gestione dei servizi di rete.

Una volta installato, inietta i proxy all'interno di un pod Kubernetes, accanto al contenitore dell'applicazione. Ogni proxy è configurato per intercettare le richieste e instradare il traffico al servizio appropriato durante l'applicazione dei criteri.

Perché la necessità di una rete di servizi?

Passando dall'architettura monolitica a quella di microservizi, gli sviluppatori hanno l'opportunità di creare applicazioni altamente flessibili, resilienti e scalabili all'interno di cicli di vita di sviluppo software molto più rapidi. Sebbene l'architettura del microservizio offra molti vantaggi, l'evoluzione nello sviluppo delle applicazioni comporta anche alcune sfide.

Poiché l'architettura è composta da molti servizi individuali che lavorano insieme, è importante garantire una comunicazione senza interruzioni. Questi componenti autonomi comunicano tra loro tramite le API. Tuttavia, la gestione del flusso di traffico e delle chiamate API richiede molto tempo e impegno da parte del team di sviluppo.

Era necessaria una soluzione di terze parti che consentisse ai membri del team di concentrarsi sullo sviluppo della logica del servizio anziché della logica di rete. Pertanto, le mesh di servizi come Istio sono state progettate per gestire il livello di rete della comunicazione da servizio a servizio.

Istio Architettura

L'architettura Istio comprende due componenti principali:

  • Piano di controllo. Questo componente viene utilizzato per configurare e gestire i proxy nel piano dati.
  • Piano dati. Il secondo elemento di Istio comprende tutti i proxy sidecar inseriti all'interno dei pod.

Piano di controllo

Prima della versione 1.5, l'aereo di controllo era un gruppo di diversi componenti:Pilota, Cittadella e Galea. Istio 1.5 ha introdotto Istiod , un piano di controllo che combinava i suddetti componenti in uno solo. Istiod ha semplificato la configurazione e il funzionamento della rete di servizi.

I servizi Istio nel piano di controllo includono:

  • Pilota utilizza l'API Envoy per comunicare con i sidecar di Envoy. È responsabile della gestione del traffico, del routing e del rilevamento dei servizi.
  • Cittadella fornisce comunicazioni sicure tra i servizi gestendo l'autenticazione utente, il certificato e la gestione delle credenziali.
  • Camera è responsabile della gestione, importazione, distribuzione ed elaborazione della configurazione.

Piano dati

Il piano dati è composto da Envoy proxy schierato nei pod come sidecar. Interagiscono e gestiscono il traffico per tutti i servizi all'interno del sistema. Ciò include il controllo di tutte le comunicazioni di rete tra i microservizi.

Dal momento che vengono aggiunti come sidecar, non è necessario riprogettare l'architettura dell'applicazione per implementare i proxy.

I proxy controllano il traffico specificando regole di routing (per HTTP, gRPC, TCP) e applicando TLS e crittografia del traffico.

Tutto il traffico passa attraverso i proxy Envoy. Pertanto, questi componenti raccolgono grandi quantità di dati e forniscono informazioni preziose sul traffico aziendale.

I proxy Envoy forniscono:

  • Scoperta dinamica dei servizi
  • Bilanciamento del carico
  • Controlli sanitari
  • Terminazione TLS
  • Proxy HTTP/2 e gRPC
  • Interruttori automatici
  • Lancio graduale con suddivisione del traffico in percentuale
  • Iniezione difettosa
  • Metriche avanzate

Caratteristiche di Istio

Le caratteristiche più importanti della piattaforma sono:

1. Controllo del traffico
La caratteristica principale di Istio è il suo ruolo nella gestione del traffico. Controlla il flusso di traffico tra i servizi implementando regole di instradamento tramite i suoi proxy Envoy. Distribuendo proxy, Istio dirige il traffico e le chiamate API senza apportare modifiche al servizio stesso. Ciò consente agli utenti di eseguire implementazioni Canary, implementazioni graduali e test A/B.

2. Osservabilità
La piattaforma controlla e osserva tutto il traffico in entrata e in uscita all'interno del livello di rete. Pertanto, raccoglie grandi quantità di dati che forniscono informazioni utili per lo sviluppo futuro.

3. Sicurezza
Mentre gli sviluppatori proteggono l'applicazione da potenziali minacce e hack, Istio autorizza, autentica e crittografa tutte le comunicazioni interne. Pod e servizi comunicano tra loro e trasferiscono i dati secondo le politiche di Istio.

Istio vantaggi e svantaggi

Per aiutarti a decidere se implementare o meno Istio nell'architettura del microservizio, dai un'occhiata ad alcuni dei suoi vantaggi e svantaggi.

Vantaggi

  • Dà informazioni dettagliate sui problemi di prestazioni della rete.
  • Protegge la comunicazione da servizio a servizio e da pod a pod.
  • Implementa regole e criteri di routing che gestiscono la comunicazione e il trasferimento dei dati.
  • Abilita implementazioni Canary e test A/B.

Svantaggi

  • Istio richiede molto tempo per la configurazione e l'implementazione.
  • Inoltre, è difficile configurare i file .yaml per garantire la corretta configurazione e la comunicazione crittografata.

Cent OS
  1. Quali caratteristiche ci sono in Zsh e mancano da Bash o viceversa?

  2. Quali vantaggi vedrei l'aggiornamento dal 14.04 al 15.04 e quali sono alcuni avvertimenti??

  3. Perché Deis e che cos'è?

  4. CentOS / RHEL:nozioni di base su anacron (Cos'è anacron e come configurarlo)

  5. Cosa sono le modalità SELinux e come impostarle

Caratteristiche e data di rilascio di Ubuntu 22.04

Novità di Fedora 25 Workstation

Data di rilascio e funzionalità di Ubuntu 17.04

Rilascio di Ubuntu 18.10, funzionalità e altro

Cos'è l'automazione e la gestione della configurazione con CHEF – Parte 1

Cos'è EasyApache e come si usa?