Kubernetes · 3 min read · Dec 14, 2025

Pod statici in Kuberentes

I Pod statici sono gestiti direttamente dal kubelet e il server API non ha alcun controllo su questi pod. Il kubelet è responsabile di monitorare ogni Pod statico e riavviarlo se si arresta in modo anomalo. I Pod statici in esecuzione su un nodo sono visibili sul server API ma non possono essere controllati dal server API. Un Pod statico non ha alcun controller di replica associato, il servizio kubelet stesso lo monitora e lo riavvia quando si arresta. Non c’è alcun controllo di integrità per i pod statici. Il processo kubelet monitora la directory specifica designata per i Pod statici.

Per saperne di più sui Pod statici, visita la pagina ufficiale di Kubernetes qui.

In questo articolo, vedremo i passaggi per creare un Pod statico dal file salvato nella posizione predefinita da cui kubelet legge i manifest e cambieremo anche la posizione predefinita in un’altra directory e vedremo come creare un pod statico da lì. Creeremo pod statici sul nodo Worker.

Requisiti

  1. Cluster Kubernetes con almeno 1 nodo worker.
    Se vuoi imparare a creare un Cluster Kubernetes, clicca qui. Questa guida ti aiuterà a creare un cluster Kubernetes con 1 Master e 2 Nodi su AWS Ubuntu 18.04 EC2 Instances.

Cosa faremo?

  1. Creare Pod statici

Creare Pod statici

Esegui i seguenti comandi dal nodo master per ottenere i dettagli dei nodi e dei pod nel cluster.

$master kubectl  get nodes
$master kubectl  get pods

get-all-pods

Puoi controllare i contenitori in esecuzione come parte dei pod

$worker docker ps
$worker docker ps -a

Ora, accedi al nodo worker e crea un nuovo file con il seguente contenuto nel percorso predefinito dei manifest dei pod statici.

$worker vim /etc/kubernetes/manifests/static-web.yaml
apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    role: myrole
spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP

static-pod-definition-at-default-location

Non appena crei una definizione di pod nella posizione predefinita del manifest dei pod statici, il pod viene creato e non è controllato dal server API.

Puoi controllare il pod appena creato con il seguente comando per elencare i pod da tutti i namespace dal nodo master.

$master kubectl  get pods
$master kubectl  get pods --all-namespaces

static-pod-created

Per controllare i contenitori creati come parte del Pod, esegui il seguente comando sul nodo worker

$worker docker ps
$worker docker ps -a

Possiamo anche cambiare la posizione predefinita da cui kubelet legge i manifest.

Ora crea una nuova cartella in cui vorremmo memorizzare i manifest dei Pod statici.

Qui, stiamo creando “/etc/kubelet.d/“.

$worker mkdir -p /etc/kubelet.d/

Crea un file di definizione del pod nella directory che abbiamo creato.

$worker vim /etc/kubelet.d/static-web.yaml
apiVersion: v1
kind: Pod
metadata:
  name: static-web-2
  labels:
    role: myrole
spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP

Per cambiare il percorso predefinito da cui Kubelet legge i manifest dei Pod statici, modifica il file /var/lib/kubelet/config.yaml e cambia il valore di “staticPodPath” in “staticPodPath=/etc/kubelet.d”.

change-static-pod-path

Una volta che la configurazione è in atto, riavvia il servizio Kubelet

$worker systemctl restart kubelet

Non appena il servizio viene riavviato, Kubelet rileva la nuova posizione e legge i manifest da quella posizione e crea i pod.

Controlla se il pod è stato creato o meno.

$master kubectl  get pods

Controlla il contenitore creato come parte del Pod sul nodo worker utilizzando il seguente comando.

$worker docker ps

Conclusione

In questo articolo, abbiamo visto i passaggi per creare pod statici e abbiamo anche visto la modifica della configurazione richiesta in Kubelet per cambiare la directory predefinita per i manifest dei Pod statici.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.