Skip to main content
Glama

drain-node

Drain a Kubernetes node for maintenance by safely evicting pods, with options to force drain or ignore DaemonSets.

Instructions

Drain a node for maintenance

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeYesThe name of the node to drain
forceNoForce drain even if there are unmanaged pods
ignore_daemonsetsNoIgnore DaemonSet pods during drain

Implementation Reference

  • Executes the drain-node tool by running the 'kubectl drain' command with optional force and ignore-daemonsets flags, returning the command output.
    case "drain-node": { const { node, force = false, ignore_daemonsets = true } = args; const forceArg = force ? "--force" : ""; const ignoreArg = ignore_daemonsets ? "--ignore-daemonsets" : ""; const cmd = `kubectl drain ${node} ${forceArg} ${ignoreArg} --delete-emptydir-data`; const { stdout } = await execAsync(cmd); return { content: [{ type: "text", text: stdout || `Node ${node} drained successfully` }] }; }
  • Tool definition including name, description, and input schema for the drain-node tool, used for registration and validation.
    name: "drain-node", description: "Drain a node for maintenance", inputSchema: { type: "object", properties: { node: { type: "string", description: "The name of the node to drain" }, force: { type: "boolean", description: "Force drain even if there are unmanaged pods" }, ignore_daemonsets: { type: "boolean", description: "Ignore DaemonSet pods during drain" } }, required: ["node"] } },
  • server.js:1392-1394 (registration)
    Registers the list of all tools, including drain-node, for the ListToolsRequest.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });

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/thekaranpargaie/kube-mcp'

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