Come creare ed eseguire un app con Docker e Kubernetes

10 lug 2023 3 min di lettura
Come creare ed eseguire un app con Docker e Kubernetes
Indice dei contenuti

Introduzione

Benvenuti a questo tutorial su Docker e Kubernetes, due strumenti fondamentali per lo sviluppo e il deployment di applicazioni in un'architettura di microservizi. Questi due strumenti sono diventati standard di settore per la gestione di container e l'orchestrazione di cluster, rispettivamente.

In questo tutorial, vi guideremo passo dopo passo nella creazione e nell'esecuzione di una semplice applicazione utilizzando Docker e Kubernetes. Imparerete a creare un'immagine Docker per la vostra applicazione, a eseguire l'immagine in un container Docker e infine a distribuire il vostro container su un cluster Kubernetes.

Questo tutorial è destinato a coloro che hanno già una conoscenza di base di Docker e Kubernetes. Se sei nuovo a questi strumenti, ti consigliamo di familiarizzare con i concetti di base prima di procedere. Se invece hai già familiarità con Docker e Kubernetes e vuoi approfondire la tua conoscenza, questo tutorial è l'ideale per te.

Prima di iniziare, assicurati di avere installato Docker e Kubernetes sul tuo computer. Inoltre, avrai bisogno di un editor di testo per scrivere il codice per la tua applicazione.

Parte 1: Docker

Docker ci permette di containerizzare le nostre applicazioni, rendendo possibile l'esecuzione in qualsiasi ambiente che supporta Docker.

Step 1: Installare Docker

Visita il sito ufficiale di Docker e segui le istruzioni per installare Docker sul tuo sistema operativo.

Step 2: Creare un Dockerfile

Un Dockerfile è uno script che contiene le istruzioni per creare un'immagine Docker. Creiamo un semplice Dockerfile per un'applicazione Node.js.

Crea un nuovo file chiamato Dockerfile e inserisci il seguente codice:

# Usa l'immagine ufficiale Node.js per la fase di build
FROM node:14 AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .

# Fase di esecuzione
FROM node:14-alpine
WORKDIR /app
COPY --from=build /app .
EXPOSE 8080
CMD [ "node", "app.js" ]

Questo Dockerfile prima crea un'immagine con Node.js e copia il tuo codice sorgente nell'immagine (fase di build). Poi crea un'immagine più piccola basata su Node.js Alpine e copia l'applicazione dalla fase di build. L'applicazione viene eseguita sulla porta 8080.

Step 3: Costruire l'immagine Docker

Esegui il seguente comando per costruire l'immagine Docker:

docker build -t my-node-app .

Step 4: Eseguire l'immagine Docker

Una volta costruita l'immagine, puoi eseguirla con il seguente comando:

docker run -p 8080:8080 my-node-app

Ora la tua applicazione dovrebbe essere in esecuzione e accessibile alla porta 8080.

Parte 2: Kubernetes

Kubernetes ci permette di gestire, scalare e distribuire facilmente le nostre applicazioni containerizzate.

Step 1: Installare Kubernetes

Visita il sito ufficiale di Kubernetes e segui le istruzioni per installare Kubernetes sul tuo sistema operativo.

Step 2: Creare un file di configurazione Kubernetes

Un file di configurazione Kubernetes (chiamato anche manifest) definisce le risorse che vuoi creare nel tuo cluster Kubernetes. Creiamo un semplice file di configurazione per la nostra applicazione Node.js.

Crea un nuovo file chiamato my-node-app.yaml e inserisci il seguente codice:

apiVersion: v1
kind: Service
metadata:
  name: my-node-app
  labels:
    app: my-node-app
spec:
  ports:
  - port: 8080
    targetPort: 8080
  selector:
    app: my-node-app
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-node-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-node-app
  template:
    metadata:
      labels:
        app: my-node-app
    spec:
      containers:
      - name: my-node-app
        image: my-node-app:latest
        ports:
        - containerPort: 8080

Questo file definisce un servizio e un deployment per la nostra applicazione. Il deployment crea tre pod, ognuno con una copia della nostra applicazione, e il servizio rende l'applicazione accessibile alla porta 8080.

Step 3: Eseguire l'applicazione nel cluster Kubernetes

Esegui il seguente comando per creare le risorse definite nel file di configurazione:

kubectl apply -f my-node-app.yaml

Ora la tua applicazione dovrebbe essere in esecuzione nel tuo cluster Kubernetes e accessibile alla porta 8080.

Conclusione

Congratulazioni! Hai appena creato un'applicazione containerizzata con Docker ed eseguito tale applicazione in un cluster Kubernetes. Ricorda, questo è solo un tutorial di base. Docker e Kubernetes offrono molte altre funzionalità che ti permettono di creare applicazioni potenti e scalabili.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.