Gestión de objetos usando kubectl

kubectl es la herramienta de línea de comandos para interactuar con la API de Kubernetes. Proporciona una interfaz sencilla para crear, modificar y eliminar objetos en el clúster.

Operaciones básicas con kubectl

Crear objetos

kubectl create -f archivo.yaml

Crea recursos definidos en un archivo YAML o JSON.

Listar objetos

kubectl get pods
kubectl get deployments
kubectl get services

Muestra recursos del tipo especificado.

Describir objetos

kubectl describe pod mi-pod

Muestra información detallada sobre un recurso específico.

Editar objetos

kubectl edit deployment mi-deployment

Abre el recurso en el editor por defecto para modificarlo.

Eliminar objetos

kubectl delete pod mi-pod
kubectl delete -f archivo.yaml

Elimina recursos especificados por nombre o archivo.

Gestión de etiquetas

Agregar etiquetas

kubectl label pods mi-pod app=frontend

Actualizar etiquetas

kubectl label --overwrite pods mi-pod app=backend

Eliminar etiquetas

kubectl label pods mi-pod app-

Etiquetas recomendadas

Kubernetes sugiere usar estas etiquetas estándar para mantener consistencia:

Etiqueta Ejemplo Descripción
app.kubernetes.io/name mysql Nombre de la aplicación
app.kubernetes.io/instance mysql-abc123 Identificador único de instancia
app.kubernetes.io/version 5.7.21 Versión actual de la aplicación
app.kubernetes.io/component database Componente dentro de la arquitectura

Filtrado y selección

Filtrar por etiqueta

kubectl get pods -l app=frontend

Filtrar por campo

kubectl get pods --field-selector=status.phase=Running

Operaciones en lote

kubectl apply -f directorio/
kubectl delete pods --all
kubectl get all --all-namespaces

Consejos para kubectl