¿Cómo acceder a los recursos en Kubernetes con Kubectl?
Cuando trabajamos con Kubernetes, el comando Kubectl es nuestra puerta de entrada para interactuar con los recursos. Para comenzar, es fundamental ver cómo acceder a los pods:
Obtener Pods: ejecuta Kubectl get pods. Si no especificas un name space, se utilizará el name space por defecto.
Ahora, ¿qué sabemos sobre los name spaces?
Validar Name Spaces: usa Kubectl get namespaces para ver los espacios de nombre existentes, que incluyen default, kube-node-lease, kube-public, y kube-system.
Estos name spaces, especialmente los que empiezan con kube, son para uso interno de Kubernetes. Pero, si deseas crear nuevos name spaces:
Crear Name Space: implementa create namespace <nombre> o su forma corta create ns <nombre>.
¿Cómo gestionar pods eficientemente?
Al trabajar con pods, se manejan dos enfoques: imperativo y declarativo. Dichos enfoques ofrecen diferentes formas para crear y gestionar pods, y queremos compartir algunos ejemplos.
Enfoque imperativo con Kubectl
Para ilustrar la creación de pods de forma imperativa, utilizaremos comandos de la CLI (Interfaz de Línea de Comandos):
kubectl run nginx --image=nginx --restart=Never--port=80
Al ejecutar esto, Kubernetes asume varios parámetros por defecto, como dirección IP y el ID del contenedor. Posteriormente, validamos con:
Describir un Pod:Kubectl describe pod <nombre_del_pod>. Aquí verás condiciones y estados del pod.
Enfoque declarativo con archivos YAML
Kubernetes también se puede manejar declarativamente con archivos YAML que detallan configuraciones específicas. Estos archivos son especialmente útiles para la automatización y la gestión de infraestructura como código.
¿Cómo escalar aplicaciones con réplica sets?
A medida que intentes escalar aplicaciones, los replica sets entran en juego. Estos se encargan de gestionar múltiples instancias de pods.
Creación de un replica set
Para crear un replica set, utiliza un archivo YAML con la siguiente estructura:
Esto redirecciona el tráfico al puerto 8080 del deployment, permitiéndote verificar en el navegador con localhost:8080.
Invito a todos a compartir qué les ha parecido este flujo de trabajo con Kubernetes y cómo podrían incorporarlo en sus proyectos futuros. Estos conocimientos son solo el comienzo para dominar el despliegue y gestión de aplicaciones en la nube.