Integrations

Kubernetes

Pod management, deployment scaling, and service orchestration

The Kubernetes connector provides 30 actions for managing pods, deployments, services, and cluster resources.

Setup

Connect via Kubeconfig

  1. Go to Settings → Integrations → Kubernetes
  2. Click Connect
  3. Upload your kubeconfig file or paste contents
  4. Select the cluster context
  5. Choose namespaces to access
  6. Test connection and save

Connect via Service Account

  1. Create a ServiceAccount in your cluster
  2. Bind appropriate RBAC roles
  3. Extract the token and CA certificate
  4. Enter cluster URL, token, and CA in Keva

RBAC Requirements

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: keva-support
rules:
  - apiGroups: ["", "apps"]
    resources: ["pods", "deployments", "services"]
    verbs: ["get", "list", "watch", "update", "patch"]
  - apiGroups: [""]
    resources: ["pods/log"]
    verbs: ["get"]

Available Actions (30)

Pods

ActionDescription
List podsGet pods in namespace
Get podPod details and status
Get pod logsContainer output
Delete podRemove pod (triggers restart)
Exec commandRun command in pod

Deployments

ActionDescription
List deploymentsGet all deployments
Get deploymentDeployment details
Scale deploymentAdjust replica count
Restart deploymentRolling restart
Update imageChange container image
Rollback deploymentRevert to previous

Services

ActionDescription
List servicesGet all services
Get serviceService details
Get endpointsService endpoints

ConfigMaps & Secrets

ActionDescription
List configmapsGet config maps
Get configmapConfig values
Update configmapModify config
List secretsGet secret names

Cluster

ActionDescription
List namespacesGet all namespaces
List nodesCluster nodes
Get nodeNode details and capacity
Get eventsCluster events

Use Cases

Pod Crash Loop

Customer: "Our payment service keeps restarting"

AI:
1. Calls get_pod(payment-service-xyz)
2. Sees: restartCount=15, CrashLoopBackOff
3. Calls get_pod_logs(previous: true)
4. Reports: "DB connection timeout"
5. Checks DB service is running

Scale for Traffic

Customer: "Expecting high traffic, scale up API"

AI:
1. Calls get_deployment(api-deployment)
2. Current: 3 replicas
3. Calls scale_deployment(replicas: 10)
4. Reports: "Scaled to 10 replicas"

Deploy New Version

Customer: "Roll out v2.5 of the web app"

AI:
1. Calls update_image(web-deploy, image:v2.5)
2. Monitors rollout status
3. Reports: "Rollout complete, all pods healthy"
4. Watches for errors, ready to rollback

Configuration

  • Cluster access: Kubeconfig or service account
  • Namespace scope: Which namespaces AI can access
  • Write permissions: Enable scale/restart operations
  • Secret access: Allow reading secret names (not values)