Curso de Google Associate Cloud Engineer Certification

Comandos kubectl para administrar GKE

Curso de Google Associate Cloud Engineer Certification

Contenido del curso

Comandos kubectl para administrar GKE

Resumen

Administrar un clúster con kubectl es la habilidad central para cualquiera que trabaje con Google Kubernetes Engine. Aquí encuentras los comandos clave de kubectl, cuándo usarlos y cómo conectarte a tu clúster desde la Cloud Shell o tu máquina local, sin perderte entre tantas opciones.

¿Qué es kubectl y cómo se conecta a un clúster?

Kubectl es la línea de comandos oficial para administrar clústeres de Kubernetes. Funciona como un modelo cliente-servidor: tú ejecutas comandos desde tu máquina o desde Cloud Shell, y ese cliente apunta al clúster remoto sin que tengas que conectarte por SSH a ningún servidor [00:36].

Esto significa que puedes administrar varios clústeres ubicados en distintas regiones o proveedores desde un único punto. Y aquí viene lo interesante: si recién empiezas, Google Cloud Shell ya trae kubectl preinstalado, así que no necesitas configurar nada [00:55].

¿Necesito instalar kubectl si uso Cloud Shell? No. Cloud Shell incluye kubectl y todas sus dependencias listas para usar. Solo necesitas instalarlo localmente si prefieres trabajar desde tu propia máquina.

¿Cómo me conecto a un clúster de GKE?

Dentro de Google Cloud, selecciona tu proyecto, entra al menú de Kubernetes, elige clústeres y haz clic en el clúster que quieras administrar. Luego, en los tres puntos de la derecha, presiona conectar [02:14].

Vas a ver dos opciones:

  • Copiar el comando para ejecutarlo en local.
  • Ejecutarlo directamente en Cloud Shell con un botón.

Con eso ya estás conectado y listo para lanzar comandos.

¿Qué comandos kubectl uso para revisar el estado del clúster?

Los primeros comandos que vas a usar todos los días son los que te muestran qué hay corriendo. Son tu radar dentro del clúster.

  • kubectl get nodes: lista los nodos que sostienen tu clúster.
  • kubectl get pods: muestra los pods activos.
  • kubectl get deployments: lista los deployments configurados.
  • kubectl get service: muestra los servicios corriendo actualmente.
  • kubectl cluster-info: te da una vista general del estado del clúster completo [03:12].

Estos comandos no modifican nada, solo informan. Son perfectos para empezar a familiarizarte sin miedo a romper algo.

¿Cómo administro recursos con kubectl apply y delete?

Cuando ya quieres crear o eliminar componentes, entran los comandos de administración. El más usado es kubectl apply -f seguido del nombre de un archivo YAML: implementa todo lo que esté descrito en ese fichero sobre el clúster [03:45].

Para hacer lo contrario usas kubectl delete -f, que elimina del clúster los componentes definidos en ese mismo archivo.

Luego está kubectl scale deployment, que ajusta el número de réplicas, es decir, cuántos pods mínimos deben existir asociados a un deployment específico. Si no recuerdas qué son pods o deployments, conviene revisar la clase anterior sobre conceptos de Kubernetes.

¿Cuándo uso edit deployment y rollout restart?

kubectl edit deployment te deja modificar por línea de comandos el contenido de un deployment: cambiar labels, actualizar la imagen del contenedor, ajustar configuraciones [04:35]. Si te sientes más cómodo, también puedes editar el archivo .yaml en local y volver a aplicarlo con kubectl apply -f.

kubectl rollout restart le indica a un deployment que reinicie todos sus pods asociados. Es útil cuando necesitas que la imagen recargue configuraciones que solo se aplican al iniciar el contenedor [05:00].

¿Cómo hago debugging de pods con kubectl?

Cuando algo falla, necesitas comandos que te muestren qué está pasando dentro. Aquí es donde kubectl brilla como herramienta de inspección.

  • kubectl describe pod: entrega toda la información asociada a un pod y los eventos que ha registrado.
  • kubectl logs: imprime los registros generados por un pod específico.
  • kubectl exec -it: te conecta directamente al pod como si fuera una máquina virtual, ideal cuando necesitas revisar archivos o procesos por dentro.
  • kubectl top pod: muestra el consumo de recursos del pod, como RAM y CPU virtual, similar al top de Linux.
  • kubectl events: lista los eventos del clúster completo, donde suelen aparecer errores que ayudan a resolver incidentes [06:15].

¿Qué hace kubectl exec -it? Te abre una sesión interactiva dentro del pod, como si entraras a una máquina virtual. Sirve para revisar archivos, procesos o configuraciones cuando algo no responde bien.

En la práctica, kubectl exec -it termina siendo uno de esos comandos que ejecutas en automático varias veces al día.

¿Existen interfaces gráficas para Kubernetes?

Sí, y son un alivio si la línea de comandos te abruma. Aunque no son productos de Google, las dos más populares son Rancher y Lens [07:30]. Ambas se conectan a tu clúster y te dan una vista visual de pods, deployments, servicios y métricas.

No reemplazan a kubectl, pero ayudan a entender qué está pasando mientras te acostumbras a los comandos.

¿Rancher y Lens son de Google? No. Son herramientas externas, pero funcionan con cualquier clúster de Kubernetes, incluido GKE. Las usas como complemento visual a kubectl.

A medida que practiques, vas a notar que estos comandos se vuelven mecánicos. ¿Cuál fue el primer comando de kubectl que te costó memorizar? Cuéntalo en los comentarios.