Comprensió de l’arquitectura de Kubernetes

Aprenem en detall l’arquitectura de Kubernetes.


Suposo que teniu una comprensió bàsica de Kubernetes. Si no, consulteu els articles d’instal·lació i introducció següents.

Introducció a Kubernetes per a principiants

Com instal·lar Kubernetes a Ubuntu 18?

Kubernetes segueix l’arquitectura mestre-esclau. L’arquitectura Kubernetes té un node mestre i nodes treballadors. Hi ha quatre components d’una node mestre.

  • Servidor API Kube
  • controlador
  • planificador
  • etc.

I la node treballador té tres components.

  • kubelet
  • kube-proxy
  • temps d’execució de contenidors

Així és com sembla una arquitectura de Kubernetes:

arquitectura kubernetes

Permeteu-me que us expliqui amb detall els components del node principal i dels nodes treballadors.

Node mestre

El node mestre gestiona el clúster de Kubernetes i és el punt d’entrada de totes les tasques administratives. Podeu parlar amb el node mestre mitjançant la CLI, la GUI o l’API. Per assolir la tolerància a les falles, hi pot haver més d’un node mestre al clúster. Quan tinguem més d’un node mestre, existiria el mode d’alta disponibilitat i amb un líder que realitzés totes les operacions. Tots els altres nodes mestre serien els seguidors d’aquest node mestre líder.

A més, per gestionar l’estat del clúster, Kubernetes utilitza etcd. Tots els nodes mestres es connecten a etcd, que és un magatzem de valor de claus distribuït.

node mestre de kubernetes

Permeteu-me que us expliqui tots aquests components, un per un.

Servidor API

API Server realitza totes les tasques administratives del node mestre. Un usuari envia les ordres de resta al servidor de l’API, que després valida les sol·licituds, després les processa i les executa. etcd guarda l’estat resultant del clúster com a magatzem de valor de claus distribuït.

Planificador

Després d’això, tenim un planificador. Així, tal com el seu nom indica, el planificador programa la feina a diferents nodes de treballadors. Té informació d’ús de recursos per a cada node treballador. El planificador també considera la qualitat dels requisits del servei, la localitat de les dades i molts altres paràmetres. A continuació, el planificador programa la feina en termes de beines i serveis.

Gestor de controladors

Els bucles de control no terminants que regulen l’estat del clúster Kubernetes són gestionats pel Control Manager. Ara, cadascun d’aquests bucles de control sap sobre l’estat desitjat de l’objecte que gestiona i, a continuació, miren el seu estat actual a través dels servidors API.

En un bucle de control, si l’estat desitjat no compleix l’estat actual de l’objecte, el bucle de control els fa els passos correctius perquè l’estat actual sigui el mateix que l’estat desitjat. Així doncs, el gestor del controlador s’assegura que l’estat actual sigui el mateix que l’estat desitjat.

etc.

L’excd és un magatzem de valor de claus distribuït que s’utilitza per emmagatzemar l’estat del clúster. O sigui, ha de formar part del mestre de Kubernetes, o bé també podeu configurar-lo externament. etcd està escrit al goLang i es basa en el codi Consens de la bassa algorisme.

La bassa permet que la recollida de màquines funcioni com un grup coherent que pugui sobreviure als fracassos d’alguns dels seus membres. Tot i que alguns dels membres no funcionen, aquest algorisme encara pot funcionar en un moment donat. Un dels nodes del grup serà el mestre, i la resta seran els seguidors.

Només hi pot haver un mestre i tots els altres amos han de seguir aquest mestre. A més d’emmagatzemar l’estat del clúster, etcd també s’utilitza per emmagatzemar els detalls de configuració com ara les subxarxes i els mapes de configuració.

Node Treballador

Un node treballador és un servidor virtual o físic que gestiona les aplicacions i està controlat pel node mestre. Les beines estan programades als nodes del treballador, que tenen les eines necessàries per executar-les i connectar-les. Les beines no són sinó una col·lecció de contenidors.

I per accedir a les aplicacions des del món extern, heu de connectar-vos als nodes treballadors i no als nodes mestres.

node treballador kubernetes

Examinem els components del node del treballador.

Runtime del contenidor

El temps d’execució del contenidor s’utilitza bàsicament per executar i gestionar un cicle de vida continuat al node treballador. Alguns exemples de temps d’execució de contenidors que us puc donar són els contenidors rkt, lxc, etc. Sovint s’observa que el docker també es coneix com a temps d’execució de contenidors, però, per ser més precisos, permeteu-me dir-vos que docker és una plataforma que utilitza contenidors. com a temps d’execució del contenidor.

Kubelet

Kubelet és bàsicament un agent que s’executa en cada node treballador i es comunica amb el node mestre. Per tant, si teniu deu nodes treballadors, el kubelet s’executa a cada node de treballador. Rep la definició de pod per diversos mitjans i executa els contenidors associats amb aquest port. També s’assegura que els envasos que formen part de les beines siguin sempre saludables.

El kubelet es connecta al temps d’execució del contenidor mitjançant el framework gRPC. El kubelet es connecta a la interfície d’execució del contenidor (CRI) per realitzar operacions de contenidors i imatges. El servei d’imatges és responsable de totes les operacions relacionades amb la imatge, mentre que el servei d’execució és responsable de totes les operacions relacionades amb la guia i el contenidor. Aquests dos serveis tenen a terme dues operacions diferents.

Permeteu-me que us expliqui alguna cosa interessant, els temps d’execució de contenidors solen ser codificats en Kubernetes, però amb el desenvolupament de CRI, Kubernetes ara pot utilitzar diferents temps d’execució de contenidors sense necessitat de recompilar. Així doncs, qualsevol temps d’execució de contenidors que implementi CRI pot ser utilitzat per Kubernetes per gestionar podes, contenidors i imatges de contenidors. Els contenidors CIM i Docker shim són dos exemples de CRI shim. Amb el docker shim, els contenidors es creen mitjançant docker instal·lat als nodes treballadors i, internament, docker utilitza un contenidor per crear i gestionar contenidors

Kube-proxy

El proxy Kube s’executa en cada node treballador com a servidor intermediari de xarxa. Escolta el servidor API per a cada creació o supressió del punt de servei. Per a cada punt de servei, kube-proxy estableix les rutes perquè hi pugui arribar.

Conclusió

Espero que això us ajudi a comprendre l’arquitectura de Kubernetes d’una manera millor. Les habilitats de Kubernetes sempre estan a la carta i, si voleu aprendre a construir la carrera, mireu-ho Curs Udemy.

Tags:

  • Atracador

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map