Skip to main content
Glama

resize_node_pool

Adjust the node count in a GKE cluster's node pool by specifying the project, cluster, location, node pool, and desired node count.

Instructions

Resize a node pool in a GKE cluster. Args: project_id: The ID of the GCP project cluster_name: The name of the GKE cluster location: The location (region or zone) of the cluster node_pool_name: The name of the node pool to resize node_count: The new node count for the pool Returns: Result of the node pool resize operation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cluster_nameYes
locationYes
node_countYes
node_pool_nameYes
project_idYes

Implementation Reference

  • The resize_node_pool tool handler. Decorated with @mcp.tool() for registration. Uses Google Cloud Container_v1 client to get node pool details, check autoscaling, and initiate resize operation via set_node_pool_size.
    @mcp.tool() def resize_node_pool(project_id: str, cluster_name: str, location: str, node_pool_name: str, node_count: int) -> str: """ Resize a node pool in a GKE cluster. Args: project_id: The ID of the GCP project cluster_name: The name of the GKE cluster location: The location (region or zone) of the cluster node_pool_name: The name of the node pool to resize node_count: The new node count for the pool Returns: Result of the node pool resize operation """ try: from google.cloud import container_v1 # Initialize the GKE client client = container_v1.ClusterManagerClient() # Create the node pool path node_pool_path = f"projects/{project_id}/locations/{location}/clusters/{cluster_name}/nodePools/{node_pool_name}" # Get the current node pool node_pool = client.get_node_pool(name=node_pool_path) current_node_count = node_pool.initial_node_count # Check if autoscaling is enabled if node_pool.autoscaling and node_pool.autoscaling.enabled: return f""" Cannot resize node pool {node_pool_name} because autoscaling is enabled. To manually set the node count, you must first disable autoscaling for this node pool. Current autoscaling settings: - Min nodes: {node_pool.autoscaling.min_node_count} - Max nodes: {node_pool.autoscaling.max_node_count} """ # Resize the node pool request = container_v1.SetNodePoolSizeRequest( name=node_pool_path, node_count=node_count ) operation = client.set_node_pool_size(request=request) return f""" Node pool resize operation initiated: - Cluster: {cluster_name} - Location: {location} - Node Pool: {node_pool_name} - Current Node Count: {current_node_count} - New Node Count: {node_count} Operation ID: {operation.name} Status: {operation.status.name if hasattr(operation.status, 'name') else operation.status} """ except Exception as e: return f"Error resizing node pool: {str(e)}"
  • Invocation of register_tools for kubernetes module, which registers the resize_node_pool tool (and others) to the FastMCP server instance.
    kubernetes_tools.register_tools(mcp)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/henihaddad/gcp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server