| name | worker-k8s |
| description | K3S cluster configuration, kubectl patterns, and registry information |
| disable-model-invocation | true |
Worker K8S Knowledge
K3S Cluster
Cluster Info
- Type: K3S (single-node Kubernetes)
- Namespaces: flowmaster, flowmaster-test, flowmaster-dev, databases-test (query commander-mcp for current list)
Access Pattern
Always SSH first, then run kubectl on the remote server:
ssh dev-01-root "kubectl -n flowmaster get pods"
ssh dev-01-root "kubectl -n flowmaster describe pod <pod-name>"
Local Docker Registry
Registry Details
- URL: localhost:30500 (accessible from the server only)
- Type: K3S NodePort registry
- Authentication: None (private network)
Image Build and Push Workflow
docker build --platform linux/amd64 -t localhost:30500/flowmaster/<name>:<tag> .
docker push localhost:30500/flowmaster/<name>:<tag>
kubectl set image -n flowmaster deploy/<name> <name>=localhost:30500/flowmaster/<name>:<tag>
Kubectl Common Commands
Pod Management
ssh dev-01-root "kubectl -n flowmaster get pods"
ssh dev-01-root "kubectl describe pod -n flowmaster <pod-name>"
ssh dev-01-root "kubectl logs -n flowmaster deploy/<service> --tail=50"
ssh dev-01-root "kubectl logs -n flowmaster <pod-name> --tail=100"
Deployment Management
ssh dev-01-root "kubectl -n flowmaster get deploy"
ssh dev-01-root "kubectl set image -n flowmaster deploy/<name> <name>=localhost:30500/flowmaster/<name>:<tag>"
ssh dev-01-root "kubectl rollout restart -n flowmaster deploy/<name>"
ssh dev-01-root "kubectl -n flowmaster describe deploy <name>"
ConfigMaps
ssh dev-01-root "kubectl get cm -n flowmaster"
ssh dev-01-root "kubectl get cm gateway-config -n flowmaster -o yaml"
ssh dev-01-root "kubectl edit cm gateway-config -n flowmaster"
Service Discovery
ssh dev-01-root "kubectl -n flowmaster get svc"
ssh dev-01-root "kubectl -n flowmaster get endpoints"
Health Checks
Via kubectl exec
ssh dev-01-root "kubectl exec -n flowmaster deploy/<name> -- wget -qO- http://localhost:<port>/health"
Common Health Endpoints
- Most services:
/health
- API Gateway:
/health
- WebSocket Gateway:
/health
ClusterIP Endpoints
WARNING: ClusterIPs are dynamic and will change if services are recreated. Always look them up live:
ssh dev-01-root "kubectl -n flowmaster get svc"
These are used in Nginx config: /etc/nginx/sites-enabled/flowmaster
Image Pull Policy
- All K3S deployments have
imagePullPolicy: Always
- This ensures latest image from registry is always pulled
- Requires local registry or external registry to be available
Key Facts
- All kubectl commands must be run via SSH on the server
- Local registry (localhost:30500) is K3S NodePort
- ClusterIP endpoints are dynamic (look them up live, document if services are recreated)
- Always use
-n flowmaster namespace for production services
For live server IPs, namespaces, and ClusterIPs, use commander-mcp: get_context_servers, get_context_services