0Pricing
Kubernetes Basics · Lezione

Esposizione delle app con i Service

Comprenda il ruolo dei Service nel fornire endpoint di rete stabili per i Pod.

Esposizione delle app con i Service è una lezione Kubernetes Basics gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kubernetes Basics, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kubernetes Basics include 4 lezioni in totale.

Pod: presenti oggi, scomparsi domani

In Kubernetes, i Pod sono le più piccole unità distribuibili. Sono progettati per essere temporanei e Kubernetes può crearli, distruggerli o spostarli in qualsiasi momento.

Questa flessibilità è ottima per la resilienza, ma crea una difficoltà: come fanno le altre applicazioni a trovare e comunicare in modo affidabile con questi Pod in continua evoluzione?

Il problema del bersaglio mobile

Ogni Pod riceve un proprio indirizzo IP. Quando un Pod viene riavviato o la sua scala viene modificata, spesso riceve un nuovo indirizzo IP. Collegarsi direttamente all'IP di un Pod è come cercare di colpire un bersaglio mobile!

Immagini un'applicazione web con più Pod. Se un Pod viene riavviato, il suo IP cambia e le connessioni degli altri servizi o degli utenti si interrompono.

I Service in soccorso

È qui che entrano in gioco i Service Kubernetes! Un Service fornisce un endpoint di rete stabile e fisso per un insieme di Pod.

Lo si può considerare un indirizzo permanente per l'applicazione, anche se i Pod sottostanti cambiano continuamente i propri indirizzi.

Un gateway stabile per i Pod

Un Service funge da livello di astrazione sopra un gruppo di Pod. Fornisce loro un unico indirizzo IP e un nome DNS coerenti.

  • Le altre applicazioni usano l'IP o il nome stabile del Service.
  • Il Service instrada quindi il traffico verso i Pod integri che gestisce.
  • In questo modo i client non dipendono dagli IP dei singoli Pod.

Collegare i Service ai Pod

Come fa un Service a sapere verso quali Pod instradare il traffico? Usa label e selettori!

Quando si definisce un Service, si specifica un selector. Qualsiasi Pod che corrisponde a queste label entra automaticamente a far parte del gruppo del Service.

Questa associazione dinamica consente di aggiungere automaticamente i nuovi Pod e rimuovere quelli non integri.

Dirigere il traffico di rete

I Service gestiscono il flusso del traffico di rete. Definiscono le porte per mappare le richieste in ingresso sulle porte corrette dei Pod.

Concetti fondamentali relativi alle porte:

  • port: la porta sulla quale è in ascolto il Service.
  • targetPort: la porta del Pod verso la quale il Service inoltra il traffico.

Creare un manifest di Service

Come la maggior parte delle risorse Kubernetes, i Service vengono definiti usando file YAML. Vediamo la struttura di base:

  • apiVersion: v1
  • kind: Service
  • metadata: nome, label
  • spec: contiene la definizione principale, inclusi selector e ports.

Il primo Service: ClusterIP

Il tipo di Service più comune per la comunicazione interna è ClusterIP. Espone il Service su un indirizzo IP interno al cluster.

Ecco un esempio per una semplice applicazione web:

apiVersion: v1
kind: Service
metadata:
  name: my-web-service
spec:
  selector:
    app: my-webapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

Distribuire il Service

Una volta disponibile il file YAML del Service, è possibile distribuirlo nel cluster usando kubectl, proprio come si fa con i Pod o i Deployment.

Questo comando indica a Kubernetes di creare il Service in base alla definizione fornita:

kubectl apply -f service.yaml

Usare il nuovo Service

Dopo la distribuzione, il Service riceve un IP stabile e un nome DNS all'interno del cluster. Gli altri Pod possono ora raggiungere l'applicazione usando questo nome.

Ad esempio, un altro Pod potrebbe connettersi a my-web-service:80 e il Service gestirebbe l'instradamento verso i Pod my-webapp corretti.

Verifica dei Service

Ha imparato che i Service Kubernetes forniscono un accesso di rete stabile a Pod dinamici.

Quale delle seguenti descrizioni esprime meglio il ruolo principale di un Service Kubernetes?

Riepilogo: connessioni stabili

Ottimo lavoro! In questa lezione abbiamo esplorato i Service Kubernetes.

  • I Pod sono effimeri e hanno IP dinamici.
  • I Service forniscono endpoint di rete stabili per i Pod.
  • Usano i selettori per individuare i Pod di destinazione.
  • I Service mappano port esterne su targetPort interne.
  • ClusterIP è un tipo comune per la comunicazione interna.

Nel prossimo argomento approfondiremo i diversi tipi di Service e i relativi utilizzi!

Domande Frequenti

La lezione «Esposizione delle app con i Service» è gratuita?

Sì — il testo completo di «Esposizione delle app con i Service» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kubernetes Basics, passa a CoddyKit PRO. Il corso Kubernetes Basics include 4 lezioni in totale.

Cosa imparerò in «Esposizione delle app con i Service»?

Comprenda il ruolo dei Service nel fornire endpoint di rete stabili per i Pod. Eserciti Kubernetes Basics con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Kubernetes Basics?

Non è richiesta alcuna esperienza precedente. Kubernetes Basics su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Esposizione delle app con i Service»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Kubernetes Basics?

Sì. Ogni lezione Kubernetes Basics include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Esposizione delle app con i Service
  2. Tipi di Service: ClusterIP, NodePort, LoadBalancer
  3. Ingress per l'accesso esterno
  4. DNS e service discovery
← Torna a Kubernetes Basics