deployment_update
Update Kubernetes deployments by modifying container images and scaling replicas across clusters using the k8s-pilot server.
Instructions
Update an existing Deployment in the specified namespace.
Args: context_name: The Kubernetes context name namespace: The Kubernetes namespace name: The Deployment name image: The new container image to update replicas: The new number of replicas
Returns: Status of the update operation
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| context_name | Yes | ||
| namespace | Yes | ||
| name | Yes | ||
| image | Yes | ||
| replicas | Yes |
Implementation Reference
- tools/deployment.py:85-107 (handler)The main handler function for the 'deployment_update' tool. It reads the existing deployment, updates the container image and replicas, then replaces the deployment using the Kubernetes API. Registered via @mcp.tool() decorator.@mcp.tool() @use_current_context @check_readonly_permission def deployment_update(context_name: str, namespace: str, name: str, image: str, replicas: int): """ Update an existing Deployment in the specified namespace. Args: context_name: The Kubernetes context name namespace: The Kubernetes namespace name: The Deployment name image: The new container image to update replicas: The new number of replicas Returns: Status of the update operation """ apps_v1: AppsV1Api = get_api_clients(context_name)["apps"] deployment = apps_v1.read_namespaced_deployment(name=name, namespace=namespace) deployment.spec.template.spec.containers[0].image = image deployment.spec.replicas = replicas updated_deployment = apps_v1.replace_namespaced_deployment(name=name, namespace=namespace, body=deployment) return {"name": updated_deployment.metadata.name, "status": "Updated"}