Tutorial de Kubernetes: una guia completa per a Kubernetes



Aquest bloc sobre el tutorial de Kubernetes us guiarà a través de tots els conceptes del sistema d’orquestració de contenidors.

Kubernetes és una plataforma que elimina els processos manuals implicats en el desplegament d'aplicacions en contenidors. En aquest bloc sobre el tutorial de Kubernetes, repassareu tots els conceptes relacionats amb aquesta solució de gestió de contenidors múltiples.

En aquest tutorial es tractaran els temes següents:





Ara, abans de seguir endavant en aquest bloc, permeteu-me informar-vos ràpidament sobre la contenerització.

Per tant, abans que existissin els contenidors, els desenvolupadors i els provadors sempre tenien un tiff entre ells. Normalment, això passava perquè allò que funcionava al costat de la dev, no funcionaria al costat de la prova. Tots dos van existir en entorns diferents. Ara, per evitar aquests escenaris, es van introduir contenidors de manera que tant els desenvolupadors com els provadors estiguessin a la mateixa pàgina.



Manejar un gran nombre de contenidors junts també era un problema. De vegades, mentre s’executaven contenidors, pel que fa al producte, es plantejaven poques qüestions que no estaven presents a l’etapa de desenvolupament. Aquest tipus d’escenaris van introduir el sistema d’orquestració de contenidors.

Abans d’endinsar-me profundament en el sistema d’orquestració, deixeu-me fer una llista ràpida dels reptes als quals s’enfronta sense aquest sistema.



Tutorial de Kubernetes: reptes sense orquestració de contenidors

Reptes sense orquestració de contenidors - Tutorial de Kubernetes - Edureka

què és ressò a php

Com podeu veure al diagrama anterior quan diversos serveis s'executen dins de contenidors, és possible que vulgueu escalar aquests contenidors. En les indústries a gran escala, això és realment difícil de fer. Això es deu al fet que augmentaria el cost del manteniment dels serveis i la complexitat per executar-los un al costat de l’altre.

Ara, per evitar configurar els serveis manualment i superar els reptes, calia una cosa important. Aquí és on apareix Container Orchestration Engine.

Aquest motor ens permet organitzar diversos contenidors, de manera que es llancin totes les màquines subjacents, els contenidors siguin saludables i es distribueixin en un entorn agrupat. Al món actual, hi ha principalment dos motors d’aquest tipus: Governadors & Esquadró Docker .

Kubernetes Tutorial: Kubernetes vs Docker Swarm

Governadors i Esquadró Docker són les principals eines d’orquestració de contenidors del mercat actual. Per tant, abans d’utilitzar-los a prod, heu de saber què són exactament i com funcionen.

A més, al bloc vaig a submergir-me profundament en Kubernetes, però per saber sobre Docker podeu fer clic a .

Com podeu fer referència a la imatge anterior, Kubernetes, en comparació amb Docker Swarm, posseeix una gran comunitat activa i permet l’escala automàtica en moltes organitzacions. De la mateixa manera, Docker Swarm té un clúster fàcil d’iniciar en comparació amb Kubernetes, però es limita a les capacitats de l’API Docker.

Bé, gent, aquestes no són les úniques diferències entre aquestes eines principals. Si voleu conèixer les diferències detallades entre aquestes dues eines d’orquestració de contenidors, podeu fer clic

T’interessa saber més sobre Kubernetes?

Si pogués triar la meva selecció entre tots dos, hauria de ser Kubernetes ja que els contenidors s’han de gestionar i connectar al món exterior per a tasques com la programació, l’equilibri de càrrega i la distribució.

Però, si es pensa lògicament, Docker Swarm seria una opció millor, ja que funciona a sobre de Docker, oi? Si jo fos tu, definitivament m’hauria confós sobre quina eina utilitzar. Però vaja, Kubernetes és un líder indiscutible del mercat i també funciona a sobre dels contenidors Docker amb millors funcionalitats.

Ara, que heu entès la necessitat de Kubernetes, és un bon moment, que us ho dic Què és Kubernetes?

Kubernetes Tutorial: Què és Kubernetes?

és un codi obert sistema que gestiona la tasca de programació de contenidors en un clúster de càlcul i que gestiona les càrregues de treball per assegurar-se que s'executin tal com vol l'usuari. Com que ha estat creat per Google, ofereix una comunitat excel·lent i treballa de manera brillant amb tots els proveïdors de núvol per convertir-se en un solució de gestió de múltiples contenidors.

Kubernetes Tutorial: Funcions de Kubernetes

Les característiques de Kubernetes són les següents:

  • Programació automàtica: Kubernetes proporciona un planificador avançat per iniciar contenidors en nodes de clúster en funció dels seus requisits de recursos i altres restriccions, sense sacrificar la disponibilitat.
  • Capacitats d'autocuració: Kubernetes permet substituir i reprogramar els contenidors quan els nodes moren. També mata els contenidors que no responen a la comprovació de salut definida per l’usuari i no els anuncia als clients fins que no estan preparats per publicar-se.
  • Llançaments i retrocessos automàtics: Kubernetes llança canvis a l’aplicació o a la seva configuració mentre supervisa la salut de l’aplicació per garantir que no mori totes les vostres instàncies al mateix temps. Si alguna cosa no funciona, amb Kubernetes podeu recuperar el canvi.
  • Escala horitzontal i equilibri de càrrega: Kubernetes pot ampliar i reduir l’aplicació segons els requisits amb una senzilla ordre, mitjançant una interfície d’usuari o automàticament en funció de l’ús de la CPU.

Kubernetes Tutorial: Arquitectura Kubernetes

Kubernetes Architecture té els components principals següents:

  • Nodes mestres
  • Nodes treballadors / esclaus

Vaig a parlar de cadascun d'ells un per un. Per tant, inicialment comencem per entendre el Node mestre .

Node mestre

El node mestre és responsable de la gestió del clúster de Kubernetes. És principalment el punt d’entrada per a totes les tasques administratives. Hi pot haver més d’un node mestre al clúster per comprovar la tolerància a fallades.

Com podeu veure al diagrama anterior, el node mestre té diversos components com ara el servidor API, el controlador, el programador i l'ETCD.

  • Servidor API: El servidor API és el punt d’entrada de totes les ordres REST utilitzades per controlar el clúster.
  • Gestor del controlador: És un dimoni que regula el clúster Kubernetes i gestiona diferents bucles de control que no acaben.
  • Programador: El planificador programa les tasques als nodes esclaus. Emmagatzema la informació d’ús de recursos per a cada node esclau.
  • ETCD: ETCD és un magatzem de valor-clau senzill, distribuït i coherent. S’utilitza principalment per a la configuració compartida i el descobriment de serveis.

Nodes treballadors / esclaus

Els nodes de treball contenen tots els serveis necessaris per gestionar la xarxa entre els contenidors, comunicar-se amb el node mestre i assignar recursos als contenidors programats.

Com podeu veure al diagrama anterior, el node treballador té diversos components com Docker Container, Kubelet, Kube-proxy i Pods.

  • Contenidor Docker: Docker s'executa en cadascun dels nodes de treball i executa els pods configurats
  • Kubelet: Kubelet obté la configuració d'un Pod del servidor API i garanteix que els contenidors descrits estiguin en funcionament.
  • Representant de Cuba: Kube-proxy actua com a servidor intermediari de xarxa i com a equilibrador de càrrega per a un servei en un sol node de treballador
  • Beines: Un pod és un o més contenidors que lògicament funcionen junts en nodes.

Si voleu una explicació detallada de tots els components d’Arquitectura Kubernetes, podeu consultar la nostra bloc a

Voleu obtenir la certificació a Kubernetes?

Kubernetes Tutorial: Estudi de cas de Kubernetes

I ahoo! JAPÓ és un proveïdor de serveis web amb seu a Sunnyvale, Califòrnia. Com que la companyia pretenia virtualitzar el maquinari, la companyia va començar a utilitzar-la OpenStack el 2012. El seu entorn intern va canviar molt ràpidament. No obstant això, a causa del progrés de la tecnologia de núvols i contenidors, la companyia volia la capacapacitat de llançar serveis en diverses plataformes.

Problema: Com es poden crear imatges per a totes les plataformes necessàries a partir d’un codi d’aplicació i desplegar-les a cada plataforma?

Per a una millor comprensió, consulteu la imatge següent. Quan es canvia el codi al registre de codi, les imatges de metall nu, els contenidors Docker i les imatges de màquina virtual es creen mitjançant eines d’integració contínua, s’introdueixen al registre d’imatges i es desplegen a cada plataforma d’infraestructura.


Ara, centrem-nos en el flux de treball de contenidors per entendre com utilitzaven Kubernetes com a plataforma de desplegament. Consulteu la imatge següent per fer un cop d'ull a l'arquitectura de la plataforma.

S’utilitzen instàncies d’OpenStack, amb Docker, Kubernetes, Calico, etcd per realitzar diverses operacions com la creació de xarxes de contenidors, el registre de contenidors, etc.

Quan teniu diversos clústers, és difícil gestionar-los, oi?

Per tant, només volien crear un clúster OpenStack senzill i bàsic per proporcionar la funcionalitat bàsica necessària per a Kubernetes i facilitar l’administració de l’entorn OpenStack.

Mitjançant la combinació del flux de treball de creació d’imatges i Kubernetes, van crear la cadena d’eines següent, que facilita l’entrada des del codi fins al desplegament.


Aquest tipus de cadena d’eines s’assegurava que es tinguessin en compte tots els factors per al desplegament de la producció, com ara l’arrendament múltiple, l’autenticació, l’emmagatzematge, la creació de xarxes i la detecció de serveis.

java converteix binari en decimal

Així és com la gent, Yahoo! JAPÓ va crear una cadena d’eines d’automatització per al desplegament de codi “amb un clic” a Kubernetes que s’executa a OpenStack, amb ajuda de Google i Solinea .

Tutorial sobre governadors: pràctiques

En aquest manual, us mostraré com crear un desplegament i un servei. Estic fent servir una instància Amazon EC2 per utilitzar Kubernetes. Bé, Amazon se n’ha acudit Servei de contenidors elàstics d’Amazon per Governadors (Amazon EKS) , que els permet crear clústers Kubernetes al núvol de manera ràpida i senzilla. Si voleu obtenir-ne més informació, podeu consultar el bloc

Pas 1: Primer creeu una carpeta dins del qual crearà el vostre desplegament i servei. Després, utilitzeu un editor i obriu un fitxer de desplegament .

mkdir handsOn cd handsOn vi Deploy.yaml

Pas 2: Un cop obert el fitxer de desplegament, mencioneu totes les especificacions de l'aplicació que voleu desplegar. Aquí estic intentant desplegar un fitxer httpd aplicació.

apiVersion: apps / v1 # Defineix el tipus de versió de l'API: el paràmetre Deployment #Kinds defineix quin tipus de fitxer és, aquí es tracta Metadades de desplegament: nom: dep1 # Emmagatzema el nom de l'especificació de desplegament: # A Especificacions, esmenteu tot les especificacions per a les rèpliques de desplegament: 3 # El nombre de rèpliques seria 3 selector: matchLabels: app: httpd # El nom de la etiqueta que es cercaria és la plantilla httpd: metadades: labels: app: httpd # El nom del model seria httpd spec: # A sota Especificacions, s'esmenten totes les especificacions dels contenidors de contenidors: - nom: httpd # El nom dels contenidors seria httpd imatge: httpd: última # La imatge que s'ha de descarregar és httpd: darrers ports: - containerPort: 80 # L'aplicació estaria exposat al port 80

Pas 3: Després d’escriure el fitxer de desplegament, apliqueu-lo mitjançant l’ordre següent.

kubectl apply -f Deploy.yaml

Aquí -f és un nom de bandera utilitzattarxivanom.

Pas 4: Ara, un cop aplicat el desplegament, obteniu la llista de pods en execució.

kubectl aconsegueix beines amples

Aquí, -o wide s’utilitzen per saber en quin node s’executa el desplegament.

Pas 5: Després de crear un desplegament, ara heu de crear un servei. Per això, torneu a utilitzar un editor i obriu un espai en blanc servei. fitxer yaml .

vi service.yaml

Pas 6: Un cop obert un fitxer de servei, mencioneu totes les especificacions del servei.

apiVersion: v1 # Defineix el tipus de versió de l'API: el paràmetre #Kinds de servei defineix quin tipus de fitxer és, aquí es tracta de metadades del servei: nom: netsvc # Emmagatzema el nom de l'especificació del servei: # A Especificacions, esmenteu totes les especificacions per al tipus de servei: selector NodePort: app: ports httpd: -protocol: port TCP: 80 targetPort: 8084 # El número de port Target és 8084

Pas 7: Després d’escriure el fitxer de servei, apliqueu-lo mitjançant l’ordre següent.

kubectl apply -f service.yaml

Pas 8: Ara, un cop aplicat el servei, comproveu si el servei s’executa o no utilitzeu l’ordre següent.

kubectl aconsegueix svc

Pas 9: Ara, per veure les especificacions del servei i comprovar quin punt final ésvinculat a, utilitzeu l'ordre següent.

kubectl descriu svc

Pas 10: Ara, ja que fem servir la instància amazon ec2, per obtenir la pàgina web i comprovar la sortida, utilitzeu l'ordre següent.

curl adreça IP

Si heu trobat aquest bloc de tutorial de Kubernetes rellevant, consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món.

Tens alguna pregunta? Esmenteu-lo a la secció de comentaris de ' Kubernetes Tutorial ”I em posaré en contacte amb vosaltres.