Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KubeCon NA 2026: From Laptop to Cluster: The Ag...

Kevin Dubois
November 12, 2026
7

KubeCon NA 2026: From Laptop to Cluster: The Agentic AI Inner Loop

Kevin Dubois

November 12, 2026

Transcript

18 slides
  1. #KubeCon #CloudNativeCon From laptop to cluster The agentic AI inner

    loop on Kubernetes Kevin Dubois Sr Principal Developer Advocate, IBM
  2. “It works on my machine” Escalating costs 40%+ of agentic

    AI projects Inference, tokens and infrastructure Unclear business value Demos that never reach a real user canceled by the end of 2027 Inadequate risk controls No permissions, audit or rollback Gartner, June 2025
  3. Today’s demo app RACE DASHBOARD PHONE PREVIEW WebSocket Tap /

    shake Streams Kafka WebSocket Race state Dashboard
  4. Are MCP and A2A the new REST? REST MCP A2A

    Your agent Another service A tool server Another team's agent
  5. MCP & A2A servers are just code race / RaceTools.java

    public class RaceTools { 1 1 A regular class No base class to implement @McpServer(McpServer.DEFAULT) @McpServer("admin") @Tool(name = "get_race_state", description = "The current race: status, teams, distances") 2 The contract 2 What the model reads RaceState getRaceState() { return race.state(); } 3 @McpServer("admin") @Tool(name = "boost_team", description = "Secretly boosts or sabotages a team") Uni<String> boostTeam(int team, Double multiplier) { return game.sendModifier(team, multiplier); } } Guarded 3 Admin path checks token and role
  6. Not every API deserves an MCP tool RAW OPENAPI →

    MCP 18 tools RESHAPR CUSTOM TOOL 3,848 tokens 1 tool 734 tokens Race summary Race state Returns Read Read in parallel Leaderboard 81% fewer tokens get_race_momentum Build race summary reshapr.io Leader and gap Team activity Top 3 players
  7. A2A specialists RUNTIME CONNECTIONS 1 Supervisor Game @SupervisorAgent( MCP snapshots

    race://current Race director race-ops supervisor responseStrategy = SupervisorResponseStrategy.LAST, 1 A2A subAgents = { AnalystA2AAgent.class, CreativeA2AAgent.class}) 2 Analyst Creative Snapshot diagnosis 2 Next-heat theme Analyst A2A client @A2AClientAgent( name = "Race Analyst", BOOST EXECUTION outputKey = "engagement") ResultWithAgenticScope<String> analyze( AnalysisRequest analysisRequest); MCP Human approval Game admin /admin/mcp
  8. Running and testing the app locally Local workflow START DEV

    MODE $ quarkus dev RUN TESTS $ ./mvnw test Live reload Edit code, refresh the app Dev Services Managed local dependencies Dev UI
  9. Evals: change the model without breaking the app PROMPT “Boost

    the team in last place” current model boost_team(team=2, multiplier=1.5, seconds=10) candidate model boost_team(team=2, multiplier=3, seconds=10)
  10. Pretty much just like any other app Build once Laptop

    Deploy Same image Kubernetes OPENAI_BASE_URL http://localhost:11434/v1 OPENAI_BASE_URL http://models.vllm.svc/v1 OPENAI_MODEL granite4 OPENAI_MODEL granite4 OPENAI_API_KEY unused OPENAI_API_KEY from a secret / token
  11. Kubernetes does the rest Probes Metrics Kubernetes Startup, readiness, liveness

    To configure in this deployment MCP latency and errors Probe Scrape Input / output token counts Race ops Director + A2A clients Deployment Rollout and replica count CPU and memory limits Reconcile 1 replica Health gauge: last game call Inject Secrets + identity Model key Agents use SPIFFE identities
  12. The cluster issues the agent's identity ISSUED BY Race ops

    SPIFFE JWT-SVID Keycloak OIDC provider SPIFFE X.509 SVID LIFETIME 5 min Renewed every 60 seconds, mid-race included * SPIFFE client authentication is still a preview in Keycloak Analyst + Creative A2A over mTLS LIFETIME 1 hour
  13. Live testing Join the race Scan to join Pick a

    team Salty Pods Spicy Sidecars Tap or shake
  14. AI is just another integration* * just a little more

    unpredictable than others AI Configuration Identity Observability Permissions Schemas Transactions Don’t reinvent the wheel
  15. Thank you Kevin Dubois Sr Principal Developer Advocate, IBM THE

    DEMO github.com/redhat-developer-demos/quinoa-wind-turbine github.com/kdubois linkedin.com/in/kevindubois feedback please? :) MORE quarkus.io/ai, docs.quarkiverse.io/quarkus-langchain4j modelcontextprotocol.io, a2a-protocol.org, reshapr.io

More Decks by Kevin Dubois