Al trabajar con Google Kubernetes Engine GKE es habitual querer controlar en qué nodos se ejecutan las cargas de trabajo. Para ello se usan los Node Pools y los Node Selectors. En este artículo práctico explico cómo crear un Node Pool en GKE, desplegar un Deployment que use un NodeSelector y verificar la colocación de los Pods, además de limpiar los recursos cuando ya no se necesiten. También comparto cómo Q2BSTUDIO puede ayudar en proyectos que requieren aplicaciones a medida, seguridad y servicios cloud.
Sobre Q2BSTUDIO Somos una empresa de desarrollo de software y aplicaciones a medida especialistas en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos soluciones integrales que incluyen desarrollos a medida, automatización y analítica avanzada con Power BI. Si buscas desarrollar una app personalizada visita nuestro servicio de desarrollo de aplicaciones y software a medida y para proyectos de IA y agentes inteligentes consulta nuestra oferta de inteligencia artificial para empresas.
Paso 1 Resumen de pasos realizaremos tres acciones Crear un Node Pool en GKE Desplegar un Deployment de Kubernetes con nodeSelector Verificar la colocación de Pods y limpiar recursos al final
Paso 2 Crear un Node Pool Primero consulta los Node Pools existentes con el comando span gcloud container node-pools list --cluster standard-public-cluster-1 --location us-central1 span Luego crea un Node Pool para workloads Linux usando VMs spot por ejemplo span gcloud container node-pools create linuxapps-nodepool --cluster standard-public-cluster-1 --machine-type e2-small --disk-size 20 --num-nodes 1 --location us-central1 --spot span y confirma la creación listando de nuevo los node pools con el mismo comando de list.
Paso 3 Definir un Deployment con NodeSelector En el Deployment debes añadir en spec.template.spec la clave nodeSelector donde el selector apunta al nombre del node pool en GKE por ejemplo cloud.google.com/gke-nodepool linuxapps-nodepool Esto fuerza a que los Pods solo se programen en los nodos del node pool linuxapps-nodepool. También crea un Service de tipo LoadBalancer para exponer la aplicación.
Paso 4 Desplegar y verificar Aplica los manifiestos de Kubernetes con los comandos span kubectl apply -f kube-manifests/01-kubernetes-deployment.yaml y kubectl apply -f kube-manifests/02-kubernetes-loadbalancer-service.yaml span Verifica que los Pods estén en los nodos correctos con span kubectl get pods -o wide span Deberías ver que los Pods están programados en nodos pertenecientes a linuxapps-nodepool. Obtén la IP externa del servicio con span kubectl get svc span y prueba la aplicación abriendo la IP externa en el navegador o mediante curl.
Paso 5 Limpieza Cuando termines elimina los recursos de Kubernetes con span kubectl delete -f kube-manifests/ span Si ya no necesitas el node pool elimínalo con span gcloud container node-pools delete linuxapps-nodepool --cluster standard-public-cluster-1 --location us-central1 span Ten en cuenta que puedes conservar el node pool si lo vas a reutilizar para otros demos o para DaemonSets.
Recapitulación Los Node Pools te permiten agrupar nodos con distintas características dentro de un mismo clúster GKE y los Node Selectors garantizan que los Pods se programen únicamente en los nodos que tú decidas. Esta combinación proporciona control fino sobre el placement de cargas de trabajo, optimizando costes y cumplimiento de requisitos operativos.
Por qué elegir Q2BSTUDIO Si necesitas soporte para arquitecturas en la nube, integración de inteligencia artificial en tus aplicaciones a medida, o refuerzo en ciberseguridad y pentesting, en Q2BSTUDIO desarrollamos soluciones completas desde la fase de diseño hasta la puesta en producción. Trabajamos con servicios cloud como AWS y Azure y ofrecemos capacidades de inteligencia de negocio y Power BI para explotar los datos de tus aplicaciones y mejorar la toma de decisiones. Entre nuestras áreas clave se incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.
Si te ha resultado útil este artículo comparte y contacta con nuestro equipo para proyectos personalizados y consultoría avanzada en DevOps, Kubernetes y seguridad en la nube.