Creare ed eliminare pod
Si applica a: AKS su Azure Local 22H2, AKS su Windows Server
Kubernetes usa i pod per eseguire un'istanza dell'applicazione. Questo articolo descrive come creare ed eliminare pod quando si gestiscono i carichi di lavoro nel servizio Azure Kubernetes abilitati da Azure Arc.
Un pod rappresenta una singola istanza di un'applicazione. Ogni pod ha uno o più contenitori distribuiti insieme in un singolo host. Un pod è l'unità di esecuzione più piccola in Kubernetes. Un indirizzo IP interno e una porta vengono assegnati a un pod, tramite cui i contenitori all'interno del pod possono condividere una rete e un'archiviazione comuni. Come un servizio, un volume e uno spazio dei nomi, un pod è un oggetto Kubernetes di base. I pod vengono eseguiti nei nodi e hanno un ciclo di vita definito, durante il quale vengono eseguiti fino a quando i contenitori non vengono rimossi.
Creare un pod
Prima di creare un pod, è necessario configurare un host del servizio Azure Kubernetes e creare cluster del servizio Azure Kubernetes usando Windows PowerShell. È anche possibile usare Windows Admin Center per configurare l'host e creare i cluster.
Per assicurarsi di essere connessi al cluster Kubernetes, eseguire il comando seguente:
kubectl get nodes
Per creare un pod, eseguire il comando seguente. In questo esempio viene creato un pod usando un'immagine nginx:
kubectl run nginx --image=nginx --restart=Never
Quando si imposta il parametro -restart=Never
, Kubernetes crea un singolo pod anziché creare una distribuzione.
Per visualizzare lo stato del pod, eseguire il comando seguente:
kubectl get pods
Per visualizzare l'intera configurazione del pod, eseguire il comando seguente:
kubectl describe pod nginx
Eliminare un pod
Per eliminare un pod creato, eseguire il comando seguente:
kubectl delete pod
Configurazione di pod di esempio
L'esempio YAML seguente descrive le funzionalità di un pod e mostra come si tratta dell'unità più piccola di Kubernetes che può essere definita, distribuita e gestita:
apiVersion: v1
kind: Pod
metadata:
labels:
app: nginx
name: nginx
namespace: calico-demo
spec:
containers:
- name: nginx
image: nginx:1.8
ports:
- containerPort: 80
nodeSelector:
beta.kubernetes.io/os: linux