How to debug
Microservices on
Kubernetes as a pros
KAI CHU CHUNG
GDGCloud co-organizer
GDE(Cloud)
“How to debug Microservices
on Kubernetes as a pros”
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
1. Debug
2. Microservice
3. Kubernetes
Agenda
Debug
1. Local
2. Container
3. Cloud Debugger
Debug
Local (Golang)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
fmt.Fprintf(w, "hello devfest 2020 tw")
})
port := os.Getenv("PORT")
if port == "" {
port = "8080"
log.Printf("Defaulting to port %s", port)
}
log.Printf("Listening on port %s", port)
log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))
}
Local (Python)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello devfest 2020 tw'
if __name__ == '__main__':
app.debug = True
app.run()
Summary: Local
Containers allow you
to package your
application and its
dependencies together
into one succinct
manifest
What are Containers and their benefits | Google Cloud - https://cloud.google.com/containers
1. Dockerfile
2. buildpacks
Container
Dockerfile (Golang)
FROM golang:1.15 AS builder
WORKDIR /workspace
# Install dependencies in go.mod and go.sum
COPY go.mod go.sum ./
RUN go mod download
# Copy rest of the application source code
COPY . ./
# Compile the application to /app.
RUN go build -o /exe -v ./
FROM gcr.io/distroless/base:latest
COPY --from=builder /exe .
ENTRYPOINT ["/exe"]
Dockerfile (Golang debug)
FROM golang:1.15
# Download the dlv (delve) debugger for go
RUN go get -u -v github.com/go-delve/delve/cmd/dlv
WORKDIR /workspace
# Install dependencies in go.mod and go.sum
COPY go.mod go.sum ./
RUN go mod download
# Copy rest of the application source code
COPY . ./
RUN go build -o /exe -v ./
ENTRYPOINT ["dlv", "exec", "/app", "--continue", "--accept-multiclient", "--api-version=2",
"--headless", "--listen=:3000", "--log"]
container with known vulnerabilities
Source: The state of open source security report 2019 by snyt
44%
Google Cloud Next ’20 OnAir - https://cloud.withgoogle.com/next/sf/onair?session=SVR227#application-modernization
1. CNCF sandbox projects
2. suggest builders
a. Google
b. Heroku
c. Paketo Buildpacks
Buildpacks
Buildpacks Go Cloud Native | Heroku - https://blog.heroku.com/buildpacks-go-cloud-native
1. Open source.
2. Creates secure
container images.
3. Designed for
running on Cloud
Run, GKE, Anthos.
Buildpacks
GoogleCloudPlatform/buildpacks - https://github.com/GoogleCloudPlatform/buildpacks
● Google Cloud maintains a set of open source
buildpacks for building containers to run on
GKE, Anthos, & Cloud Run
● Cloud Build native support for buildpacks
● Cloud Run direct source deployments w/
buildpacks
● Cloud Shell has pack pre-installed. App Engine
builds via buildpacks
● Cloud Functions builds via buildpacks
● Cloud Code deploy to Cloud Run with Buildpacks
● Skaffold native support for buildpacks
Buildpacks on Google Cloud
pack build aa --builder gcr.io/buildpacks/builder:v1
dive index.docker.io/library/aa:latest
wagoodman/dive: A tool for exploring each layer in a docker image - https://github.com/wagoodman/dive
Summary: Container
debugger
debugger
one
container
one
container
Microservice
Microservices refers to an
architectural style for
developing applications.
Microservices allow a large
application to be decomposed
into independent constituent
parts, with each part having
its own realm of
responsibility
.
├── build
├── cmd
├── deployments
├── internal
│ ├── app
│ │ ├── authnsvc
│ │ ├── authzsvc
│ │ ├── docs
│ │ ├── emailsvc
│ │ ├── invitesvc
│ │ ├── mappingsvc
│ │ ├── oauthagentsvc
│ │ ├── organizationsvc
│ │ ├── person_attribute
│ │ ├── report_statistics
│ │ ├── reportsvc
│ │ ├── storesvc
│ │ ├── streamsvc
│ │ └── ws
│ └── pkg
├── pb
├── scripts
├── test
├── cloudbuild-build.yaml
├── cloudbuild-dev-deploy.yaml
├── cloudbuild-dev-meta.yaml
├── cloudbuild-helm.yaml
├── cloudbuild-release-helm.yaml
├── cloudbuild-release-meta.yaml
├── cloudbuild-test.yaml
├── cloudbuild.plantuml
├── makefile
└── skaffold.yaml
Service Language Description
frontend Go
Exposes an HTTP server to serve the website. Does
not require signup/login and generates session
IDs for all users automatically.
cartservice C#
Stores the items in the user's shopping cart in
Redis and retrieves it.
productcatalogservice Go
Provides the list of products from a JSON file and
ability to search products and get individual
products.
currencyservice Node.js
Converts one money amount to another currency.
Uses real values fetched from European Central
Bank. It's the highest QPS service.
paymentservice Node.js
Charges the given credit card info (mock) with
the given amount and returns a transaction ID.
shippingservice Go
Gives shipping cost estimates based on the
shopping cart. Ships items to the given address
(mock)
emailservice Python Sends users an order confirmation email (mock).
checkoutservice Go
Retrieves user cart, prepares order and
orchestrates the payment, shipping and the email
notification.
recommendationservice Python
Recommends other products based on what's given
in the cart.
adservice Java Provides text ads based on given context words.
loadgenerator Python/Locust
Continuously sends requests imitating realistic
user shopping flows to the frontend.
GoogleCloudPlatform/microservices-demo - https://github.com/GoogleCloudPlatform/microservices-demo
Kubernetes
Kubernetes is a portable,
extensible, open-source
platform for managing
containerized workloads and
services, that facilitates
both declarative configuration
and automation. It has a
large, rapidly growing
ecosystem. Kubernetes
services, support, and tools
are widely available.
1
2
3
4
5
6
Change code
Run docker build
Run docker push
Patch yaml
Run kubectl apply
Verify
Kubernetes Development workflow
Skaffold handles the workflow
for building, pushing and
deploying your application,
allowing you to focus on what
matters most: writing code
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
1. Go (runtime ID: go)
2. NodeJS (runtime ID: nodejs)
3. Java and JVM languages
(runtime ID: jvm)
4. Python (runtime ID: python)
5. .NET Core (runtime ID:
netcore)
Skaffold debug (beta)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Cloud Code comes with tools
to help you write, run, and
debug cloud-native
applications quickly and
easily.
Cloud Code | Google Cloud - https://cloud.google.com/code
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)
https://www.facebook.com/groups/GCPUG.TW

More Related Content

PDF
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
PDF
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
PDF
Gdg cloud taipei ddt meetup #53 buildpack
PDF
Google App Engine: Basic
PDF
Devfest 2021' - Artifact Registry Introduction (Taipei)
PDF
容器化後,持續交付不可缺的敲門磚 - Helm
PDF
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
PDF
Velero search & practice 20210609
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
Gdg cloud taipei ddt meetup #53 buildpack
Google App Engine: Basic
Devfest 2021' - Artifact Registry Introduction (Taipei)
容器化後,持續交付不可缺的敲門磚 - Helm
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源
Velero search & practice 20210609

What's hot (20)

PDF
Hiveminder - Everything but the Secret Sauce
PDF
PuppetConf 2016: Running Puppet Software in Docker Containers – Gareth Rushgr...
PDF
Rest, sockets em golang
PDF
Ship your Scala code often and easy with Docker
PDF
Continuous Integration & Continuous Delivery with GCP
PDF
GraphQL IN Golang
PDF
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
PDF
CI : the first_step: Auto Testing with CircleCI - (MOSG)
PDF
PuppetConf 2016: Docker, Mesos, Kubernetes and...Puppet? Don't Panic! – Deep...
PDF
開放運算&GPU技術研究班
PDF
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
PDF
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
PDF
Gradle Introduction
PDF
Introduction to Tekton
PDF
Google App Engine (GAE) 演進史
PPTX
Android presentation - Gradle ++
PDF
Managing dependencies with gradle
PPTX
Fabricio - Docker deploy automation
PDF
Continous delivery with sbt
PDF
Microservices on Kubernetes - The simple way
Hiveminder - Everything but the Secret Sauce
PuppetConf 2016: Running Puppet Software in Docker Containers – Gareth Rushgr...
Rest, sockets em golang
Ship your Scala code often and easy with Docker
Continuous Integration & Continuous Delivery with GCP
GraphQL IN Golang
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
CI : the first_step: Auto Testing with CircleCI - (MOSG)
PuppetConf 2016: Docker, Mesos, Kubernetes and...Puppet? Don't Panic! – Deep...
開放運算&GPU技術研究班
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle Introduction
Introduction to Tekton
Google App Engine (GAE) 演進史
Android presentation - Gradle ++
Managing dependencies with gradle
Fabricio - Docker deploy automation
Continous delivery with sbt
Microservices on Kubernetes - The simple way
Ad

Similar to Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008) (20)

PDF
Kubernetes best practices
PDF
Microservices with gRPC and Kubernetes
PDF
Microservices DevOps on Google Cloud Platform
PPTX
Microservices and Deployment Methodologies
PPTX
Cloud native buildpacks_collabnix
PPTX
Kubernetes is all you need
PPTX
Kubernetes 101
PPTX
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
PDF
AllTheTalks 2020: Buildpacks - container for everyone!
PDF
Making your app soar without a container manifest
PDF
Kubernetes for the PHP developer
PDF
Devops - Microservice and Kubernetes
PDF
Import golang; struct microservice - Codemotion Rome 2015
PDF
cadec-2017-golang
PDF
Buildpacks: the other way to build container images
PDF
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
PDF
Making cloud native deployments easy with Buildpack
PDF
WeCodeFest: kubernetes and google container engine codelab
PPT
A journey from monolith to micro services
Kubernetes best practices
Microservices with gRPC and Kubernetes
Microservices DevOps on Google Cloud Platform
Microservices and Deployment Methodologies
Cloud native buildpacks_collabnix
Kubernetes is all you need
Kubernetes 101
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
AllTheTalks 2020: Buildpacks - container for everyone!
Making your app soar without a container manifest
Kubernetes for the PHP developer
Devops - Microservice and Kubernetes
Import golang; struct microservice - Codemotion Rome 2015
cadec-2017-golang
Buildpacks: the other way to build container images
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Making cloud native deployments easy with Buildpack
WeCodeFest: kubernetes and google container engine codelab
A journey from monolith to micro services
Ad

More from KAI CHU CHUNG (17)

PDF
Devfest 2023 - Service Weaver Introduction - Taipei.pdf
PDF
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
PDF
DevFest 2022 - Cloud Workstation Introduction TaiChung
PDF
GDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
PDF
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...
PDF
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
PDF
Global GDG Leaders Summit, Google I/O 2018 經驗分享
PDF
Google apps script introduction
PDF
Screenshot as a service
PDF
Nas 也可以揀土豆
PDF
Django oscar introduction
PDF
Google apps script introduction
PDF
Gae managed vm introduction
PDF
Google app engine (gae) 演進史
PDF
痞客趴趴走 Waldo
PDF
Waldo-gcp
PDF
Introduction to chrome extension development
Devfest 2023 - Service Weaver Introduction - Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Cloud Workstation Introduction TaiChung
GDG Cloud Taipei: Meetup #52 - Istio Security: API Authorization
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
Global GDG Leaders Summit, Google I/O 2018 經驗分享
Google apps script introduction
Screenshot as a service
Nas 也可以揀土豆
Django oscar introduction
Google apps script introduction
Gae managed vm introduction
Google app engine (gae) 演進史
痞客趴趴走 Waldo
Waldo-gcp
Introduction to chrome extension development

Recently uploaded (20)

PDF
Human Computer Interaction Miterm Lesson
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PPTX
Internet of Everything -Basic concepts details
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
Human Computer Interaction Miterm Lesson
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Auditboard EB SOX Playbook 2023 edition.
Advancing precision in air quality forecasting through machine learning integ...
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Microsoft User Copilot Training Slide Deck
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
EIS-Webinar-Regulated-Industries-2025-08.pdf
A symptom-driven medical diagnosis support model based on machine learning te...
Rapid Prototyping: A lecture on prototyping techniques for interface design
Internet of Everything -Basic concepts details
Module 1 Introduction to Web Programming .pptx
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Build automations faster and more reliably with UiPath ScreenPlay
LMS bot: enhanced learning management systems for improved student learning e...
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf

Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (https://youtu.be/eseo0hcRaQI?t=11008)

  • 1. How to debug Microservices on Kubernetes as a pros KAI CHU CHUNG GDGCloud co-organizer GDE(Cloud)
  • 2. “How to debug Microservices on Kubernetes as a pros”
  • 5. 1. Debug 2. Microservice 3. Kubernetes Agenda
  • 7. 1. Local 2. Container 3. Cloud Debugger Debug
  • 8. Local (Golang) func main() { http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "hello devfest 2020 tw") }) port := os.Getenv("PORT") if port == "" { port = "8080" log.Printf("Defaulting to port %s", port) } log.Printf("Listening on port %s", port) log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil)) }
  • 9. Local (Python) from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'hello devfest 2020 tw' if __name__ == '__main__': app.debug = True app.run()
  • 11. Containers allow you to package your application and its dependencies together into one succinct manifest What are Containers and their benefits | Google Cloud - https://cloud.google.com/containers
  • 13. Dockerfile (Golang) FROM golang:1.15 AS builder WORKDIR /workspace # Install dependencies in go.mod and go.sum COPY go.mod go.sum ./ RUN go mod download # Copy rest of the application source code COPY . ./ # Compile the application to /app. RUN go build -o /exe -v ./ FROM gcr.io/distroless/base:latest COPY --from=builder /exe . ENTRYPOINT ["/exe"]
  • 14. Dockerfile (Golang debug) FROM golang:1.15 # Download the dlv (delve) debugger for go RUN go get -u -v github.com/go-delve/delve/cmd/dlv WORKDIR /workspace # Install dependencies in go.mod and go.sum COPY go.mod go.sum ./ RUN go mod download # Copy rest of the application source code COPY . ./ RUN go build -o /exe -v ./ ENTRYPOINT ["dlv", "exec", "/app", "--continue", "--accept-multiclient", "--api-version=2", "--headless", "--listen=:3000", "--log"]
  • 15. container with known vulnerabilities Source: The state of open source security report 2019 by snyt 44% Google Cloud Next ’20 OnAir - https://cloud.withgoogle.com/next/sf/onair?session=SVR227#application-modernization
  • 16. 1. CNCF sandbox projects 2. suggest builders a. Google b. Heroku c. Paketo Buildpacks Buildpacks
  • 17. Buildpacks Go Cloud Native | Heroku - https://blog.heroku.com/buildpacks-go-cloud-native
  • 18. 1. Open source. 2. Creates secure container images. 3. Designed for running on Cloud Run, GKE, Anthos. Buildpacks GoogleCloudPlatform/buildpacks - https://github.com/GoogleCloudPlatform/buildpacks
  • 19. ● Google Cloud maintains a set of open source buildpacks for building containers to run on GKE, Anthos, & Cloud Run ● Cloud Build native support for buildpacks ● Cloud Run direct source deployments w/ buildpacks ● Cloud Shell has pack pre-installed. App Engine builds via buildpacks ● Cloud Functions builds via buildpacks ● Cloud Code deploy to Cloud Run with Buildpacks ● Skaffold native support for buildpacks Buildpacks on Google Cloud
  • 20. pack build aa --builder gcr.io/buildpacks/builder:v1
  • 21. dive index.docker.io/library/aa:latest wagoodman/dive: A tool for exploring each layer in a docker image - https://github.com/wagoodman/dive
  • 24. Microservices refers to an architectural style for developing applications. Microservices allow a large application to be decomposed into independent constituent parts, with each part having its own realm of responsibility
  • 25. . ├── build ├── cmd ├── deployments ├── internal │ ├── app │ │ ├── authnsvc │ │ ├── authzsvc │ │ ├── docs │ │ ├── emailsvc │ │ ├── invitesvc │ │ ├── mappingsvc │ │ ├── oauthagentsvc │ │ ├── organizationsvc │ │ ├── person_attribute │ │ ├── report_statistics │ │ ├── reportsvc │ │ ├── storesvc │ │ ├── streamsvc │ │ └── ws │ └── pkg ├── pb ├── scripts ├── test ├── cloudbuild-build.yaml ├── cloudbuild-dev-deploy.yaml ├── cloudbuild-dev-meta.yaml ├── cloudbuild-helm.yaml ├── cloudbuild-release-helm.yaml ├── cloudbuild-release-meta.yaml ├── cloudbuild-test.yaml ├── cloudbuild.plantuml ├── makefile └── skaffold.yaml
  • 26. Service Language Description frontend Go Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. cartservice C# Stores the items in the user's shopping cart in Redis and retrieves it. productcatalogservice Go Provides the list of products from a JSON file and ability to search products and get individual products. currencyservice Node.js Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. paymentservice Node.js Charges the given credit card info (mock) with the given amount and returns a transaction ID. shippingservice Go Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock) emailservice Python Sends users an order confirmation email (mock). checkoutservice Go Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. recommendationservice Python Recommends other products based on what's given in the cart. adservice Java Provides text ads based on given context words. loadgenerator Python/Locust Continuously sends requests imitating realistic user shopping flows to the frontend. GoogleCloudPlatform/microservices-demo - https://github.com/GoogleCloudPlatform/microservices-demo
  • 28. Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
  • 29. 1 2 3 4 5 6 Change code Run docker build Run docker push Patch yaml Run kubectl apply Verify Kubernetes Development workflow
  • 30. Skaffold handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code
  • 32. 1. Go (runtime ID: go) 2. NodeJS (runtime ID: nodejs) 3. Java and JVM languages (runtime ID: jvm) 4. Python (runtime ID: python) 5. .NET Core (runtime ID: netcore) Skaffold debug (beta)
  • 34. Cloud Code comes with tools to help you write, run, and debug cloud-native applications quickly and easily.
  • 35. Cloud Code | Google Cloud - https://cloud.google.com/code