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

Debugging & Troubleshooting Microservices in Kubernetes & Stackdriver

Debugging & Troubleshooting Microservices in Kubernetes & Stackdriver

It’s easier than ever to be able to deploy and manage microservices architecture with container and contain orchestration tool like Kubernetes. However, debugging multiple microservices across network boundaries is hard. Trying to what’s going on in a production microservices deployment at scale is impossible without proper tools! Google has spent over a decade deploying containerized Java applications at unprecedented scale. During that time Google has built an ecosystem of infrastructure and tools to manage, troubleshoot, and debug, at scale. These tools were originally used to diagnose problems with software running on Borg. With Google Cloud Platform we’re bringing some of the best kept internal technology to developers all over the world. In this session, we’ll deploy and scale Java microservices in Kubernetes, walk through common troubleshooting techniques with logs, shell access, isolating troubled containers, and also connecting to specific containers via port forwarding.

Beyond the basic tools, we’ll see how easy production diagnostic we can enjoy with Stackdriver and Google Cloud Platform, including capturing traces & logs without managing your own infrastructure, and live debugging and injecting log messages without needing to rewrite nor redeploy your code!

Ray Tsang

May 08, 2017
Tweet

More Decks by Ray Tsang

Other Decks in Technology

Transcript

  1. @saturnism @googlecloud Pod frontend Pod serving = true version =

    1.0 Pod serving = true version = 1.0 Service Label selectors: version = 1.0 serving = true Pod serving = true version = 1.0
  2. @saturnism @googlecloud Pod frontend Pod serving = true version =

    1.0 Pod serving = true version = 1.0 Service Label selectors: version = 1.0 serving = true Pod serving = false version = 1.0
  3. @saturnism @googlecloud Logpoint - dynamically add log messages! No redeployment,

    Magic. gcloud debug logpoints create HelloworldService.java:35 \ "Received endpoint: {endpoint}/{name}" --target helloworld-ui-1.0-SNAPSHOT
  4. @saturnism @googlecloud Trace → Stackdriver Trace Logs → Stackdriver Logging

    Debug → Stackdriver Debugger https://cloud.google.com/stackdriver/