GNU/Linux >> Linux Esercitazione >  >> Linux

Come distribuire il tuo primo pod su un cluster Kubernetes

In questo articolo vedremo come creare il nostro primo Pod su Kubernetes Cluster. Vedremo i passaggi per creare un pod per Nginx.

A Pod è l'unità di esecuzione di base di un'applicazione Kubernetes. Si tratta di una raccolta di container distribuiti insieme sullo stesso host. I pod in un cluster Kubernetes possono essere utilizzati in due modi:

  1. Pod che eseguono un singolo contenitore: Questo è il modo più popolare di utilizzare un Pod. Kubernetes gestisce i pod invece di gestire direttamente i container.
  2. Pod che eseguono più contenitori che devono lavorare insieme: In questo modello, un pod può avere più contenitori strettamente accoppiati per condividere le risorse.

Come affermato in precedenza, un Pod può contenere più contenitori, si consiglia sempre di avere un unico contenitore quando possibile. Il raggruppamento di più contenitori in un singolo Pod è un caso d'uso relativamente avanzato. Dovresti usare questo modello solo in casi specifici in cui i tuoi contenitori sono strettamente accoppiati.

Se distribuiamo un singolo contenitore, in genere possiamo sostituire la parola "pod" con "container". I pod consentono la condivisione dei dati e la comunicazione tra i loro componenti.

Un pod viene sempre eseguito su un nodo. Un nodo è una macchina di lavoro in Kubernetes e può essere una macchina virtuale o fisica, a seconda del cluster. Ogni Nodo è gestito dal Master. Un nodo può avere più pod e il master Kubernetes gestisce automaticamente la pianificazione dei pod tra i nodi nel cluster.

Le 5 fasi del ciclo di vita di un pod

  1. In attesa : Il Pod è stato accettato dal sistema Kubernetes, ma una o più immagini del contenitore non sono state create. Ciò include il tempo prima della pianificazione e il tempo speso per scaricare le immagini sulla rete, che potrebbe richiedere del tempo.
  2. Correndo : Il Pod è stato associato a un nodo e tutti i contenitori sono stati creati. Almeno un container è ancora in esecuzione o è in fase di avvio o riavvio.
  3. Riuscito : tutti i container nel pod sono terminati con successo e non verranno riavviati.
  4. Non riuscito : tutti i container nel Pod sono terminati e almeno un container è terminato per errore. Cioè, il contenitore è uscito con uno stato diverso da zero o è stato terminato dal sistema.
  5. Sconosciuto : Per qualche motivo non è stato possibile ottenere lo stato del Pod, in genere a causa di un errore nella comunicazione con l'host del Pod.

Prerequisiti

  1. Account AWS (crea se non ne hai uno)
  2. Cluster Kubernetes (cerca "Configura un cluster Kubernetes su un'istanza AWS EC2 Ubuntu 18.04 LTS utilizzando kubeadm" se vuoi imparare a creare un cluster Kubernetes).

Nota:puoi utilizzare anche le VM per creare un cluster se non vuoi provare su istanze AWS EC2.

Cosa faremo

  1. Crea un Kubernetes Pod per NginX ed eliminalo

Crea un pod Kubernetes per Nginx

Per creare il nostro primo pod, creiamo semplicemente una nuova directory per creare il nostro file oggetto/pod. Usa il comando seguente per creare una nuova directory nel tuo sistema

mkdir my-first-pod
cd my-first-pod/

Prima di procedere, verifica lo stato del cluster.

Per controllare i nodi disponibili nel cluster e per verificare la versione di "kubectl " usa i seguenti comandi.

sudo kubectl ottieni nodi
versione sudo kubectl

Usa il comando seguente per elencare i pod nello spazio dei nomi predefinito. Poiché questo sarà il nostro primo pod sul Cluster, non vedrai alcun pod nello spazio dei nomi predefinito.

sudo kubectl ottieni i pod

Una volta che hai i Nodi disponibili nel cluster, sei pronto per creare il tuo primo pod.

Crea un file "my-first-pod.yml" con il seguente blocco di codice

vim il mio-primo-pod.yml

---
apiVersion: v1
kind: Pod
metadata:
  name: myfirstpod
  labels:
    app: web
spec:
  containers:
    - name: myfirstcontainer
      image: nginx
      ports:
        - containerPort: 80

Qui,

  • apiVersion :APIVersion definisce lo schema con versione di questa rappresentazione di un oggetto.
  • gentile :Tipo di oggetto che vuoi creare. Ecco il pod poiché stiamo creando un pod.
  • nome :Il nome deve essere univoco all'interno di uno spazio dei nomi.
  • etichette :Mappa di chiavi e valori di stringa che possono essere utilizzati per organizzare e classificare gli oggetti
  • specifica :Specifica del comportamento desiderato del pod.

Ora sei pronto per creare il tuo pod usando i seguenti comandi.

sudo kubectl apply -f my-first-pod.yml 

Puoi ottenere i dettagli dei pod usando il comando seguente.

sudo kubectl ottieni i pod

Per confermare se il Pod è effettivamente in esecuzione, esegui il comando seguente. Questo esegue un comando all'interno del nostro pod (Nota:è simile all'esecuzione di docker exec .)

sudo kubectl exec myfirstpod — stato del servizio nginx

Se non hai più necessità del pod, puoi eliminarlo utilizzando il "comando kubectl delete".

sudo kubectl elimina i pod myfirstpod

Infine per verificare se il pod è stato eliminato usa il comando seguente.

sudo kubectl ottieni i pod

Conclusione

In questo articolo, abbiamo appreso le cose di base sui Pod, le loro fasi del ciclo di vita. Abbiamo visto i passaggi per creare il nostro primo Nginx Pod su Kubernetes. Abbiamo visto anche come estrarre i dettagli riguardanti il ​​Pod. Insieme a questo, abbiamo esplorato il comando per eliminare il Pod.


Linux
  1. Come distribuire il cluster Redis su Kubernetes

  2. Come eseguire MongoDB su Kubernetes

  3. Come distribuire RabbitMQ su Kubernetes

  4. Come distribuire PostgreSQL su Kubernetes

  5. Come creare il tuo sito Plesk

Come distribuire il cluster Kubernetes su AWS con Amazon EKS

Come creare e gestire i pod Kubernetes in Linux

Come creare il tuo primo programma Java su CentOS 8

Come creare il tuo primo programma Java in Debian 10

Come distribuire CouchDB come cluster con Docker

Come distribuire un servizio in un cluster Docker Swarm