In questo articolo vedremo come creare la tua prima distribuzione su un cluster Kubernetes. Ad esempio, creeremo una distribuzione per NginX.
Una volta che abbiamo un cluster Kubernetes in esecuzione, possiamo distribuire le nostre applicazioni containerizzate su di esso. Possiamo creare una configurazione di distribuzione di Kubernetes per raggiungere questo obiettivo.
Una distribuzione fornisce aggiornamenti dichiarativi per pod e replicaSet. Descriviamo uno stato desiderato in Deployment e il Deployment Controller cambia lo stato effettivo nello stato desiderato a una velocità controllata.
Possiamo creare e gestire una distribuzione utilizzando l'interfaccia della riga di comando "kubectl" di Kubernetes. Kubectl utilizza l'API Kubernetes per interagire con il cluster.
Ci sono tre fasi in un ciclo di vita della distribuzione:
- Avanzamento : Kubernetes contrassegna una distribuzione come in corso quando la distribuzione crea un nuovo ReplicaSet, la distribuzione sta aumentando il suo ReplicaSet più recente o riducendo il suo ReplicaSet precedente o i nuovi pod diventano pronti o disponibili
- Completo : Kubernetes contrassegna una distribuzione come completa quando tutte le repliche associate alla distribuzione sono state aggiornate, sono disponibili, nessuna replica precedente per la distribuzione è in esecuzione.
- Non riuscito : Ciò può verificarsi a causa di una quota insufficiente, errori del probe di disponibilità, errori di pull dell'immagine, autorizzazioni insufficienti.
Prerequisiti
- Account AWS (crea se non ne hai uno)
- Un cluster Kubernetes
Nota:puoi utilizzare anche le VM per creare un cluster se non desideri provare su istanze AWS EC2.
Cosa faremo
- Crea una distribuzione Kubenetes per NginX
Crea una distribuzione Kubenetes per NginX
Per creare la nostra prima distribuzione, creiamo semplicemente una nuova directory per creare il nostro file Object/Deployment. Utilizza il comando seguente per creare una nuova directory nel tuo sistema
mkdir my-first-deployment
cd my-first-deployment/
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.
versione sudo kubectl
sudo kubectl get nodes
Una volta che hai nodi disponibili nel tuo cluster, sei pronto per creare la tua distribuzione.
Crea un file "my-first-deployment.yml" con il seguente blocco di codice
vim my-first-deployment.yml
--- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
Qui,
- apiVersion : APIVersion definisce lo schema con versione di questa rappresentazione di un oggetto.
- gentile :tipo di oggetto che vuoi creare come Deployment, Service, Configmap e altro.
- 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 per la distribuzione.
- replica : Numero di pod desiderati.
- selettore : Selettore di etichette per i pod. I ReplicaSet esistenti i cui pod sono selezionati da questo saranno quelli interessati da questa distribuzione. Deve corrispondere alle etichette del modello del pod.
Ora sei pronto per creare la tua distribuzione utilizzando i seguenti comandi.
sudo kubectl apply -f my-first-deployment.yml
sudo kubectl get deployments
Nella schermata sopra puoi vedere che la distribuzione è stata creata con due pod disponibili per l'uso.
Puoi ottenere i dettagli dei pod utilizzando il comando seguente.
sudo kubectl ottieni i pod
Se vuoi saperne di più sull'implementazione, puoi utilizzare questo comando "kubectl describe" per ottenere i dettagli completi dell'implementazione.
sudo kubectl ottieni le implementazioni
sudo kubectl descrivi le implementazioni nginx-deployment
Se non hai più bisogno della distribuzione, puoi eliminarla utilizzando il "comando kubectl delete".
sudo kubectl get deployments
sudo kubectl delete deployments nginx-deployment
sudo kubectl get deployment
Nello screenshot sopra, puoi vedere che la distribuzione non è più disponibile dopo che è stata eliminata.
Una volta eliminata la distribuzione, anche i pod vengono eliminati.
Puoi verificare la disponibilità dei pod usando il seguente comando.
sudo kubectl ottieni i pod
Nella schermata sopra, puoi vedere che i pod sono stati eliminati dopo aver eliminato la distribuzione e non sono disponibili.
Conclusione
In questo articolo, abbiamo visto i passaggi per creare la tua prima distribuzione NginX su Kubernetes. Abbiamo anche visto come possono essere estratti i dettagli relativi alla distribuzione. Insieme a questo, abbiamo esplorato i comandi per eliminare la distribuzione.