Kubernetes Kubernetes

Configura un clúster local y empieza con kubectl

Ejecuta un clúster de un solo nodo con minikube, conéctate con kubectl y aprende los comandos que usarás a diario.

10 min Principiante

Los clústeres de producción tienen muchos nodos, pero para aprender quieres uno en tu propia máquina. Opciones comunes son minikube, kind y la opción de Kubernetes integrada en Docker Desktop. Esta guía usa minikube con el driver de Docker. Los comandos de kubectl son idénticos en cualquiera de ellos, y en cualquier clúster real.

Instala una herramienta de contenedores, minikube y kubectl

minikube necesita un runtime de contenedores o una máquina virtual para alojar su nodo. Docker es la opción más común, así que instala primero Docker Desktop (o Docker Engine en Linux) y asegúrate de que está en ejecución. Luego instala minikube y kubectl. En macOS con Homebrew:

brew install minikube kubectl

Para otros sistemas, sigue la página de instalación de minikube y la documentación de instalación de kubectl, que tienen instrucciones actuales para cada sistema operativo. minikube necesita aproximadamente 2 CPU, 2 GB de memoria libre y 20 GB de disco.

Inicia el clúster

minikube start --driver=docker
minikube status

El primer inicio es lento porque minikube descarga las imágenes que necesita. El ajuste del driver significa que todo el nodo de minikube se ejecuta como un contenedor Docker en tu máquina. Dentro de ese nodo, Kubernetes ejecuta tus Pods con su propio runtime de contenedores, así que hay dos capas de contenedores. Al principio puede resultar confuso, pero no afecta a cómo usas el clúster.

Confirma que kubectl puede llegar a él

kubectl cluster-info
kubectl get nodes

Deberías ver un nodo con el rol control-plane y estado Ready. Ese único nodo ejecuta tanto el plano de control como tus cargas de trabajo, que es exactamente el atajo de desarrollo local descrito en la guía de arquitectura.

Entiende el kubeconfig y los contextos

Para que kubectl hable con un clúster necesita la dirección del clúster y las credenciales. Las lee de un archivo kubeconfig, por defecto ~/.kube/config, y minikube start añade una entrada por ti. Cada entrada combina un clúster, un usuario y, opcionalmente, un namespace predeterminado en un contexto:

kubectl config get-contexts
kubectl config current-context
kubectl config use-context minikube

Comprueba el contexto actual antes de ejecutar nada destructivo. Si tu kubeconfig también contiene un clúster de staging o producción, el contexto actual decide a cuál llegan tus comandos.

Aprende los comandos del día a día

kubectl get pods                # lista los Pods del namespace actual
kubectl get pods -A             # lista los Pods de todos los namespaces
kubectl describe pod NAME       # detalles y eventos recientes de un Pod
kubectl logs NAME               # la salida de un contenedor
kubectl delete pod NAME         # elimina un Pod
kubectl api-resources           # todos los tipos de recurso que conoce el clúster
kubectl explain pod.spec        # referencia integrada de cualquier campo
kubectl get --help              # ayuda de cualquier comando

Conviene recordar kubectl explain: documenta cada campo de cada recurso, directamente desde la API del clúster, así que rara vez necesitas salir de la terminal para buscar un campo.

Cuando termines por hoy, minikube stop pausa el clúster y minikube delete lo elimina por completo.

Guías populares