Crear un grupo de nodos y desplegar cargas de trabajo en Kubernetes con NodeSelector en Google Kubernetes Engine (GKE)

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.
Comentarios