Docker - Architettura Kubernetes

Kubernetes è un framework di orchestrazione per container Docker che aiuta a esporre i container come servizi al mondo esterno. Ad esempio, puoi avere due servizi: un servizio conterrebbenginx e mongoDBe un altro servizio conterrebbe nginx e redis. Ogni servizio può avere un IP o un punto di servizio che può essere connesso da altre applicazioni. Kubernetes viene quindi utilizzato per gestire questi servizi.

Il diagramma seguente mostra in un formato semplicistico come funziona Kubernetes dal punto di vista dell'architettura.

Il minionè il nodo su cui vengono eseguiti tutti i servizi. Puoi avere molti servitori in esecuzione in un momento. Ogni seguace ospiterà uno o più POD. OgniPODè come ospitare un servizio. Ogni POD contiene quindi i contenitori Docker. Ogni POD può ospitare un diverso set di container Docker. Il proxy viene quindi utilizzato per controllare l'esposizione di questi servizi al mondo esterno.

Kubernetes ha diversi componenti nella sua architettura. Il ruolo di ogni componente è spiegato di seguito & mius;

  • etcd - Questo componente è altamente disponibile key-value negozio utilizzato per l'archiviazione shared configuration e service discovery. Qui le varie applicazioni potranno connettersi ai servizi tramite ildiscovery service.

  • Flannel - Questa è una rete di backend necessaria per i contenitori.

  • kube-apiserver - Questa è un'API che può essere utilizzata per orchestrare i contenitori Docker.

  • kube-controller-manager - Viene utilizzato per controllare il file Kubernetes services.

  • kube-scheduler - Viene utilizzato per pianificare i contenitori sugli host.

  • Kubelet - Viene utilizzato per controllare l'avvio dei container tramite manifest files.

  • kube-proxy - Viene utilizzato per fornire servizi proxy di rete al mondo esterno.